RE: [PATCH v5 0/8] usb: dwc3: Fix broken BULK stream support to dwc3 gadget driver

From: Anurag Kumar Vulisha
Date: Fri Sep 21 2018 - 10:05:45 EST

Hi Tejas,

>-----Original Message-----
>From: Tejas Joglekar [mailto:Tejas.Joglekar@xxxxxxxxxxxx]
>Sent: Friday, September 21, 2018 7:01 PM
>To: Anurag Kumar Vulisha <anuragku@xxxxxxxxxx>; balbi@xxxxxxxxxx;
>Cc: v.anuragkumar@xxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; linux-
>kernel@xxxxxxxxxxxxxxx; Thinh.Nguyen@xxxxxxxxxxxx; Ajay Yugalkishore Pandey
><APANDEY@xxxxxxxxxx>; joglekartejas@xxxxxxxxx
>Subject: Re: [PATCH v5 0/8] usb: dwc3: Fix broken BULK stream support to dwc3
>gadget driver
>Hello Anurag,
>On 9/15/2018 8:00 PM, Anurag Kumar Vulisha wrote:
>> These patch series fixes the broken BULK streaming support in
>> dwc3 gadget driver.
>> Changes in v5:
>> 1. Removed the dev_dbg prints as suggested bt "Thinh Nguyen"
>> Changes in v4:
>> 1. Corrected the commit messgae and stream timeout description
>> as suggested by "Thinh Nguyen"
>> Changes in v3:
>> 1. Added the changes suggested by "Thinh Nguyen"
>> Changes in v2:
>> 1. Added "usb: dwc3:" in subject heading
>> Anurag Kumar Vulisha (8):
>> usb: dwc3: Correct the logic for checking TRB full in
>> __dwc3_prepare_one_trb()
>> usb: dwc3: update stream id in depcmd
>> usb: dwc3: make controller clear transfer resources after complete
>> usb: dwc3: implement stream transfer timeout
>> usb: dwc3: don't issue no-op trb for stream capable endpoints
>> usb: dwc3: check for requests in started list for stream capable
>> endpoints
>> usb: dwc3: Check for IOC/LST bit in both event->status and TRB->ctrl
>> fields
>> usb: dwc3: Check MISSED ISOC bit only for ISOC endpoints
>> drivers/usb/dwc3/core.h | 7 ++++
>> drivers/usb/dwc3/gadget.c | 85
>> 2 files changed, 84 insertions(+), 8 deletions(-)
>Tested-By: Tejas Joglekar <tejas.joglekar@xxxxxxxxxxxx>
>I have tested this patch series except the stream transfer timeout patch on HAPS-DX
>platform. I am not aware of exact scenarios to test the timeout patch and don't have
>a test for the same.

Thanks for testing the patches. The issue mentioned in the timeout patch (Patch 4) will
occur very rarely on the long runs and only when tested with stream capable host. This
issue happens only when the host & dwc3 controller go out of sync, where the dwc3
controller may wait for host to issue prime transaction and host may wait for the gadget
to issue ERDY. I used controller version 2.90A for testing this issue. This issue is mentioned
in databook section 9.5.2

Anurag Kumar Vulisha