31st address line sometimes not used on EHCI/UHCI/OHCI
Hans Petter Selasky
hselasky at c2i.net
Mon May 28 06:43:58 UTC 2007
On Sunday 27 May 2007 22:54, M. Warner Losh wrote:
> In message: <200705272235.46048.hselasky at c2i.net>
>
> Hans Petter Selasky <hselasky at c2i.net> writes:
> : I've got some reports back that some USB host controllers do not support
> : transferring memory from a location higher than 2GB.
> :
> : What should we do about this?
> :
> : Should we limit all USB DMA allocations to the lower 2GB of the memory?
>
> busdma should be managing this behind the scenes. You shouldn't care,
> as the problematical usb controllers, if any, can do the bouncing as
> required. We need to get the hierarchical bus tagging stuff more
> fully integrated, then we'd get this for free.
Yes, I just changed the lowaddr when I allocated the tag, and that did the
trick!
>
> Of course, you'd have to stop using contigmalloc to allocate all the
> memory for usb. That won't work on some of the embedded platforms we
> have, for example, because memory on them isn't as fungible as it is
> on i386 and amd64.
My new USB stack has been using "bus_dmamem" for quite a while.
--HPS
More information about the freebsd-usb
mailing list