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

2015-11-05 Thread John Youn
On 11/5/2015 12:41 AM, Gregory Herrero 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(-)
> 

For this series:

Acked-by: John Youn 


I'm not able to test DDMA on host. But I checked that it didn't
break anything else.

Regards,
John


--
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


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

2015-11-05 Thread Doug Anderson
Hi,

On Thu, Nov 5, 2015 at 12:41 AM, Gregory Herrero
 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-11-06 Thread Herrero, Gregory
Hi Doug,

On Thu, Nov 05, 2015 at 04:32:46PM -0800, Doug Anderson wrote:
> Hi,
> 
> On Thu, Nov 5, 2015 at 12:41 AM, Gregory Herrero
>  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.
> 

Thanks for trying. It would be interesting to see traces when you get
a chance to debug it again. I didn't notice any instability with core
version 3.00a.

Those patches will only impact descriptor DMA mode, so there is no
risk to break anything else now that DMA flag is fixed :).

BR,
Gregory
--
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


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

2015-11-19 Thread Herrero, Gregory
Hi Felipe,

Can you take this serie or would you like me to resend it?

BR,
Gregory

On Fri, Nov 06, 2015 at 12:02:42AM +0100, John Youn wrote:
> On 11/5/2015 12:41 AM, Gregory Herrero 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(-)
> > 
> 
> For this series:
> 
> Acked-by: John Youn 
> 
> 
> I'm not able to test DDMA on host. But I checked that it didn't
> break anything else.
> 
> Regards,
> John
> 
> 
> 
--
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