Re: [PATCH v2 00/13] usb: dwc2: descriptor dma mode bug fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Thu, Nov 5, 2015 at 12:41 AM, Gregory Herrero
<gregory.herrero@xxxxxxxxx> wrote:
> Hi,
>
> This patchset contains bug fixes for host descriptor dma mode.
>
> Descriptor dma mode can't be used as the default mode since controller
> does not support split transfers in this mode.
> So we add a new configuration parameter which allows descriptor dma mode
> to be enabled for full-speed devices only.
>
> All patches are verified on dwc2 v3.0a with dedicated fifos and our
> main test target was usb audio devices.
>
> All patches are based on Felipe's testing/next branch.
>
> Regards,
> Gregory
>
> History:
> v2:
>   - Use dma cache in "usb: dwc2: host: use kmem cache to allocate descriptors"
>     and replace usage of deprecated GFP_DMA32 flag.
>   - Remove "usb: dwc2: host: free status_buf on hcd de-init".
>
> v1:
>   - Fix compilation error introduced by:
>     "usb: dwc2: host: avoid usage of dma_alloc_coherent with irqs disabled"
>   - Fix warning introduced by:
>     "usb: dwc2: host: fix descriptor list address masking"
>
> Gregory Herrero (11):
>   usb: dwc2: host: ensure filling of isoc desc is correctly done
>   usb: dwc2: host: set active bit in isochronous descriptors
>   usb: dwc2: host: rework isochronous halt path
>   usb: dwc2: host: fix use of qtd after free in desc dma mode
>   usb: dwc2: host: spinlock release channel
>   usb: dwc2: host: add function to compare frame index
>   usb: dwc2: host: program descriptor for next frame
>   usb: dwc2: host: always increment available host channel during
>     release
>   usb: dwc2: host: process all completed urbs
>   usb: dwc2: host: avoid usage of dma_alloc_coherent with irqs disabled
>   usb: dwc2: host: use kmem cache to allocate descriptors
>
> Mian Yousaf Kaukab (2):
>   usb: dwc2: host: enable descriptor dma for fs devices
>   usb: dwc2: host: fix descriptor list address masking
>
>  drivers/usb/dwc2/core.c      |  37 +++++--
>  drivers/usb/dwc2/core.h      |  26 +++++
>  drivers/usb/dwc2/hcd.c       |  76 +++++++++++++-
>  drivers/usb/dwc2/hcd.h       |  19 ++++
>  drivers/usb/dwc2/hcd_ddma.c  | 240 +++++++++++++++++++++++++++++++++++--------
>  drivers/usb/dwc2/hcd_intr.c  |  15 ++-
>  drivers/usb/dwc2/hcd_queue.c |   2 +-
>  drivers/usb/dwc2/hw.h        |   4 -
>  drivers/usb/dwc2/platform.c  |   4 +
>  9 files changed, 367 insertions(+), 56 deletions(-)

With the previous version of this series, I could confirm that the
series didn't break things terribly (after fixing the DMA flag) and it
_sometimes_ made DMA Descriptor mode work for me (I believe it never
worked before).  It was unclear why it didn't work sometimes and I
haven't had a chance to debug it yet.

I'm not sure I can give a Tested-by for that, but I figured I'd at
least let you know the current status on my rk3288 board.

-Doug
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux