usb: dwc3: gadget: pretty print Generic CMDs
authorFelipe Balbi <balbi@ti.com>
Fri, 25 Apr 2014 19:14:14 +0000 (14:14 -0500)
committerFelipe Balbi <balbi@ti.com>
Fri, 25 Apr 2014 19:22:00 +0000 (14:22 -0500)
this makes it slightly easier to read generic CMD
logs. It also helps make sure we're sending proper
parameters for each command.

Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/dwc3/gadget.c

index 9a8ae39f7fa8545ccbded2b9db8310884bbb922a..e0b7910509305706d5aa963ec16a7932e22f3350 100644 (file)
@@ -302,6 +302,32 @@ static const char *dwc3_gadget_ep_cmd_string(u8 cmd)
        }
 }
 
+static const char *dwc3_gadget_generic_cmd_string(u8 cmd)
+{
+       switch (cmd) {
+       case DWC3_DGCMD_SET_LMP:
+               return "Set LMP";
+       case DWC3_DGCMD_SET_PERIODIC_PAR:
+               return "Set Periodic Parameters";
+       case DWC3_DGCMD_XMIT_FUNCTION:
+               return "Transmit Function Wake Device Notification";
+       case DWC3_DGCMD_SET_SCRATCHPAD_ADDR_LO:
+               return "Set Scratchpad Buffer Array Address Lo";
+       case DWC3_DGCMD_SET_SCRATCHPAD_ADDR_HI:
+               return "Set Scratchpad Buffer Array Address Hi";
+       case DWC3_DGCMD_SELECTED_FIFO_FLUSH:
+               return "Selected FIFO Flush";
+       case DWC3_DGCMD_ALL_FIFO_FLUSH:
+               return "All FIFO Flush";
+       case DWC3_DGCMD_SET_ENDPOINT_NRDY:
+               return "Set Endpoint NRDY";
+       case DWC3_DGCMD_RUN_SOC_BUS_LOOPBACK:
+               return "Run SoC Bus Loopback Test";
+       default:
+               return "UNKNOWN";
+       }
+}
+
 static const char *dwc3_gadget_link_string(enum dwc3_link_state link_state)
 {
        switch (link_state) {
@@ -343,6 +369,9 @@ int dwc3_send_gadget_generic_command(struct dwc3 *dwc, int cmd, u32 param)
        u32             timeout = 500;
        u32             reg;
 
+       dev_vdbg(dwc->dev, "generic cmd '%s' [%d] param %08x\n",
+                       dwc3_gadget_generic_cmd_string(cmd), cmd, param);
+
        dwc3_writel(dwc->regs, DWC3_DGCMDPAR, param);
        dwc3_writel(dwc->regs, DWC3_DGCMD, cmd | DWC3_DGCMD_CMDACT);