Re: [PATCH] usb: dwc3: debugfs: add snapshot to dump requests trbs events

From: Felipe Balbi
Date: Mon Apr 28 2014 - 20:00:21 EST


On Mon, Apr 28, 2014 at 07:58:43PM +0000, Paul Zimmerman wrote:
> > From: linux-usb-owner@xxxxxxxxxxxxxxx [mailto:linux-usb-owner@xxxxxxxxxxxxxxx] On Behalf Of Felipe Balbi
> > Sent: Monday, April 28, 2014 8:56 AM
> >
> > On Mon, Apr 28, 2014 at 04:49:23PM -0400, Zhuang Jin Can wrote:
> > > Adds a debugfs file "snapshot" to dump dwc3 requests, trbs and events.
>
> < snip >
>
> > > + for (i = 0; i < evt->length; i += 4) {
> > > + event.raw = *(u32 *) (evt->buf + i);
> > > + if (i == evt->lpos) {
> > > + seq_puts(s, "lpos-------|\n");
> > > + seq_puts(s, " \\\n");
> > > + }
> > > + seq_printf(s, "event[%d]: %08x ", i, event.raw);
> > > +
> > > + if (event.type.is_devspec)
> > > + dwc3_dump_dev_event(s, &event.devt);
> > > + else
> > > + dwc3_dump_ep_event(s, &event.depevt);
> > > + seq_puts(s, "\n");
> > > + }
> >
> > how well have you tested this ? I'm not entirely sure you should be
> > reading the event buffer at any time you want, though I might be wrong.
>
> Just FYI, it is fine to read from the event buffer memory at any time.
> But of course, if you happen to read from a location at the same time
> the core is writing to it, you may read either the old value or the new,
> depending on the timing. So the results might not be 100% reliable.

Thanks, based on this I'll stick to my
"use-a-ring-buffer-to-store-last-5-events" suggestion :-)

--
balbi

Attachment: signature.asc
Description: Digital signature