usb: dwc3: debug: decode control endpoint phase too
DWC3 can tell us which phase of a setup transfer we're getting into. Let's decode it from the event to make it easier to debug. Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
This commit is contained in:
parent
799e9dc829
commit
45a2af2f2b
2 changed files with 14 additions and 0 deletions
|
@ -1041,6 +1041,7 @@ struct dwc3_event_depevt {
|
|||
/* Control-only Status */
|
||||
#define DEPEVT_STATUS_CONTROL_DATA 1
|
||||
#define DEPEVT_STATUS_CONTROL_STATUS 2
|
||||
#define DEPEVT_STATUS_CONTROL_PHASE(n) ((n) & 3)
|
||||
|
||||
/* In response to Start Transfer */
|
||||
#define DEPEVT_TRANSFER_NO_RESOURCE 1
|
||||
|
|
|
@ -207,6 +207,19 @@ dwc3_ep_event_string(const struct dwc3_event_depevt *event)
|
|||
strcat(str, "Transfer Not Ready");
|
||||
status = event->status & DEPEVT_STATUS_TRANSFER_ACTIVE;
|
||||
strcat(str, status ? " (Active)" : " (Not Active)");
|
||||
|
||||
/* Control Endpoints */
|
||||
if (epnum <= 1) {
|
||||
int phase = DEPEVT_STATUS_CONTROL_PHASE(event->status);
|
||||
|
||||
switch (phase) {
|
||||
case DEPEVT_STATUS_CONTROL_DATA:
|
||||
strcat(str, " [Data Phase]");
|
||||
break;
|
||||
case DEPEVT_STATUS_CONTROL_STATUS:
|
||||
strcat(str, " [Status Phase]");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case DWC3_DEPEVT_RXTXFIFOEVT:
|
||||
strcat(str, "FIFO");
|
||||
|
|
Loading…
Reference in a new issue