Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / usb / dwc3 / debug.h
diff --git a/kernel/drivers/usb/dwc3/debug.h b/kernel/drivers/usb/dwc3/debug.h
new file mode 100644 (file)
index 0000000..07fbc2d
--- /dev/null
@@ -0,0 +1,228 @@
+/**
+ * debug.h - DesignWare USB3 DRD Controller Debug Header
+ *
+ * Copyright (C) 2010-2011 Texas Instruments Incorporated - http://www.ti.com
+ *
+ * Authors: Felipe Balbi <balbi@ti.com>,
+ *         Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2  of
+ * the License as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __DWC3_DEBUG_H
+#define __DWC3_DEBUG_H
+
+#include "core.h"
+
+/**
+ * dwc3_gadget_ep_cmd_string - returns endpoint command string
+ * @cmd: command code
+ */
+static inline const char *
+dwc3_gadget_ep_cmd_string(u8 cmd)
+{
+       switch (cmd) {
+       case DWC3_DEPCMD_DEPSTARTCFG:
+               return "Start New Configuration";
+       case DWC3_DEPCMD_ENDTRANSFER:
+               return "End Transfer";
+       case DWC3_DEPCMD_UPDATETRANSFER:
+               return "Update Transfer";
+       case DWC3_DEPCMD_STARTTRANSFER:
+               return "Start Transfer";
+       case DWC3_DEPCMD_CLEARSTALL:
+               return "Clear Stall";
+       case DWC3_DEPCMD_SETSTALL:
+               return "Set Stall";
+       case DWC3_DEPCMD_GETEPSTATE:
+               return "Get Endpoint State";
+       case DWC3_DEPCMD_SETTRANSFRESOURCE:
+               return "Set Endpoint Transfer Resource";
+       case DWC3_DEPCMD_SETEPCONFIG:
+               return "Set Endpoint Configuration";
+       default:
+               return "UNKNOWN command";
+       }
+}
+
+/**
+ * dwc3_gadget_generic_cmd_string - returns generic command string
+ * @cmd: command code
+ */
+static inline 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";
+       }
+}
+
+/**
+ * dwc3_gadget_link_string - returns link name
+ * @link_state: link state code
+ */
+static inline 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";
+       }
+}
+
+/**
+ * dwc3_gadget_event_string - returns event name
+ * @event: the event code
+ */
+static inline const char *dwc3_gadget_event_string(u8 event)
+{
+       switch (event) {
+       case DWC3_DEVICE_EVENT_DISCONNECT:
+               return "Disconnect";
+       case DWC3_DEVICE_EVENT_RESET:
+               return "Reset";
+       case DWC3_DEVICE_EVENT_CONNECT_DONE:
+               return "Connection Done";
+       case DWC3_DEVICE_EVENT_LINK_STATUS_CHANGE:
+               return "Link Status Change";
+       case DWC3_DEVICE_EVENT_WAKEUP:
+               return "WakeUp";
+       case DWC3_DEVICE_EVENT_EOPF:
+               return "End-Of-Frame";
+       case DWC3_DEVICE_EVENT_SOF:
+               return "Start-Of-Frame";
+       case DWC3_DEVICE_EVENT_ERRATIC_ERROR:
+               return "Erratic Error";
+       case DWC3_DEVICE_EVENT_CMD_CMPL:
+               return "Command Complete";
+       case DWC3_DEVICE_EVENT_OVERFLOW:
+               return "Overflow";
+       }
+
+       return "UNKNOWN";
+}
+
+/**
+ * dwc3_ep_event_string - returns event name
+ * @event: then event code
+ */
+static inline const char *dwc3_ep_event_string(u8 event)
+{
+       switch (event) {
+       case DWC3_DEPEVT_XFERCOMPLETE:
+               return "Transfer Complete";
+       case DWC3_DEPEVT_XFERINPROGRESS:
+               return "Transfer In-Progress";
+       case DWC3_DEPEVT_XFERNOTREADY:
+               return "Transfer Not Ready";
+       case DWC3_DEPEVT_RXTXFIFOEVT:
+               return "FIFO";
+       case DWC3_DEPEVT_STREAMEVT:
+               return "Stream";
+       case DWC3_DEPEVT_EPCMDCMPLT:
+               return "Endpoint Command Complete";
+       }
+
+       return "UNKNOWN";
+}
+
+/**
+ * dwc3_gadget_event_type_string - return event name
+ * @event: the event code
+ */
+static inline const char *dwc3_gadget_event_type_string(u8 event)
+{
+       switch (event) {
+       case DWC3_DEVICE_EVENT_DISCONNECT:
+               return "Disconnect";
+       case DWC3_DEVICE_EVENT_RESET:
+               return "Reset";
+       case DWC3_DEVICE_EVENT_CONNECT_DONE:
+               return "Connect Done";
+       case DWC3_DEVICE_EVENT_LINK_STATUS_CHANGE:
+               return "Link Status Change";
+       case DWC3_DEVICE_EVENT_WAKEUP:
+               return "Wake-Up";
+       case DWC3_DEVICE_EVENT_HIBER_REQ:
+               return "Hibernation";
+       case DWC3_DEVICE_EVENT_EOPF:
+               return "End of Periodic Frame";
+       case DWC3_DEVICE_EVENT_SOF:
+               return "Start of Frame";
+       case DWC3_DEVICE_EVENT_ERRATIC_ERROR:
+               return "Erratic Error";
+       case DWC3_DEVICE_EVENT_CMD_CMPL:
+               return "Command Complete";
+       case DWC3_DEVICE_EVENT_OVERFLOW:
+               return "Overflow";
+       default:
+               return "UNKNOWN";
+       }
+}
+
+void dwc3_trace(void (*trace)(struct va_format *), const char *fmt, ...);
+
+#ifdef CONFIG_DEBUG_FS
+extern int dwc3_debugfs_init(struct dwc3 *);
+extern void dwc3_debugfs_exit(struct dwc3 *);
+#else
+static inline int dwc3_debugfs_init(struct dwc3 *d)
+{  return 0;  }
+static inline void dwc3_debugfs_exit(struct dwc3 *d)
+{  }
+#endif
+#endif /* __DWC3_DEBUG_H */