usb: dwc3: remove reliance on dev_vdbg()
[deliverable/linux.git] / drivers / usb / dwc3 / gadget.c
index f03b136ecfce33b3b6936314d1fdebabb4ce936d..7cce00e7102b243f500d7fda4392f35c77988ca0 100644 (file)
@@ -139,7 +139,8 @@ int dwc3_gadget_set_link_state(struct dwc3 *dwc, enum dwc3_link_state state)
                udelay(5);
        }
 
-       dev_vdbg(dwc->dev, "link state change request timed out\n");
+       dwc3_trace(trace_dwc3_gadget,
+                       "link state change request timed out");
 
        return -ETIMEDOUT;
 }
@@ -219,7 +220,7 @@ int dwc3_gadget_resize_tx_fifos(struct dwc3 *dwc)
 
                fifo_size |= (last_fifo_depth << 16);
 
-               dev_vdbg(dwc->dev, "%s: Fifo Addr %04x Size %d\n",
+               dwc3_trace(trace_dwc3_gadget, "%s: Fifo Addr %04x Size %d",
                                dep->name, last_fifo_depth, fifo_size & 0xffff);
 
                dwc3_writel(dwc->regs, DWC3_GTXFIFOSIZ(num), fifo_size);
@@ -287,7 +288,8 @@ int dwc3_send_gadget_generic_command(struct dwc3 *dwc, unsigned cmd, u32 param)
        do {
                reg = dwc3_readl(dwc->regs, DWC3_DGCMD);
                if (!(reg & DWC3_DGCMD_CMDACT)) {
-                       dev_vdbg(dwc->dev, "Command Complete --> %d\n",
+                       dwc3_trace(trace_dwc3_gadget,
+                                       "Command Complete --> %d",
                                        DWC3_DGCMD_STATUS(reg));
                        return 0;
                }
@@ -297,8 +299,11 @@ int dwc3_send_gadget_generic_command(struct dwc3 *dwc, unsigned cmd, u32 param)
                 * interrupt context.
                 */
                timeout--;
-               if (!timeout)
+               if (!timeout) {
+                       dwc3_trace(trace_dwc3_gadget,
+                                       "Command Timed Out");
                        return -ETIMEDOUT;
+               }
                udelay(1);
        } while (1);
 }
@@ -320,7 +325,8 @@ int dwc3_send_gadget_ep_cmd(struct dwc3 *dwc, unsigned ep,
        do {
                reg = dwc3_readl(dwc->regs, DWC3_DEPCMD(ep));
                if (!(reg & DWC3_DEPCMD_CMDACT)) {
-                       dev_vdbg(dwc->dev, "Command Complete --> %d\n",
+                       dwc3_trace(trace_dwc3_gadget,
+                                       "Command Complete --> %d",
                                        DWC3_DEPCMD_STATUS(reg));
                        return 0;
                }
@@ -330,8 +336,11 @@ int dwc3_send_gadget_ep_cmd(struct dwc3 *dwc, unsigned ep,
                 * interrupt context.
                 */
                timeout--;
-               if (!timeout)
+               if (!timeout) {
+                       dwc3_trace(trace_dwc3_gadget,
+                                       "Command Timed Out");
                        return -ETIMEDOUT;
+               }
 
                udelay(1);
        } while (1);
@@ -352,9 +361,6 @@ static int dwc3_alloc_trb_pool(struct dwc3_ep *dep)
        if (dep->trb_pool)
                return 0;
 
-       if (dep->number == 0 || dep->number == 1)
-               return 0;
-
        dep->trb_pool = dma_alloc_coherent(dwc->dev,
                        sizeof(struct dwc3_trb) * DWC3_TRB_NUM,
                        &dep->trb_pool_dma, GFP_KERNEL);
@@ -492,7 +498,7 @@ static int __dwc3_gadget_ep_enable(struct dwc3_ep *dep,
        u32                     reg;
        int                     ret;
 
-       dev_vdbg(dwc->dev, "Enabling %s\n", dep->name);
+       dwc3_trace(trace_dwc3_gadget, "Enabling %s", dep->name);
 
        if (!(dep->flags & DWC3_EP_ENABLED)) {
                ret = dwc3_gadget_start_config(dwc, dep);
@@ -729,10 +735,9 @@ static void dwc3_prepare_one_trb(struct dwc3_ep *dep,
                struct dwc3_request *req, dma_addr_t dma,
                unsigned length, unsigned last, unsigned chain, unsigned node)
 {
-       struct dwc3             *dwc = dep->dwc;
        struct dwc3_trb         *trb;
 
-       dev_vdbg(dwc->dev, "%s: req %p dma %08llx length %d%s%s\n",
+       dwc3_trace(trace_dwc3_gadget, "%s: req %p dma %08llx length %d%s%s",
                        dep->name, req, (unsigned long long) dma,
                        length, last ? " last" : "",
                        chain ? " chain" : "");
@@ -882,8 +887,7 @@ static void dwc3_prepare_trbs(struct dwc3_ep *dep, bool starting)
 
                                if (i == (request->num_mapped_sgs - 1) ||
                                                sg_is_last(s)) {
-                                       if (list_is_last(&req->list,
-                                                       &dep->request_list))
+                                       if (list_empty(&dep->request_list))
                                                last_one = true;
                                        chain = false;
                                }
@@ -901,6 +905,9 @@ static void dwc3_prepare_trbs(struct dwc3_ep *dep, bool starting)
                                if (last_one)
                                        break;
                        }
+
+                       if (last_one)
+                               break;
                } else {
                        dma = req->request.dma;
                        length = req->request.length;
@@ -932,7 +939,7 @@ static int __dwc3_gadget_kick_transfer(struct dwc3_ep *dep, u16 cmd_param,
        u32                             cmd;
 
        if (start_new && (dep->flags & DWC3_EP_BUSY)) {
-               dev_vdbg(dwc->dev, "%s: endpoint busy\n", dep->name);
+               dwc3_trace(trace_dwc3_gadget, "%s: endpoint busy", dep->name);
                return -EBUSY;
        }
        dep->flags &= ~DWC3_EP_PENDING_REQUEST;
@@ -1003,8 +1010,9 @@ static void __dwc3_gadget_start_isoc(struct dwc3 *dwc,
        u32 uf;
 
        if (list_empty(&dep->request_list)) {
-               dev_vdbg(dwc->dev, "ISOC ep %s run out for requests.\n",
-                       dep->name);
+               dwc3_trace(trace_dwc3_gadget,
+                               "ISOC ep %s run out for requests",
+                               dep->name);
                dep->flags |= DWC3_EP_PENDING_REQUEST;
                return;
        }
@@ -1111,15 +1119,10 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req)
         * handled.
         */
        if (dep->stream_capable) {
-               int     ret;
-
                ret = __dwc3_gadget_kick_transfer(dep, 0, true);
-               if (ret && ret != -EBUSY) {
-                       struct dwc3     *dwc = dep->dwc;
-
+               if (ret && ret != -EBUSY)
                        dev_dbg(dwc->dev, "%s: failed to kick transfers\n",
                                        dep->name);
-               }
        }
 
        return 0;
@@ -1150,8 +1153,6 @@ static int dwc3_gadget_ep_queue(struct usb_ep *ep, struct usb_request *request,
                goto out;
        }
 
-       dev_vdbg(dwc->dev, "queing request %p to %s length %d\n",
-                       request, ep->name, request->length);
        trace_dwc3_ep_queue(req);
 
        ret = __dwc3_gadget_ep_queue(dep, req);
@@ -1466,7 +1467,7 @@ static int dwc3_gadget_run_stop(struct dwc3 *dwc, int is_on, int suspend)
                udelay(1);
        } while (1);
 
-       dev_vdbg(dwc->dev, "gadget %s data soft-%s\n",
+       dwc3_trace(trace_dwc3_gadget, "gadget %s data soft-%s",
                        dwc->gadget_driver
                        ? dwc->gadget_driver->function : "no-function",
                        is_on ? "connect" : "disconnect");
@@ -1686,7 +1687,7 @@ static int dwc3_gadget_init_hw_endpoints(struct dwc3 *dwc,
 
                dep->endpoint.name = dep->name;
 
-               dev_vdbg(dwc->dev, "initializing %s\n", dep->name);
+               dwc3_trace(trace_dwc3_gadget, "initializing %s", dep->name);
 
                if (epnum == 0 || epnum == 1) {
                        usb_ep_set_maxpacket_limit(&dep->endpoint, 512);
@@ -1723,13 +1724,15 @@ static int dwc3_gadget_init_endpoints(struct dwc3 *dwc)
 
        ret = dwc3_gadget_init_hw_endpoints(dwc, dwc->num_out_eps, 0);
        if (ret < 0) {
-               dev_vdbg(dwc->dev, "failed to allocate OUT endpoints\n");
+               dwc3_trace(trace_dwc3_gadget,
+                               "failed to allocate OUT endpoints");
                return ret;
        }
 
        ret = dwc3_gadget_init_hw_endpoints(dwc, dwc->num_in_eps, 1);
        if (ret < 0) {
-               dev_vdbg(dwc->dev, "failed to allocate IN endpoints\n");
+               dwc3_trace(trace_dwc3_gadget,
+                               "failed to allocate IN endpoints");
                return ret;
        }
 
@@ -1975,7 +1978,7 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc,
                } else {
                        int ret;
 
-                       dev_vdbg(dwc->dev, "%s: reason %s\n",
+                       dwc3_trace(trace_dwc3_gadget, "%s: reason %s",
                                        dep->name, event->status &
                                        DEPEVT_STATUS_TRANSFER_ACTIVE
                                        ? "Transfer Active"
@@ -1999,7 +2002,8 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc,
 
                switch (event->status) {
                case DEPEVT_STREAMEVT_FOUND:
-                       dev_vdbg(dwc->dev, "Stream %d found and started\n",
+                       dwc3_trace(trace_dwc3_gadget,
+                                       "Stream %d found and started",
                                        event->parameters);
 
                        break;
@@ -2013,7 +2017,7 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc,
                dev_dbg(dwc->dev, "%s FIFO Overrun\n", dep->name);
                break;
        case DWC3_DEPEVT_EPCMDCMPLT:
-               dev_vdbg(dwc->dev, "Endpoint Command Complete\n");
+               dwc3_trace(trace_dwc3_gadget, "Endpoint Command Complete");
                break;
        }
 }
@@ -2077,7 +2081,7 @@ static void dwc3_stop_active_transfer(struct dwc3 *dwc, u32 epnum, bool force)
         * We have discussed this with the IP Provider and it was
         * suggested to giveback all requests here, but give HW some
         * extra time to synchronize with the interconnect. We're using
-        * an arbitraty 100us delay for that.
+        * an arbitrary 100us delay for that.
         *
         * Note also that a similar handling was tested by Synopsys
         * (thanks a lot Paul) and nothing bad has come out of it.
@@ -2387,7 +2391,8 @@ static void dwc3_gadget_linksts_change_interrupt(struct dwc3 *dwc,
                        (pwropt != DWC3_GHWPARAMS1_EN_PWROPT_HIB)) {
                if ((dwc->link_state == DWC3_LINK_STATE_U3) &&
                                (next == DWC3_LINK_STATE_RESUME)) {
-                       dev_vdbg(dwc->dev, "ignoring transition U3 -> Resume\n");
+                       dwc3_trace(trace_dwc3_gadget,
+                                       "ignoring transition U3 -> Resume");
                        return;
                }
        }
@@ -2509,22 +2514,22 @@ static void dwc3_gadget_interrupt(struct dwc3 *dwc,
                dwc3_gadget_linksts_change_interrupt(dwc, event->event_info);
                break;
        case DWC3_DEVICE_EVENT_EOPF:
-               dev_vdbg(dwc->dev, "End of Periodic Frame\n");
+               dwc3_trace(trace_dwc3_gadget, "End of Periodic Frame");
                break;
        case DWC3_DEVICE_EVENT_SOF:
-               dev_vdbg(dwc->dev, "Start of Periodic Frame\n");
+               dwc3_trace(trace_dwc3_gadget, "Start of Periodic Frame");
                break;
        case DWC3_DEVICE_EVENT_ERRATIC_ERROR:
-               dev_vdbg(dwc->dev, "Erratic Error\n");
+               dwc3_trace(trace_dwc3_gadget, "Erratic Error");
                break;
        case DWC3_DEVICE_EVENT_CMD_CMPL:
-               dev_vdbg(dwc->dev, "Command Complete\n");
+               dwc3_trace(trace_dwc3_gadget, "Command Complete");
                break;
        case DWC3_DEVICE_EVENT_OVERFLOW:
-               dev_vdbg(dwc->dev, "Overflow\n");
+               dwc3_trace(trace_dwc3_gadget, "Overflow");
                break;
        default:
-               dev_dbg(dwc->dev, "UNKNOWN IRQ %d\n", event->type);
+               dev_WARN(dwc->dev, "UNKNOWN IRQ %d\n", event->type);
        }
 }
 
This page took 0.039558 seconds and 5 git commands to generate.