W dniu 14.12.2018 o 09:55, Minas Harutyunyan pisze: > Hi Andrzej, > > On 12/4/2018 9:54 PM, Andrzej Pietrasiewicz wrote: >> Hi All, >> >> I have recently noticed a problem with dwc2 and audio gadget. >> >> TICK_TIME: 0 >> >> Any ideas on how to test it further to identify the problem? >> >> Definitely the commit identified with bisect was a problem at least >> until 4.13. Perhaps it still is the root cause, but I can't tell. >> It is difficult to revert it, because there were later changes which >> depend on it. >> >> Andrzej >> > > Which DMA (BDMA or DDMA) or Slave mode in dwc2 you use for testing? > Currently the default available in upstream dwc2, which is, I guess, BDMA. > By changing UAC2_DEF_REQ_NUM to 4 all audio gadget tests passed smoothly. > Could you please apply this patch and run tests in DDMA mode: > > diff --git a/drivers/usb/gadget/function/u_uac2.h > b/drivers/usb/gadget/function/u_uac2.h > index 8362ee572e1e..5e649259ab76 100644 > --- a/drivers/usb/gadget/function/u_uac2.h > +++ b/drivers/usb/gadget/function/u_uac2.h > @@ -21,7 +21,7 @@ > #define UAC2_DEF_CCHMASK 0x3 > #define UAC2_DEF_CSRATE 64000 > #define UAC2_DEF_CSSIZE 2 > -#define UAC2_DEF_REQ_NUM 2 > +#define UAC2_DEF_REQ_NUM 4 > > struct f_uac2_opts { > struct usb_function_instance func_inst; > This patch applied to current mainline seems to help in case the board boots correctly - no problems playing from the host using the USB gadget - but it still sometimes hangs at boot. I tried tracing the problems back and identified 381fc8f8228923026b3d75c8230fa2ee4d688f32 at 4.8 as the first commit at which they happen. Applying the above patch is not possible at 4.8, because at that point there was no such #define. It does apply though at 4.11, but does not help, so I it seems there are some more co-existing problems. The board is an Odroid U3 (Exynos 4412). Andrzej