Commit e57ebc1d authored by Felipe Balbi's avatar Felipe Balbi

usb: dwc3: gadget: pretty print link states

this makes it slightly easier to read link state
change interrupt logs.
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 40cc57c7
...@@ -302,6 +302,42 @@ static const char *dwc3_gadget_ep_cmd_string(u8 cmd) ...@@ -302,6 +302,42 @@ static const char *dwc3_gadget_ep_cmd_string(u8 cmd)
} }
} }
static const char *dwc3_gadget_link_string(enum dwc3_link_state link_state)
{
switch (link_state) {
case DWC3_LINK_STATE_U0:
return "U0";
case DWC3_LINK_STATE_U1:
return "U1";
case DWC3_LINK_STATE_U2:
return "U2";
case DWC3_LINK_STATE_U3:
return "U3";
case DWC3_LINK_STATE_SS_DIS:
return "SS.Disabled";
case DWC3_LINK_STATE_RX_DET:
return "RX.Detect";
case DWC3_LINK_STATE_SS_INACT:
return "SS.Inactive";
case DWC3_LINK_STATE_POLL:
return "Polling";
case DWC3_LINK_STATE_RECOV:
return "Recovery";
case DWC3_LINK_STATE_HRESET:
return "Hot Reset";
case DWC3_LINK_STATE_CMPLY:
return "Compliance";
case DWC3_LINK_STATE_LPBK:
return "Loopback";
case DWC3_LINK_STATE_RESET:
return "Reset";
case DWC3_LINK_STATE_RESUME:
return "Resume";
default:
return "UNKNOWN link state\n";
}
}
int dwc3_send_gadget_generic_command(struct dwc3 *dwc, int cmd, u32 param) int dwc3_send_gadget_generic_command(struct dwc3 *dwc, int cmd, u32 param)
{ {
u32 timeout = 500; u32 timeout = 500;
...@@ -2449,8 +2485,6 @@ static void dwc3_gadget_linksts_change_interrupt(struct dwc3 *dwc, ...@@ -2449,8 +2485,6 @@ static void dwc3_gadget_linksts_change_interrupt(struct dwc3 *dwc,
} }
} }
dwc->link_state = next;
switch (next) { switch (next) {
case DWC3_LINK_STATE_U1: case DWC3_LINK_STATE_U1:
if (dwc->speed == USB_SPEED_SUPER) if (dwc->speed == USB_SPEED_SUPER)
...@@ -2468,7 +2502,11 @@ static void dwc3_gadget_linksts_change_interrupt(struct dwc3 *dwc, ...@@ -2468,7 +2502,11 @@ static void dwc3_gadget_linksts_change_interrupt(struct dwc3 *dwc,
break; break;
} }
dev_vdbg(dwc->dev, "%s link %d\n", __func__, dwc->link_state); dev_vdbg(dwc->dev, "link change: %s [%d] -> %s [%d]\n",
dwc3_gadget_link_string(dwc->link_state),
dwc->link_state, dwc3_gadget_link_string(next), next);
dwc->link_state = next;
} }
static void dwc3_gadget_hibernation_interrupt(struct dwc3 *dwc, static void dwc3_gadget_hibernation_interrupt(struct dwc3 *dwc,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment