RE: usb: gadget: dwc2: not getting audio data

Minas Harutyunyan
2023-03-07T04:30:46Z

Hi Palak,

>On 3/6/2023 8:26 AM, Palak SHAH wrote:
>From: Palak SHAH <palak.shah@raritan.com>
>Sent: Monday, March 6, 2023 8:26 PM
>To: Minas Harutyunyan <hminas@synopsys.com>; Maynard CABIENTE
><maynard.cabiente@raritan.com>
>Cc: linux-usb@vger.kernel.org
>Subject: RE: usb: gadget: dwc2: not getting audio data
>
>Hi Minas,
>
>>I can recommend you:
>>1. disable debug prints to minimize platform loading
>
>[Palak] I am working on this
>
>>2. change Descriptor DMA mode to Buffer DMA
>
>[Palak] Can you please explain this more, what does this mean?

Core can work in 3 different modes to transferring data between
FIFO and RAM: Slave, Buffer DMA and Descriptor DMA.

To switch from DDMA to BDMA in file params.c file in function
dwc2_set_default_params()
...
if ((hsotg->dr_mode == USB_DR_MODE_PERIPHERAL) ||
(hsotg->dr_mode == USB_DR_MODE_OTG)) {
p->g_dma = dma_capable;
p->g_dma_desc = hw->dma_desc_enable;
...
Update last line to
p->g_dma_desc = 0;

Thanks,
Minas

>
>Thanks,
>Palak
>
>-----Original Message-----
>From: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
>Sent: Thursday, March 2, 2023 11:35 PM
>To: Palak SHAH <palak.shah@raritan.com>; Maynard CABIENTE
><maynard.cabiente@raritan.com>
>Cc: linux-usb@vger.kernel.org
>Subject: RE: usb: gadget: dwc2: not getting audio data
>
>Hi Palak,
>
>>On 2/28/2023 12:21 AM, Palak SHAH wrote:
>>From: Palak SHAH <palak.shah@raritan.com>
>>Sent: Tuesday, February 28, 2023 12:21 AM
>>To: Minas Harutyunyan <hminas@synopsys.com>; Maynard CABIENTE
>><maynard.cabiente@raritan.com>
>>Cc: linux-usb@vger.kernel.org
>>Subject: RE: usb: gadget: dwc2: not getting audio data
>>
>>Hi Minas,
>>I have attached the following USB traces and debug log.
>>1) dmesg and usb sniffer logs during driver loading.
>>
>>2) EP1(OUT) - I play AUDIO on the HOST. And I do arecord on the linux
>>device that acts as USB gadget. So the audio is going OUT from the
>>host. So you will see EP1 OUT.
>>I have attached logs and USB sniffer data, during arecord.
>>
>>I am not testing ISOC EP1(IN) yet. I am still seeing and debugging
>>issues with Ep1(out).
>>
>>3) When I change UAC1_DEF_REQ_NUM 2 changed to 32, the problem STILL
>>exist with EP1(OUT). ONLY log behaivor is different. In the log I see
>>XferCompl, but I don’t get any data in the arecord.
>>I have attached 2 files. Arecord_command.txt shows what I run.
>>Arecord_output shows what I get after I run the command.
>>
>>4) I sent you regdump, hw_params, params and fifo in the previous email.
>>
>
>I'm not find any issue based on the '_arecord.txt', just again 7 second time
>gap:
>
>[ 228.173271] dwc2 ffb40000.usb: dwc2_hsotg_epint: At the end of the
>function, dwc2_hsotg_epint() [ 228.173271] [ 235.536299] dwc2
>ffb40000.usb: dwc2_hsotg_ep_queue, ep1out: req 777cd34b: req len(200)@req
>buf(af65750d), # of int=0, req zero=0, snok(short not ok)=0
>
>I can recommend you:
>1. disable debug prints to minimize platform loading 2. change Descriptor
>DMA mode to Buffer DMA
>
>Thanks,
>Minas
>
>
>>Thanks,
>>Palak
>>
>>-----Original Message-----
>>From: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
>>Sent: Monday, February 27, 2023 5:18 AM
>>To: Palak SHAH <palak.shah@raritan.com>; Maynard CABIENTE
>><maynard.cabiente@raritan.com>
>>Cc: linux-usb@vger.kernel.org
>>Subject: RE: usb: gadget: dwc2: not getting audio data
>>
>>Hi Palak,
>>
>>>On 2/27/2023 6:02 AM, Palak SHAH wrote:
>>>From: Palak SHAH <palak.shah@raritan.com>
>>>Sent: Monday, February 27, 2023 6:02 AM
>>>To: Minas Harutyunyan <hminas@synopsys.com>; Maynard CABIENTE
>>><maynard.cabiente@raritan.com>
>>>Cc: linux-usb@vger.kernel.org
>>>Subject: RE: usb: gadget: dwc2: not getting audio data
>>>
>>>Hi Minas,
>>>Please find attached the logs - regdump, hw_params, params and fifo,
>>>taken when the driver is loaded.
>>>
>>>I will send the USB traces tomorrow.
>>
>>
>>USB trace for arecord (EP1IN ISOC) and debug log.
>>
>>
>>Could you please confirm that after defining UAC1_DEF_REQ_NUM to 32
>>playing audio (EP1OUT ISOC) no any issue seen?
>>
>>Thanks,
>>Minas
>>
>>>
>>>Thanks,
>>>Palak
>>>
>>>-----Original Message-----
>>>From: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
>>>Sent: Friday, February 24, 2023 5:33 AM
>>>To: Palak SHAH <palak.shah@raritan.com>; Maynard CABIENTE
>>><maynard.cabiente@raritan.com>
>>>Cc: linux-usb@vger.kernel.org
>>>Subject: RE: usb: gadget: dwc2: not getting audio data
>>>
>>>Hi Polak,
>>>
>>>>On 2/24/2023 3:04 AM, Palak SHAH wrote:
>>>>From: Palak SHAH <palak.shah@raritan.com>
>>>>Sent: Friday, February 24, 2023 3:04 AM
>>>>To: Minas Harutyunyan <hminas@synopsys.com>; Maynard CABIENTE
>>>><maynard.cabiente@raritan.com>
>>>>Cc: linux-usb@vger.kernel.org
>>>>Subject: RE: usb: gadget: dwc2: not getting audio data
>>>>
>>>>Hi Minas,
>>>>I have attached the log where I connect to the audio gadget (and
>>>>therefore, load the driver). We can do it using command line on a
>>>>serial prompt or using GUI and connecting to Audio gadget.
>>>>
>>>>However, in both cases, I don’t see any EP1(out) data and the
>>>>register
>>>dump.
>>>>Ep1out comes out only when I play a you tube video and I do arecord
>>>>to capture data.
>>>
>>>According your device configuration EP1(out) using when you play
>>>audio, and
>>>EP1(in) using when you record audio by arecord.
>>>So, after driver loading these both ISOC EP's will not seen in log
>>>until aplay/arecord will not run.
>>>
>>>>
>>>>Please let me know if the log doesn’t have the information you need.
>>>
>>>No, it's again dmesg. I asked for core all register dump which
>>>available under debugfs's. dwc2 debugfs's under follow directory:
>>>/sys/kernel/debug/usb/dwc2.2.auto/
>>>In your case 'dwc2.2.auto' can be little bit different. In this
>>>directory there are files regdump, hw_params, params, fifo, etc. Just
>>>use 'cat regdump'
>>>to get register dump. Please also provide me cat of hw_params, params
>>>and fifo. These last 3 files need to cat just once after driver loading.
>>>
>>>>
>>>>Also, I tried changing UAC1_DEF_REQ_NUM 2 changed to 32. I saw a
>>>>change in the behaivor of logs, I got XferCompl all the time, and not
>>ep_disabled.
>>>
>>>So, after defining UAC1_DEF_REQ_NUM to 32 playing audio (ep1out) work
>>>without any issue? And increasing req number to 32 fixed issue which
>>>we debug till now?
>>>
>>>>However, arecord behaivor did not change, meaning I still did not get
>>>>the data. It only changed the logging behaivor.
>>>
>>>If you still see issues with arecord (ep1in) then please provide me
>>>debug log for this case and USB trace by Ellisys.
>>>
>>>Thanks,
>>>Minas
>>>
>>>
>>>
>>>________________________________
>>>
>>>Ce message, ainsi que tous les fichiers joints à ce message, peuvent
>>>contenir des informations sensibles et/ ou confidentielles ne devant
>>>pas être divulguées. Si vous n'êtes pas le destinataire de ce message
>>>(ou que vous recevez ce message par erreur), nous vous remercions de
>>>le notifier immédiatement à son expéditeur, et de détruire ce message.
>>>Toute copie, divulgation, modification, utilisation ou diffusion, non
>>>autorisée, directe ou indirecte, de tout ou partie de ce message, est
>>strictement interdite.
>>>
>>>
>>>This e-mail, and any document attached hereby, may contain
>>>confidential and/or privileged information. If you are not the
>>>intended recipient (or have received this e-mail in error) please
>>>notify the sender immediately and destroy this e-mail. Any
>>>unauthorized, direct or indirect, copying, disclosure, distribution or
>>>other use of the material or parts thereof is strictly forbidden.
>>
>>________________________________
>>
>>Ce message, ainsi que tous les fichiers joints à ce message, peuvent
>>contenir des informations sensibles et/ ou confidentielles ne devant
>>pas être divulguées. Si vous n'êtes pas le destinataire de ce message
>>(ou que vous recevez ce message par erreur), nous vous remercions de le
>>notifier immédiatement à son expéditeur, et de détruire ce message.
>>Toute copie, divulgation, modification, utilisation ou diffusion, non
>>autorisée, directe ou indirecte, de tout ou partie de ce message, est
>strictement interdite.
>>
>>
>>This e-mail, and any document attached hereby, may contain confidential
>>and/or privileged information. If you are not the intended recipient
>>(or have received this e-mail in error) please notify the sender
>>immediately and destroy this e-mail. Any unauthorized, direct or
>>indirect, copying, disclosure, distribution or other use of the
>>material or parts thereof is strictly forbidden.
>
>________________________________
>
>Ce message, ainsi que tous les fichiers joints à ce message, peuvent
>contenir des informations sensibles et/ ou confidentielles ne devant pas
>être divulguées. Si vous n'êtes pas le destinataire de ce message (ou que
>vous recevez ce message par erreur), nous vous remercions de le notifier
>immédiatement à son expéditeur, et de détruire ce message. Toute copie,
>divulgation, modification, utilisation ou diffusion, non autorisée, directe
>ou indirecte, de tout ou partie de ce message, est strictement interdite.
>
>
>This e-mail, and any document attached hereby, may contain confidential
>and/or privileged information. If you are not the intended recipient (or
>have received this e-mail in error) please notify the sender immediately and
>destroy this e-mail. Any unauthorized, direct or indirect, copying,
>disclosure, distribution or other use of the material or parts thereof is
>strictly forbidden.