usb_gadget_unmap_request(&dwc->gadget, &req->request,
                                req->direction);
 
-       dev_dbg(dwc->dev, "request %p from %s completed %d/%d ===> %d\n",
-                       req, dep->name, req->request.actual,
-                       req->request.length, status);
        trace_dwc3_gadget_giveback(req);
 
        spin_unlock(&dwc->lock);
        cmd |= DWC3_DEPCMD_PARAM(cmd_param);
        ret = dwc3_send_gadget_ep_cmd(dwc, dep->number, cmd, ¶ms);
        if (ret < 0) {
-               dev_dbg(dwc->dev, "failed to send STARTTRANSFER command\n");
-
                /*
                 * FIXME we need to iterate over the list of requests
                 * here and stop, unmap, free and del each of the linked
        int                     ret;
 
        if (!dep->endpoint.desc) {
-               dev_dbg(dwc->dev, "trying to queue request %p to disabled %s\n",
+               dwc3_trace(trace_dwc3_gadget,
+                               "trying to queue request %p to disabled %s\n",
                                &req->request, dep->endpoint.name);
                return -ESHUTDOWN;
        }
 
        if (WARN(req->dep != dep, "request %p belongs to '%s'\n",
                                &req->request, req->dep->name)) {
+               dwc3_trace(trace_dwc3_gadget, "request %p belongs to '%s'\n",
+                               &req->request, req->dep->name);
                return -EINVAL;
        }
 
 
 out:
        if (ret && ret != -EBUSY)
-               dev_dbg(dwc->dev, "%s: failed to kick transfers\n",
+               dwc3_trace(trace_dwc3_gadget,
+                               "%s: failed to kick transfers\n",
                                dep->name);
        if (ret == -EBUSY)
                ret = 0;
                if (!protocol && ((dep->direction && dep->flags & DWC3_EP_BUSY) ||
                                (!list_empty(&dep->req_queued) ||
                                 !list_empty(&dep->request_list)))) {
-                       dev_dbg(dwc->dev, "%s: pending request, cannot halt\n",
+                       dwc3_trace(trace_dwc3_gadget,
+                                       "%s: pending request, cannot halt\n",
                                        dep->name);
                        return -EAGAIN;
                }
 
        speed = reg & DWC3_DSTS_CONNECTSPD;
        if (speed == DWC3_DSTS_SUPERSPEED) {
-               dev_dbg(dwc->dev, "no wakeup on SuperSpeed\n");
+               dwc3_trace(trace_dwc3_gadget, "no wakeup on SuperSpeed\n");
                ret = -EINVAL;
                goto out;
        }
        case DWC3_LINK_STATE_U3:        /* in HS, means SUSPEND */
                break;
        default:
-               dev_dbg(dwc->dev, "can't wakeup from link state %d\n",
-                               link_state);
+               dwc3_trace(trace_dwc3_gadget,
+                               "can't wakeup from '%s'\n",
+                               dwc3_gadget_link_string(link_state));
                ret = -EINVAL;
                goto out;
        }
                if (count) {
                        trb_status = DWC3_TRB_SIZE_TRBSTS(trb->size);
                        if (trb_status == DWC3_TRBSTS_MISSED_ISOC) {
-                               dev_dbg(dwc->dev, "incomplete IN transfer %s\n",
+                               dwc3_trace(trace_dwc3_gadget,
+                                               "%s: incomplete IN transfer\n",
                                                dep->name);
                                /*
                                 * If missed isoc occurred and there is
                dep->resource_index = 0;
 
                if (usb_endpoint_xfer_isoc(dep->endpoint.desc)) {
-                       dev_dbg(dwc->dev, "%s is an Isochronous endpoint\n",
+                       dwc3_trace(trace_dwc3_gadget,
+                                       "%s is an Isochronous endpoint\n",
                                        dep->name);
                        return;
                }
                        if (!ret || ret == -EBUSY)
                                return;
 
-                       dev_dbg(dwc->dev, "%s: failed to kick transfers\n",
+                       dwc3_trace(trace_dwc3_gadget,
+                                       "%s: failed to kick transfers\n",
                                        dep->name);
                }
 
                case DEPEVT_STREAMEVT_NOTFOUND:
                        /* FALLTHROUGH */
                default:
-                       dev_dbg(dwc->dev, "Couldn't find suitable stream\n");
+                       dwc3_trace(trace_dwc3_gadget,
+                                       "unable to find suitable stream\n");
                }
                break;
        case DWC3_DEPEVT_RXTXFIFOEVT:
-               dev_dbg(dwc->dev, "%s FIFO Overrun\n", dep->name);
+               dwc3_trace(trace_dwc3_gadget, "%s FIFO Overrun\n", dep->name);
                break;
        case DWC3_DEPEVT_EPCMDCMPLT:
                dwc3_trace(trace_dwc3_gadget, "Endpoint Command Complete");