From: Anders Roxell <anders.roxell@linaro.org>
To: Anshul Dalal <anshuld@ti.com>
Cc: u-boot@lists.u-boot-project.org, marek.vasut@mailbox.org,
trini@konsulko.com, ilias.apalodimas@linaro.org,
michal.simek@amd.com, lukma@denx.de, alchark@flipper.net,
jerome.forissier@arm.com, dlechner@baylibre.com,
sjg@chromium.org, Chintan Vankar <c-vankar@ti.com>,
Siddharth Vadapalli <s-vadapalli@ti.com>
Subject: Re: [PATCH v7 00/24] usb: dwc3: part 2, make the resynced code work
Date: Fri, 28 Aug 2026 14:26:11 +0200 [thread overview]
Message-ID: <apF-Y29Nk1g0WkUI@monster> (raw)
In-Reply-To: <DKZK7EJH891Z.2NDLCYZZ1OXF0@ti.com>
On 2026-08-27 13:18, Anshul Dalal wrote:
> On Wed Aug 26, 2026 at 1:59 PM IST, Anders Roxell wrote:
> > On 2026-08-25 15:12, Anshul Dalal wrote:
> >> On Mon, 24 Aug 2026 17:41:09 +0200, Anders Roxell <anders.roxell@linaro.org> wrote:
> >> > [...]
> >> > dwc2 with and without DM_USB_GADGET, at91_udc, atmel_usba_udc, ci_udc,
> >> > musb-new and mtu3. 17 boards in total.
> >> >
> >> > DFU is tested on hardware on BeagleBoard-X15, and on BeaglePlay by
> >> > Anshul. ci_udc is tested on an i.MX93 board with ums. The rest is build
> >> > tested only.
> >>
> >> Hi Anders,
> >>
> >> Thanks for reworking the series, I was able to get DFU boot to work properly
> >> and the usb devices are being discovered properly too.
> >>
> >> Though I ran into an issue while using ums with your patches as the host isn't
> >> able to detect the connected device. With default logs I only see a
> >> '\dwc3-generic-peripheral usb@31000000: unknown endpoint event 0'.
> >>
> >> Further debug logs are below on TI's AM62p EVM:
> >>
> >> @ => ums mmc 1
> >> @ UMS: LUN 0, dev mmc 1, hwpart 0, sector 0x0, count 0x3b72400
> >> @ g_dnl_register: g_dnl_driver.name = usb_dnl_ums
> >> @ g_dnl_bind: gadget: 0x00000000fde7fb68 cdev: 0x00000000fde5cdd0
> >> @ usb_add_config: adding config #1 'usb_dnload'/00000000fde83cc0
> >> @ g_dnl_do_config: configuration: 0x00000000fde83cc0 composite dev: 0x00000000fde5cdd0
> >> @ adding 'Mass Storage Function'/00000000fde5c110 to config 'usb_dnload'/00000000fde83cc0
> >> @ cfg 1/00000000fde83cc0 speeds: high full
> >> @ usb_add_config: interface 0 = Mass Storage Function/00000000fde5c110
> >> @ g_dnl_bind: calling usb_gadget_connect for controller 'dwc3-gadget'
> >> @ usb_dnl_ums: ready
> >> @ -dwc3-generic-peripheral usb@31000000: unknown endpoint event 0
> >> @ |set_config: high speed config #1: usb_dnload
> >> @ \non-core control reqa1.fe v0000 i0000 l1
> >>
> >> I observed a similar issue on the beagleplay too. Regards!
> >
> > Hi Anshul,
> >
> > I could reproduce it on my BeagleBoard-X15. First I only saw it connect
> > and got happy, so I forgot to look for the disk. It never shows up, and
> > the host gives up after 20 seconds.
> >
> > The resync dropped the cache maintenance in dwc3 gadget.c. The
> > controller reads a stale trb and nothing moves, that is your "unknown
> > endpoint event 0". DFU still worked because it only uses ep0.
> >
> > With the diff below the disk shows up and 64 MiB reads back correctly.
> > It applies on v7.
> >
> > Can you try ums on AM62p and BeaglePlay? Please let me know how it goes
> > before I send the next version.
>
> Thanks for the fix Anders, the block device shows up properly now.
> However the 'dwc3-generic-peripheral usb@31000000: unknown endpoint
> event 0' error log remains, is this expected?
Good, thanks for testing.
I do not see that message on my X15. In your first log it comes once,
between "ready" and set_config, so it is during enumeration and not on
the transfer path. The event loop is the same as in Linux v6.16.
Do you see it on plain mainline, without my patches? If it is there too
then the resync did not cause it, and it can be fixed on its own. If
mainline is clean then I broke it, and then it has to be fixed in this
series.
If it is new, can you print the raw word and send me what it says?
Event 0 is not a real endpoint event, the defined ones are 1 to 7, so
some word is decoded that should not be.
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ static void dwc3_process_event_entry(struct dwc3 *dwc,
const union dwc3_event *event)
{
+ printf("evt raw %08x\n", event->raw);
+
if (!event->type.is_devspec)
Cheers,
Anders
prev parent reply other threads:[~2026-08-28 13:15 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-24 15:41 [PATCH v7 00/24] usb: dwc3: part 2, make the resynced code work Anders Roxell
2026-08-24 15:41 ` [PATCH v7 01/24] dm: add helpers needed by the resynced DWC3 code Anders Roxell
2026-08-24 15:41 ` [PATCH v7 02/24] usb: phy: add the usb_phy " Anders Roxell
2026-08-24 15:41 ` [PATCH v7 03/24] usb: gadget: adapt the gadget API after the resync Anders Roxell
2026-08-24 15:41 ` [PATCH v7 04/24] usb: gadget: udc: make udc-core build in u-boot Anders Roxell
2026-08-24 15:41 ` [PATCH v7 05/24] usb: dwc3: make the core driver " Anders Roxell
2026-08-24 15:41 ` [PATCH v7 06/24] usb: dwc3: bring back the samsung usb phy driver Anders Roxell
2026-08-24 15:41 ` [PATCH v7 07/24] usb: dwc3: make gadget and ep0 build in u-boot Anders Roxell
2026-08-24 15:41 ` [PATCH v7 08/24] usb: gadget: udc: enable async callbacks on bind Anders Roxell
2026-08-24 15:41 ` [PATCH v7 09/24] usb: dwc3: ep0: flush and invalidate cache around ep0 transfers Anders Roxell
2026-08-24 15:41 ` [PATCH v7 10/24] usb: dwc3: make the am62 glue build in u-boot Anders Roxell
2026-08-24 15:41 ` [PATCH v7 11/24] usb: gadget: ci_udc: move to the udc-core registration Anders Roxell
2026-08-24 15:41 ` [PATCH v7 12/24] usb: gadget: ci_udc: set endpoint capabilities Anders Roxell
2026-08-24 15:41 ` [PATCH v7 13/24] usb: gadget: dwc2_udc_otg: fix up after the resync Anders Roxell
2026-08-24 15:41 ` [PATCH v7 14/24] usb: gadget: fix up the function drivers " Anders Roxell
2026-08-24 15:41 ` [PATCH v7 15/24] usb: gadget: fix up the last UDC " Anders Roxell
2026-08-24 15:41 ` [PATCH v7 16/24] usb: gadget: atmel_usba_udc: set endpoint capabilities Anders Roxell
2026-08-24 15:41 ` [PATCH v7 17/24] usb: gadget: at91_udc: register with udc-core Anders Roxell
2026-08-24 15:41 ` [PATCH v7 18/24] usb: gadget: at91_udc: set endpoint capabilities Anders Roxell
2026-08-24 15:41 ` [PATCH v7 19/24] usb: musb-new: fix up after the resync Anders Roxell
2026-08-24 15:41 ` [PATCH v7 20/24] usb: musb-new: set endpoint capabilities Anders Roxell
2026-08-24 15:41 ` [PATCH v7 21/24] usb: mtu3: fix up after the resync Anders Roxell
2026-08-24 15:41 ` [PATCH v7 22/24] usb: mtu3: set endpoint capabilities Anders Roxell
2026-08-24 15:41 ` [PATCH v7 23/24] usb: host: xhci: fix up after the resync Anders Roxell
2026-08-24 15:41 ` [PATCH v7 24/24] usb: cdns3: " Anders Roxell
2026-08-25 9:42 ` [PATCH v7 00/24] usb: dwc3: part 2, make the resynced code work Anshul Dalal
2026-08-26 8:29 ` Anders Roxell
2026-08-27 7:48 ` Anshul Dalal
2026-08-28 12:26 ` Anders Roxell [this message]
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=apF-Y29Nk1g0WkUI@monster \
--to=anders.roxell@linaro.org \
--cc=alchark@flipper.net \
--cc=anshuld@ti.com \
--cc=c-vankar@ti.com \
--cc=dlechner@baylibre.com \
--cc=ilias.apalodimas@linaro.org \
--cc=jerome.forissier@arm.com \
--cc=lukma@denx.de \
--cc=marek.vasut@mailbox.org \
--cc=michal.simek@amd.com \
--cc=s-vadapalli@ti.com \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.u-boot-project.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.