On Tue, Jan 08, 2008 at 10:34:22AM +1100, Benjamin Herrenschmidt wrote: > powerpc: Workaround for iommu page alignment > > 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. > > Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]> > --- > > And this version actually does what the comment says (I had forgotten > to quilt ref... a common mistake).
And sloppy of me to not catch it. Anyway: Acked-by: Olof Johansson <[EMAIL PROTECTED]> I wonder how long until there's a device that has some other < PAGE_SIZE alignment bug^Wrequirement that we'll need to meet too. :( -Olof -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/