On Tue, 2007-05-15 at 12:57 +0100, Christoph Hellwig wrote: > On Tue, May 15, 2007 at 06:54:16AM -0500, James Bottomley wrote: > > Er ... I really hope not ... that's exactly how the parisc iommu > > platform code works ... and why I designed the generic dma mapping this > > way. The key thing parisc needed was the ability to walk up different > > busses until it found the iommu (for example the pci bus -> dino -> GSC > > -> IOMMU) which it does by traversing the dev->parent; However, I didn't > > mandate working this way for other architectures. > > Well, the NACK was not for the implementation details but rather the > exported and documented interface. IIRC the rationale was that Dave wants > to keep the sparc implementation super-optimized and avoid indirection. Well, actually, I do understand that. How about the weaker requirement that you be able to call the dma_ functions on any dev (provided it's properly parented) and leave the implementation up to the platform? > If it was up to me I'd have something like the parisc implementation in > generic code. It might make sense to put it in lib ... however, I don't think many architectures have the problems we have ... specifically certain boxes can have >1 IOMMU, then you really have to know *which* iommu you're programming. James - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html