this makes it slightly easier to read link state
change interrupt logs.

Signed-off-by: Felipe Balbi <ba...@ti.com>
---
 drivers/usb/dwc3/gadget.c | 44 +++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 41 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index f5adf3f..2406a82 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -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)
 {
        u32             timeout = 500;
@@ -2449,8 +2485,6 @@ static void dwc3_gadget_linksts_change_interrupt(struct 
dwc3 *dwc,
                }
        }
 
-       dwc->link_state = next;
-
        switch (next) {
        case DWC3_LINK_STATE_U1:
                if (dwc->speed == USB_SPEED_SUPER)
@@ -2468,7 +2502,11 @@ static void dwc3_gadget_linksts_change_interrupt(struct 
dwc3 *dwc,
                break;
        }
 
-       dev_vdbg(dwc->dev, "%s link %d\n", __func__, dwc->link_state);
+       dev_vdbg(dwc->dev, "link change: %s [%d] -> %s [%d]\n", __func__,
+                       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,
-- 
1.9.2.459.g68773ac

--
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