Re: how to get virtual address from dma address

From: Paul Mackerras (paulus@samba.org)
Date: Sat Oct 06 2001 - 07:18:42 EST


David S. Miller writes:

> I can not even count on one hand how many people I've helped
> converting, who wanted a bus_to_virt() and when I showed them
> how to do it with information the device provided already they
> said "oh wow, I never would have thought of that". That process
> won't happen as often with the suggested feature.

Well, let's see if we can come up with a way to achieve this goal as
well as the other.

I look at all the hash-table stuff in the usb-ohci driver and I think
to myself about all the complexity that is there (and I haven't
managed to convince myself yet that it is actually SMP-safe) and all
the time wasted doing that stuff, when on probably 95% of the
machines that use the usb-ohci driver, the hashing stuff is totally
unnecessary. I am talking about powermacs, which don't have an iommu,
and where the reverse mapping is as simple as adding a constant.

That was my second argument, which you didn't reply to - that doing
the reverse mapping is very simple on some platforms, and so the right
place to do reverse mapping is in the platform-aware code, not in the
drivers. On other platforms the reverse mapping is more complex, but
the complexity is bounded by the complexity that is already there in
drivers like the usb-ohci driver.

> I am adamently against generic infrastructure to do this. Yes, it's
> social engineering, tough cookies... it's social engineering that I
> know is working :-)

Well, I don't maintain any of the affected drivers, so it's not an
issue that affects me personally.

Maybe we want a reverse-mapping API with a copyright notice on it that
says you can't use it unless you have written permission from David
S. Miller. Just joking, but I do think that we should see if we can
think of something that achieves that sort of effect while still
making the facilities available for the drivers that truly do need it.

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



This archive was generated by hypermail 2b29 : Sun Oct 07 2001 - 21:00:41 EST