Benjamin Herrenschmidt wrote:
On Thu, 2007-09-27 at 03:49 -0400, Jeff Garzik wrote:
Benjamin Herrenschmidt wrote:
On Thu, 2007-09-27 at 03:31 -0400, Jeff Garzik wrote:
A key problem I was hoping would be solved with your work here was
the elimination of that post dma_map_sg() split.

If I understood James and Ben correctly, one of the key problems was always in communicating libata's segment boundary needs to the IOMMU
layers?
Yup. If we can put some constraint in struct device that the dma mapping
code can then look at ... we also need to ensure that what's passed in
for DMA'ing already matches those constraints as well since no-iommu
platforms will basically just keep the dma table as-is.
That's a good point... no-iommu platforms would need to be updated to do the split for me. I suppose we can steal that code from swiotlb or somewhere.

Doing the split means being able to grow the sglist... which the dma_*
calls can't do at least not in their current form.

IMO one straightforward approach is for the struct scatterlist owner to provide a table large enough to accomodate the possible splits (perhaps along with communicate that table's max size to the IOMMU/dma layers).

        Jeff


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to