On Tue, 2008-01-08 at 08:45 +1100, Benjamin Herrenschmidt wrote: > Our iommu page size is currently always 4K. That means with our current > code, drivers may do a dma_map_sg() of a 64K page and obtain a dma_addr_t > that is only 4K aligned. > > This works fine in most cases except some infiniband HW it seems, where > they tell the HW about the page size and it ignores the low bits of the > DMA address. > > This works around it by making our IOMMU code enforce a PAGE_SIZE alignment > for mappings of objects that are page aligned in the first place and whose > size is larger or equal to a page. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I don't see in the code where you implement the "size > PAGE_SIZE" condition. But I only just got back from holidays .. :) cheers -- Michael Ellerman OzLabs, IBM Australia Development Lab wwweb: http://michael.ellerman.id.au phone: +61 2 6212 1183 (tie line 70 21183) We do not inherit the earth from our ancestors, we borrow it from our children. - S.M.A.R.T Person
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev