Re: [PATCH 0 of 9] swiotlb: use phys_addr_t for pages

From: Benjamin Herrenschmidt
Date: Sun Dec 28 2008 - 16:44:01 EST


On Sun, 2008-12-28 at 02:30 -0500, Christoph Hellwig wrote:
> Also the calgary iommu is very similar to those used on some pseries
> machines, but I'd have to look at the code if the interface actually
> still is similar, or if the PPC firmware adds too much abstractions
> inbetween.

Well, we have basically two backends... in the same file but they are
really different and I may split them one of these days. One is
"native", used in theory only on POWER4 (and internal bare-metal stuff)
and one is purely via hypervisor calls.

> Also the older IA64 altixens have a slightly updated version of the
> iommu used on MIPS IP27 (and the same as on MIPS IP35 which we'll
> hopefully support one day)

BTW. On a tangent here, but I do prefer in the long run switching DMA
ops mostly away from struct page * + offset and toward phys_addr_t (even
if we won't change the SG variant).

The reason is sneaky :-) But there are cases, especially in embedded
space, where it would be nice to be able to DMA to/from MMIO areas or in
general areas not covered by struct pages. Currently doing so requires
hacking all the way through the stack, it might be possible to do it
more nicely with arch custom DMA ops provided we can pass around
addresses an not struct page*.

Cheers,
Ben.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/