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