lkml.org 
[lkml]   [2010]   [Feb]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRE: USB mass storage and ARM cache coherency
    > -----Original Message-----
    > From: Oliver Neukum [mailto:oliver@neukum.org]
    > Sent: Wednesday, February 17, 2010 2:41 PM
    > To: Shilimkar, Santosh
    > Cc: Russell King - ARM Linux; Catalin Marinas; Pavel Machek; Greg KH; Matthew Dharm; Sergei Shtylyov;
    > Ming Lei; Sebastian Siewior; linux-usb@vger.kernel.org; linux-kernel; linux-arm-kernel; Mankad,
    > Maulik Ojas; Gadiyar, Anand
    > Subject: Re: USB mass storage and ARM cache coherency
    >
    > Am Mittwoch, 17. Februar 2010 09:55:08 schrieb Shilimkar, Santosh:
    > > > Your original patch however kills ehci, ohci and uhci on some architectures.
    > >
    > > How about below approach? Controller driver can set
    > > "uses_pio_for_control" if it can't do dma for control transfer.
    > >
    > > diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
    > > index 80995ef..e3eae02 100644
    > > --- a/drivers/usb/core/hcd.c
    > > +++ b/drivers/usb/core/hcd.c
    > > @@ -1276,7 +1276,7 @@ static int map_urb_for_dma(struct usb_hcd *hcd, struct urb *urb,
    > >
    > > if (usb_endpoint_xfer_control(&urb->ep->desc)
    > > && !(urb->transfer_flags & URB_NO_SETUP_DMA_MAP)) {
    > > - if (hcd->self.uses_dma) {
    > > + if (hcd->self.uses_dma && !hcd->self.uses_pio_for_control) {
    >
    > It is not elegant to describe exceptions. It would be better, if you split up
    > the flag into two flags, called uses_dma_for_ordinary_transfers and
    > uses_dma_for control_transfers. Doing so also makes sure you look at
    > all hcd drivers ;-)
    >
    Good point. Negative checks are any way not elegant
    > And the tests become straightforward. And please add a detailed comment
    > to explain why this differentiation is needed on ARM.
    OK. I shall create a patch with description about the problem.

    Thanks for feedback!!

    Regards,
    Santosh



    \
     
     \ /
      Last update: 2010-02-17 10:21    [W:0.022 / U:2.312 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site