On Fri, Apr 27, 2018 at 10:09:17AM -0400, Alan Stern wrote:
> On Fri, 27 Apr 2018, Christoph Hellwig wrote:
> 
> > On Sun, Apr 15, 2018 at 11:24:11AM -0400, Alan Stern wrote:
> > > On Sun, 15 Apr 2018, Christoph Hellwig wrote:
> > > 
> > > > USB host controllers now must handle highmem, so we can get rid of 
> > > > bounce
> > > > buffering highmem pages in the block layer.
> > > 
> > > Sorry, I don't quite understand what you are saying.  Do you mean that
> > > all USB host controllers now magically _do_ handle highmem?  Or do you
> > > mean that if they _don't_ handle highmem, we will not support them any
> > > more?
> > 
> > USB controller themselves never cared about highmem, drivers did.  For
> > PIO based controllers they'd have to kmap any address no in the kernel
> > drirect mapping.
> > 
> > Nothing in drivers/usb/host or the other diretories related to host
> > drivers calls page_address (only used in a single gadget) or sg_virt
> > (only used in a few upper level drivers), which makes me assume
> > semi-confidently that no USB host driver is not highmem aware these
> > days.
> 
> sg_virt is called in drivers/usb/core/message.c.  (Maybe that's what
> you meant by "upper level drivers".)  I'm not sure just how important
> that usage is.

I don't really know either.  I'll need some guidance from the usb
maintainers on:

 - when drivers can submit urbs with a scatterlist
 - if there are any drivers that do not want to take highmem

Unfortunately the way dma mapping works in usb is just so deeply
convoluted that I have a hard time following it, and often wonder
what is intentional and what is accidental in it.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to