From: Felipe Balbi <balbi@kernel.org>
To: "Chow, Watson" <Watson.Chow@Avnet.com>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>
Subject: RE: [BUG REPORT] usb: dwc3: Bug while setting the USB transfer bandwidth on UVC gadget driver
Date: Mon, 17 May 2021 08:32:07 +0300 [thread overview]
Message-ID: <87zgwu53jc.fsf@kernel.org> (raw)
In-Reply-To: <9e8d9a55a0e64ab092ceb464db5f0119@Avnet.com>
[-- Attachment #1: Type: text/plain, Size: 2649 bytes --]
Hi,
"Chow, Watson" <Watson.Chow@Avnet.com> writes:
> Hi,
>
>>Hi,
>>
>>(please don't top-post :-)
> I have tried my best to meet the format requirement
Thanks
>>"Chow, Watson" <Watson.Chow@Avnet.com> writes:
>>> Balbi,
>>>
>>> Thanks for your quick reply.
>>>
>>> Some questions
>>>
>>> 1. You mentioned that the max bandwidth in isoc mode (USB3.0) should be
>>> around 4Gbps.
>>>
>>> I have the below calcuation on bandwidth:
>>> In USB3.0, 1 micro frame would take 125us and can transfer max 45000 bytes
>>> So, in 1 sec, we will have 8000 micro frames
>>>
>>> Max bandwidth = 8000 x 4500 x 8 = 2.88Gbps
>>>
>>> Is my understanding correct?
>>
>>probably, It's been a while since I've dug through the spec, to be frank
>>
>>> 2. To achieve the max throughput, I need to configure the uvc gadget driver
>>> with below parameters. Am I right?
>>>
>>> # modprobe g_webcam streaming_maxpacket=3072 streaming_maxburst=15
>>> streaming_interval=1
>>
>>right, but there's an assumption here that the gadget will be able to
>>feed data in a timely manner.
>
> How does the DWC3 driver or the gadget driver handle the case with intermittent
> drop of the input video streaming?
>
> Any recover mechanism?
yeah, the missed ISOC is reported to the gadget driver and that has to
queue new requests.
>>> 3. You suggest me to try on kernel v5.12 or the latest v5.13-rc. It looks not
>>> easy in my side to upgrade the kernel version. It would affect those other
>>> device drivers I'm currently using. So, do you think there's any short cut
>>> to fix this problem under my current kernel version - v5.4?
>>
>>In that case, you need to ask for support from whoever forces you to
>>stay with such an old kernel. I believe that would be Xilinx.
>
> I have a thought to back port those changes around the dwc3 and gadget driver
> from the latest kernel version to my kernel (v5.4). Do you think this is
> feasible?
should be, but it's likely quite a bit of work:
$ git rev-list --count v5.4..linus/master -- drivers/usb/dwc3/
257
>>> 4. I read through the procedures to capture debug info by debugfs. However,
>>> in my test with "streaming_maxburst" set to 10 or above, my system would
>>> crash and I can't pick the log from that point. Any suggestion?
>>
>>have a look at ftrace_dump_on_oops.
>
> I will explore how to enable this
>
>>
>
> Btw, do you know which SoC platform can run the UVC gadget in max throughput.
> Raspberry Pi/TI Beaglebone/i.MX ???
Raspberry Pi uses dwc2
Beaglebone uses musb
i.MX, I think some of them use dwc3 at least.
--
balbi
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 511 bytes --]
next prev parent reply other threads:[~2021-05-17 5:32 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-14 3:20 [BUG REPORT] usb: dwc3: Bug while setting the USB transfer bandwidth on UVC gadget driver Chow, Watson
2021-05-14 7:16 ` Felipe Balbi
2021-05-14 8:59 ` Chow, Watson
2021-05-14 10:31 ` Felipe Balbi
2021-05-17 3:58 ` Chow, Watson
2021-05-17 5:32 ` Felipe Balbi [this message]
2021-06-04 2:53 ` Chow, Watson
2021-06-04 5:15 ` Felipe Balbi
2021-06-07 6:11 ` Peter Chen
2021-06-07 11:26 ` Chow, Watson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87zgwu53jc.fsf@kernel.org \
--to=balbi@kernel.org \
--cc=Watson.Chow@Avnet.com \
--cc=linux-usb@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).