With this extra piece of information, it will be
easier to find mismatches between driver and HW.

Signed-off-by: Felipe Balbi <felipe.ba...@linux.intel.com>
---
 drivers/usb/dwc3/debug.h  | 11 ++++++++---
 drivers/usb/dwc3/ep0.c    |  4 ----
 drivers/usb/dwc3/gadget.c |  2 +-
 drivers/usb/dwc3/trace.h  | 12 +++++++-----
 4 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/drivers/usb/dwc3/debug.h b/drivers/usb/dwc3/debug.h
index 61b6f0f207cf..b287fc6ab29e 100644
--- a/drivers/usb/dwc3/debug.h
+++ b/drivers/usb/dwc3/debug.h
@@ -200,10 +200,11 @@ dwc3_gadget_event_string(const struct dwc3_event_devt 
*event)
  * @event: then event code
  */
 static inline const char *
-dwc3_ep_event_string(const struct dwc3_event_depevt *event)
+dwc3_ep_event_string(const struct dwc3_event_depevt *event, u32 ep0state)
 {
        u8 epnum = event->endpoint_number;
        static char str[256];
+       size_t len;
        int status;
        int ret;
 
@@ -215,6 +216,10 @@ dwc3_ep_event_string(const struct dwc3_event_depevt *event)
        switch (event->endpoint_event) {
        case DWC3_DEPEVT_XFERCOMPLETE:
                strcat(str, "Transfer Complete");
+               len = strlen(str);
+
+               if (epnum <= 1)
+                       sprintf(str + len, " [%s]", 
dwc3_ep0_state_string(ep0state));
                break;
        case DWC3_DEPEVT_XFERINPROGRESS:
                strcat(str, "Transfer In-Progress");
@@ -299,14 +304,14 @@ static inline const char 
*dwc3_gadget_event_type_string(u8 event)
        }
 }
 
-static inline const char *dwc3_decode_event(u32 event)
+static inline const char *dwc3_decode_event(u32 event, u32 ep0state)
 {
        const union dwc3_event evt = (union dwc3_event) event;
 
        if (evt.type.is_devspec)
                return dwc3_gadget_event_string(&evt.devt);
        else
-               return dwc3_ep_event_string(&evt.depevt);
+               return dwc3_ep_event_string(&evt.depevt, ep0state);
 }
 
 static inline const char *dwc3_ep_cmd_status_string(int status)
diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c
index 1be54712147e..c562613ccd1a 100644
--- a/drivers/usb/dwc3/ep0.c
+++ b/drivers/usb/dwc3/ep0.c
@@ -1078,10 +1078,6 @@ static void dwc3_ep0_xfernotready(struct dwc3 *dwc,
 void dwc3_ep0_interrupt(struct dwc3 *dwc,
                const struct dwc3_event_depevt *event)
 {
-       dwc3_trace(trace_dwc3_ep0, "%s: state '%s'",
-                       dwc3_ep_event_string(event),
-                       dwc3_ep0_state_string(dwc->ep0state));
-
        switch (event->endpoint_event) {
        case DWC3_DEPEVT_XFERCOMPLETE:
                dwc3_ep0_xfer_complete(dwc, event);
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index fb5d65a58ef8..4d191c8acb59 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -2728,7 +2728,7 @@ static void dwc3_gadget_interrupt(struct dwc3 *dwc,
 static void dwc3_process_event_entry(struct dwc3 *dwc,
                const union dwc3_event *event)
 {
-       trace_dwc3_event(event->raw);
+       trace_dwc3_event(event->raw, dwc);
 
        /* Endpoint IRQ, handle it and return early */
        if (event->type.is_devspec == 0) {
diff --git a/drivers/usb/dwc3/trace.h b/drivers/usb/dwc3/trace.h
index d24cefd191b5..a4ef5e7bf6b8 100644
--- a/drivers/usb/dwc3/trace.h
+++ b/drivers/usb/dwc3/trace.h
@@ -63,21 +63,23 @@ DEFINE_EVENT(dwc3_log_msg, dwc3_ep0,
 );
 
 DECLARE_EVENT_CLASS(dwc3_log_event,
-       TP_PROTO(u32 event),
-       TP_ARGS(event),
+       TP_PROTO(u32 event, struct dwc3 *dwc),
+       TP_ARGS(event, dwc),
        TP_STRUCT__entry(
                __field(u32, event)
+               __field(u32, ep0state)
        ),
        TP_fast_assign(
                __entry->event = event;
+               __entry->ep0state = dwc->ep0state;
        ),
        TP_printk("event (%08x): %s", __entry->event,
-                       dwc3_decode_event(__entry->event))
+                       dwc3_decode_event(__entry->event, __entry->ep0state))
 );
 
 DEFINE_EVENT(dwc3_log_event, dwc3_event,
-       TP_PROTO(u32 event),
-       TP_ARGS(event)
+       TP_PROTO(u32 event, struct dwc3 *dwc),
+       TP_ARGS(event, dwc)
 );
 
 DECLARE_EVENT_CLASS(dwc3_log_ctrl,
-- 
2.10.1

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to