UPSTREAM: usb: dwc3: trace: show request flags
authorFelipe Balbi <balbi@ti.com>
Thu, 3 Dec 2015 21:27:32 +0000 (15:27 -0600)
committerWu Liang feng <wulf@rock-chips.com>
Sun, 6 Mar 2016 13:33:25 +0000 (21:33 +0800)
struct usb_request have 3 flags which might be
important to know about during debug. This patch
shows each of the 3 flags as a single letter:

z -> for zero
s -> short not okay
i -> interrupt

A capital letter means the feature is enabled
while a lower case letter means it is disabled;

Thus 'zsI' indicates that a ZLP is not needed,
that we can accept a short packet and interrupt
for this request should be enabled.

Signed-off-by: Felipe Balbi <balbi@ti.com>
(cherry picked from commit 46a01427e969e53d993b988ebbdb8c7c3562b66f)

Change-Id: I5d60411c51eff9f5a5f1233680bca6369f6fc6b8
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
drivers/usb/dwc3/trace.h

index 9c10669ab91f768035a518ed880843d346523a70..3ac7252f44275e7bb9287f92c5fc946d7063967f 100644 (file)
@@ -117,6 +117,9 @@ DECLARE_EVENT_CLASS(dwc3_log_request,
                __field(unsigned, actual)
                __field(unsigned, length)
                __field(int, status)
+               __field(int, zero)
+               __field(int, short_not_ok)
+               __field(int, no_interrupt)
        ),
        TP_fast_assign(
                snprintf(__get_str(name), DWC3_MSG_MAX, "%s", req->dep->name);
@@ -124,9 +127,15 @@ DECLARE_EVENT_CLASS(dwc3_log_request,
                __entry->actual = req->request.actual;
                __entry->length = req->request.length;
                __entry->status = req->request.status;
+               __entry->zero = req->request.zero;
+               __entry->short_not_ok = req->request.short_not_ok;
+               __entry->no_interrupt = req->request.no_interrupt;
        ),
-       TP_printk("%s: req %p length %u/%u ==> %d",
+       TP_printk("%s: req %p length %u/%u %s%s%s ==> %d",
                __get_str(name), __entry->req, __entry->actual, __entry->length,
+               __entry->zero ? "Z" : "z",
+               __entry->short_not_ok ? "S" : "s",
+               __entry->no_interrupt ? "i" : "I",
                __entry->status
        )
 );