Date: Mon, 27 Apr 2015 09:32:18 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-current@freebsd.org Cc: Hans Petter Selasky <hps@selasky.org>, Ian Lepore <ian@freebsd.org>, Svatopluk Kraus <onwahe@gmail.com> Subject: Re: [patch] fix add_bounce_page() for BUS_DMA_KEEP_PG_OFFSET Message-ID: <1878637.qa1RymYSTA@ralph.baldwin.cx> In-Reply-To: <553B2D56.1000405@selasky.org> References: <CAFHCsPVgYHL0OyMnn1b2DcNiQO-20k1aDvJNvFjwU21YxB29Cw@mail.gmail.com> <1429882188.1157.2.camel@freebsd.org> <553B2D56.1000405@selasky.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday, April 25, 2015 07:59:50 AM Hans Petter Selasky wrote: > On 04/24/15 15:29, Ian Lepore wrote: > > On Fri, 2015-04-24 at 13:34 +0200, Svatopluk Kraus wrote: > >> The add_bounce_page() can be called from _bus_dmamap_load_phys(). > >> Client virtual address is zero (not valid) in that case. So, client > >> physical address must be used to get an offset when > >> BUS_DMA_KEEP_PG_OFFSET flag is set. Note that client physical address > >> is always valid. > >> > >> Svatopluk Kraus > > > > The only user of BUS_DMA_KEEP_PG_OFFSET in the system is USB. If the > > flag didn't exist, we could do bouncing with a whole lot more > > efficiency, at least in the ARM world. I wonder if it would be possible > > to just eliminate the flag (and of course, USB's need for it, which I > > fully admit I don't understand even a little bit). > > > > Hi, > > USB (EHCI/UHCI/OHCI) needs this flag when computing scatter/gather > lists. Please ensure it works like expected. The good news is XHCI needs > it less than the EHCI. > > Ian: The patch looks good - will you commit it? I think the patch looks good. Feel free to commit it (someone) if I don't get to it first. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1878637.qa1RymYSTA>