aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelipe Balbi <felipe.balbi@linux.intel.com>2016-11-03 08:07:51 -0400
committerFelipe Balbi <felipe.balbi@linux.intel.com>2016-11-08 05:52:13 -0500
commit5eb30cedced64cea63005555c1ef67359ffe191f (patch)
tree1d4425e3d82b22fa1aaa54e82e84e2df2d040a67
parent2870e5013e199fab8ba6e4a0e7d0614d46dc9e36 (diff)
usb: dwc3: trace: purge dwc3_trace()
Finally get rid of dwc3_trace() hack. If any other message is truly needed, we should add proper tracepoints for them instead of hacking around with dwc3_trace() or similar. Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
-rw-r--r--drivers/usb/dwc3/Makefile2
-rw-r--r--drivers/usb/dwc3/core.c15
-rw-r--r--drivers/usb/dwc3/debug.c32
-rw-r--r--drivers/usb/dwc3/debug.h7
-rw-r--r--drivers/usb/dwc3/ep0.c46
-rw-r--r--drivers/usb/dwc3/gadget.c57
6 files changed, 24 insertions, 135 deletions
diff --git a/drivers/usb/dwc3/Makefile b/drivers/usb/dwc3/Makefile
index 84de1e4151c4..ffca34029b21 100644
--- a/drivers/usb/dwc3/Makefile
+++ b/drivers/usb/dwc3/Makefile
@@ -6,7 +6,7 @@ obj-$(CONFIG_USB_DWC3) += dwc3.o
6dwc3-y := core.o 6dwc3-y := core.o
7 7
8ifneq ($(CONFIG_FTRACE),) 8ifneq ($(CONFIG_FTRACE),)
9 dwc3-y += debug.o trace.o 9 dwc3-y += trace.o
10endif 10endif
11 11
12ifneq ($(filter y,$(CONFIG_USB_DWC3_HOST) $(CONFIG_USB_DWC3_DUAL_ROLE)),) 12ifneq ($(filter y,$(CONFIG_USB_DWC3_HOST) $(CONFIG_USB_DWC3_DUAL_ROLE)),)
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 5e61ef6a378d..037052db50ef 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -305,13 +305,7 @@ static int dwc3_event_buffers_setup(struct dwc3 *dwc)
305 struct dwc3_event_buffer *evt; 305 struct dwc3_event_buffer *evt;
306 306
307 evt = dwc->ev_buf; 307 evt = dwc->ev_buf;
308 dwc3_trace(trace_dwc3_core,
309 "Event buf %p dma %08llx length %d\n",
310 evt->buf, (unsigned long long) evt->dma,
311 evt->length);
312
313 evt->lpos = 0; 308 evt->lpos = 0;
314
315 dwc3_writel(dwc->regs, DWC3_GEVNTADRLO(0), 309 dwc3_writel(dwc->regs, DWC3_GEVNTADRLO(0),
316 lower_32_bits(evt->dma)); 310 lower_32_bits(evt->dma));
317 dwc3_writel(dwc->regs, DWC3_GEVNTADRHI(0), 311 dwc3_writel(dwc->regs, DWC3_GEVNTADRHI(0),
@@ -428,9 +422,6 @@ static void dwc3_core_num_eps(struct dwc3 *dwc)
428 422
429 dwc->num_in_eps = DWC3_NUM_IN_EPS(parms); 423 dwc->num_in_eps = DWC3_NUM_IN_EPS(parms);
430 dwc->num_out_eps = DWC3_NUM_EPS(parms) - dwc->num_in_eps; 424 dwc->num_out_eps = DWC3_NUM_EPS(parms) - dwc->num_in_eps;
431
432 dwc3_trace(trace_dwc3_core, "found %d IN and %d OUT endpoints",
433 dwc->num_in_eps, dwc->num_out_eps);
434} 425}
435 426
436static void dwc3_cache_hwparams(struct dwc3 *dwc) 427static void dwc3_cache_hwparams(struct dwc3 *dwc)
@@ -656,13 +647,13 @@ static void dwc3_core_setup_global_control(struct dwc3 *dwc)
656 reg |= DWC3_GCTL_GBLHIBERNATIONEN; 647 reg |= DWC3_GCTL_GBLHIBERNATIONEN;
657 break; 648 break;
658 default: 649 default:
659 dwc3_trace(trace_dwc3_core, "No power optimization available\n"); 650 /* nothing */
651 break;
660 } 652 }
661 653
662 /* check if current dwc3 is on simulation board */ 654 /* check if current dwc3 is on simulation board */
663 if (dwc->hwparams.hwparams6 & DWC3_GHWPARAMS6_EN_FPGA) { 655 if (dwc->hwparams.hwparams6 & DWC3_GHWPARAMS6_EN_FPGA) {
664 dwc3_trace(trace_dwc3_core, 656 dev_info(dwc->dev, "Running with FPGA optmizations\n");
665 "running on FPGA platform\n");
666 dwc->is_fpga = true; 657 dwc->is_fpga = true;
667 } 658 }
668 659
diff --git a/drivers/usb/dwc3/debug.c b/drivers/usb/dwc3/debug.c
deleted file mode 100644
index 0be6885bc370..000000000000
--- a/drivers/usb/dwc3/debug.c
+++ /dev/null
@@ -1,32 +0,0 @@
1/**
2 * debug.c - DesignWare USB3 DRD Controller Debug/Trace Support
3 *
4 * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com
5 *
6 * Author: Felipe Balbi <balbi@ti.com>
7 *
8 * This program is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 of
10 * the License as published by the Free Software Foundation.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 */
17
18#include "debug.h"
19
20void dwc3_trace(void (*trace)(struct va_format *), const char *fmt, ...)
21{
22 struct va_format vaf;
23 va_list args;
24
25 va_start(args, fmt);
26 vaf.fmt = fmt;
27 vaf.va = &args;
28
29 trace(&vaf);
30
31 va_end(args);
32}
diff --git a/drivers/usb/dwc3/debug.h b/drivers/usb/dwc3/debug.h
index d93780e84f07..eeed4ffd8131 100644
--- a/drivers/usb/dwc3/debug.h
+++ b/drivers/usb/dwc3/debug.h
@@ -345,13 +345,6 @@ static inline const char *dwc3_gadget_generic_cmd_status_string(int status)
345} 345}
346 346
347 347
348#if IS_ENABLED(CONFIG_FTRACE)
349void dwc3_trace(void (*trace)(struct va_format *), const char *fmt, ...);
350#else
351static inline void dwc3_trace(void (*trace)(struct va_format *), const char *fmt, ...)
352{ }
353#endif
354
355#ifdef CONFIG_DEBUG_FS 348#ifdef CONFIG_DEBUG_FS
356extern void dwc3_debugfs_init(struct dwc3 *); 349extern void dwc3_debugfs_init(struct dwc3 *);
357extern void dwc3_debugfs_exit(struct dwc3 *); 350extern void dwc3_debugfs_exit(struct dwc3 *);
diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c
index 15b62a5aaff8..2b22ea7263d8 100644
--- a/drivers/usb/dwc3/ep0.c
+++ b/drivers/usb/dwc3/ep0.c
@@ -49,10 +49,8 @@ static int dwc3_ep0_start_trans(struct dwc3 *dwc, u8 epnum, dma_addr_t buf_dma,
49 int ret; 49 int ret;
50 50
51 dep = dwc->eps[epnum]; 51 dep = dwc->eps[epnum];
52 if (dep->flags & DWC3_EP_BUSY) { 52 if (dep->flags & DWC3_EP_BUSY)
53 dwc3_trace(trace_dwc3_ep0, "%s still busy", dep->name);
54 return 0; 53 return 0;
55 }
56 54
57 trb = &dwc->ep0_trb[dep->trb_enqueue]; 55 trb = &dwc->ep0_trb[dep->trb_enqueue];
58 56
@@ -144,9 +142,6 @@ static int __dwc3_gadget_ep0_queue(struct dwc3_ep *dep,
144 142
145 if (dwc->ep0state == EP0_STATUS_PHASE) 143 if (dwc->ep0state == EP0_STATUS_PHASE)
146 __dwc3_ep0_do_control_status(dwc, dwc->eps[direction]); 144 __dwc3_ep0_do_control_status(dwc, dwc->eps[direction]);
147 else
148 dwc3_trace(trace_dwc3_ep0,
149 "too early for delayed status");
150 145
151 return 0; 146 return 0;
152 } 147 }
@@ -210,9 +205,8 @@ int dwc3_gadget_ep0_queue(struct usb_ep *ep, struct usb_request *request,
210 205
211 spin_lock_irqsave(&dwc->lock, flags); 206 spin_lock_irqsave(&dwc->lock, flags);
212 if (!dep->endpoint.desc) { 207 if (!dep->endpoint.desc) {
213 dwc3_trace(trace_dwc3_ep0, 208 dev_err(dwc->dev, "%s: can't queue to disabled endpoint\n",
214 "trying to queue request %p to disabled %s", 209 dep->name);
215 request, dep->name);
216 ret = -ESHUTDOWN; 210 ret = -ESHUTDOWN;
217 goto out; 211 goto out;
218 } 212 }
@@ -574,13 +568,12 @@ static int dwc3_ep0_set_address(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl)
574 568
575 addr = le16_to_cpu(ctrl->wValue); 569 addr = le16_to_cpu(ctrl->wValue);
576 if (addr > 127) { 570 if (addr > 127) {
577 dwc3_trace(trace_dwc3_ep0, "invalid device address %d", addr); 571 dev_err(dwc->dev, "invalid device address %d\n", addr);
578 return -EINVAL; 572 return -EINVAL;
579 } 573 }
580 574
581 if (state == USB_STATE_CONFIGURED) { 575 if (state == USB_STATE_CONFIGURED) {
582 dwc3_trace(trace_dwc3_ep0, 576 dev_err(dwc->dev, "can't SetAddress() from Configured State\n");
583 "trying to set address when configured");
584 return -EINVAL; 577 return -EINVAL;
585 } 578 }
586 579
@@ -765,35 +758,27 @@ static int dwc3_ep0_std_request(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl)
765 758
766 switch (ctrl->bRequest) { 759 switch (ctrl->bRequest) {
767 case USB_REQ_GET_STATUS: 760 case USB_REQ_GET_STATUS:
768 dwc3_trace(trace_dwc3_ep0, "USB_REQ_GET_STATUS");
769 ret = dwc3_ep0_handle_status(dwc, ctrl); 761 ret = dwc3_ep0_handle_status(dwc, ctrl);
770 break; 762 break;
771 case USB_REQ_CLEAR_FEATURE: 763 case USB_REQ_CLEAR_FEATURE:
772 dwc3_trace(trace_dwc3_ep0, "USB_REQ_CLEAR_FEATURE");
773 ret = dwc3_ep0_handle_feature(dwc, ctrl, 0); 764 ret = dwc3_ep0_handle_feature(dwc, ctrl, 0);
774 break; 765 break;
775 case USB_REQ_SET_FEATURE: 766 case USB_REQ_SET_FEATURE:
776 dwc3_trace(trace_dwc3_ep0, "USB_REQ_SET_FEATURE");
777 ret = dwc3_ep0_handle_feature(dwc, ctrl, 1); 767 ret = dwc3_ep0_handle_feature(dwc, ctrl, 1);
778 break; 768 break;
779 case USB_REQ_SET_ADDRESS: 769 case USB_REQ_SET_ADDRESS:
780 dwc3_trace(trace_dwc3_ep0, "USB_REQ_SET_ADDRESS");
781 ret = dwc3_ep0_set_address(dwc, ctrl); 770 ret = dwc3_ep0_set_address(dwc, ctrl);
782 break; 771 break;
783 case USB_REQ_SET_CONFIGURATION: 772 case USB_REQ_SET_CONFIGURATION:
784 dwc3_trace(trace_dwc3_ep0, "USB_REQ_SET_CONFIGURATION");
785 ret = dwc3_ep0_set_config(dwc, ctrl); 773 ret = dwc3_ep0_set_config(dwc, ctrl);
786 break; 774 break;
787 case USB_REQ_SET_SEL: 775 case USB_REQ_SET_SEL:
788 dwc3_trace(trace_dwc3_ep0, "USB_REQ_SET_SEL");
789 ret = dwc3_ep0_set_sel(dwc, ctrl); 776 ret = dwc3_ep0_set_sel(dwc, ctrl);
790 break; 777 break;
791 case USB_REQ_SET_ISOCH_DELAY: 778 case USB_REQ_SET_ISOCH_DELAY:
792 dwc3_trace(trace_dwc3_ep0, "USB_REQ_SET_ISOCH_DELAY");
793 ret = dwc3_ep0_set_isoch_delay(dwc, ctrl); 779 ret = dwc3_ep0_set_isoch_delay(dwc, ctrl);
794 break; 780 break;
795 default: 781 default:
796 dwc3_trace(trace_dwc3_ep0, "Forwarding to gadget driver");
797 ret = dwc3_ep0_delegate_req(dwc, ctrl); 782 ret = dwc3_ep0_delegate_req(dwc, ctrl);
798 break; 783 break;
799 } 784 }
@@ -869,9 +854,6 @@ static void dwc3_ep0_complete_data(struct dwc3 *dwc,
869 status = DWC3_TRB_SIZE_TRBSTS(trb->size); 854 status = DWC3_TRB_SIZE_TRBSTS(trb->size);
870 if (status == DWC3_TRBSTS_SETUP_PENDING) { 855 if (status == DWC3_TRBSTS_SETUP_PENDING) {
871 dwc->setup_packet_pending = true; 856 dwc->setup_packet_pending = true;
872
873 dwc3_trace(trace_dwc3_ep0, "Setup Pending received");
874
875 if (r) 857 if (r)
876 dwc3_gadget_giveback(ep0, r, -ECONNRESET); 858 dwc3_gadget_giveback(ep0, r, -ECONNRESET);
877 859
@@ -961,7 +943,7 @@ static void dwc3_ep0_complete_status(struct dwc3 *dwc,
961 943
962 ret = dwc3_gadget_set_test_mode(dwc, dwc->test_mode_nr); 944 ret = dwc3_gadget_set_test_mode(dwc, dwc->test_mode_nr);
963 if (ret < 0) { 945 if (ret < 0) {
964 dwc3_trace(trace_dwc3_ep0, "Invalid Test #%d", 946 dev_err(dwc->dev, "invalid test #%d\n",
965 dwc->test_mode_nr); 947 dwc->test_mode_nr);
966 dwc3_ep0_stall_and_restart(dwc); 948 dwc3_ep0_stall_and_restart(dwc);
967 return; 949 return;
@@ -969,10 +951,8 @@ static void dwc3_ep0_complete_status(struct dwc3 *dwc,
969 } 951 }
970 952
971 status = DWC3_TRB_SIZE_TRBSTS(trb->size); 953 status = DWC3_TRB_SIZE_TRBSTS(trb->size);
972 if (status == DWC3_TRBSTS_SETUP_PENDING) { 954 if (status == DWC3_TRBSTS_SETUP_PENDING)
973 dwc->setup_packet_pending = true; 955 dwc->setup_packet_pending = true;
974 dwc3_trace(trace_dwc3_ep0, "Setup Pending received");
975 }
976 956
977 dwc->ep0state = EP0_SETUP_PHASE; 957 dwc->ep0state = EP0_SETUP_PHASE;
978 dwc3_ep0_out_start(dwc); 958 dwc3_ep0_out_start(dwc);
@@ -1022,10 +1002,8 @@ static void __dwc3_ep0_do_control_data(struct dwc3 *dwc,
1022 1002
1023 ret = usb_gadget_map_request(&dwc->gadget, &req->request, 1003 ret = usb_gadget_map_request(&dwc->gadget, &req->request,
1024 dep->number); 1004 dep->number);
1025 if (ret) { 1005 if (ret)
1026 dwc3_trace(trace_dwc3_ep0, "failed to map request");
1027 return; 1006 return;
1028 }
1029 1007
1030 maxpacket = dep->endpoint.maxpacket; 1008 maxpacket = dep->endpoint.maxpacket;
1031 1009
@@ -1050,10 +1028,8 @@ static void __dwc3_ep0_do_control_data(struct dwc3 *dwc,
1050 } else { 1028 } else {
1051 ret = usb_gadget_map_request(&dwc->gadget, &req->request, 1029 ret = usb_gadget_map_request(&dwc->gadget, &req->request,
1052 dep->number); 1030 dep->number);
1053 if (ret) { 1031 if (ret)
1054 dwc3_trace(trace_dwc3_ep0, "failed to map request");
1055 return; 1032 return;
1056 }
1057 1033
1058 ret = dwc3_ep0_start_trans(dwc, dep->number, req->request.dma, 1034 ret = dwc3_ep0_start_trans(dwc, dep->number, req->request.dma,
1059 req->request.length, DWC3_TRBCTL_CONTROL_DATA, 1035 req->request.length, DWC3_TRBCTL_CONTROL_DATA,
@@ -1123,8 +1099,7 @@ static void dwc3_ep0_xfernotready(struct dwc3 *dwc,
1123 if (dwc->ep0_expect_in != event->endpoint_number) { 1099 if (dwc->ep0_expect_in != event->endpoint_number) {
1124 struct dwc3_ep *dep = dwc->eps[dwc->ep0_expect_in]; 1100 struct dwc3_ep *dep = dwc->eps[dwc->ep0_expect_in];
1125 1101
1126 dwc3_trace(trace_dwc3_ep0, 1102 dev_err(dwc->dev, "unexpected direction for Data Phase\n");
1127 "Wrong direction for Data phase");
1128 dwc3_ep0_end_control_data(dwc, dep); 1103 dwc3_ep0_end_control_data(dwc, dep);
1129 dwc3_ep0_stall_and_restart(dwc); 1104 dwc3_ep0_stall_and_restart(dwc);
1130 return; 1105 return;
@@ -1140,7 +1115,6 @@ static void dwc3_ep0_xfernotready(struct dwc3 *dwc,
1140 1115
1141 if (dwc->delayed_status) { 1116 if (dwc->delayed_status) {
1142 WARN_ON_ONCE(event->endpoint_number != 1); 1117 WARN_ON_ONCE(event->endpoint_number != 1);
1143 dwc3_trace(trace_dwc3_ep0, "Delayed Status");
1144 return; 1118 return;
1145 } 1119 }
1146 1120
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 7e39f0cf4436..e47cba55c431 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -139,9 +139,6 @@ int dwc3_gadget_set_link_state(struct dwc3 *dwc, enum dwc3_link_state state)
139 udelay(5); 139 udelay(5);
140 } 140 }
141 141
142 dwc3_trace(trace_dwc3_gadget,
143 "link state change request timed out");
144
145 return -ETIMEDOUT; 142 return -ETIMEDOUT;
146} 143}
147 144
@@ -1115,8 +1112,7 @@ static void __dwc3_gadget_start_isoc(struct dwc3 *dwc,
1115 u32 uf; 1112 u32 uf;
1116 1113
1117 if (list_empty(&dep->pending_list)) { 1114 if (list_empty(&dep->pending_list)) {
1118 dwc3_trace(trace_dwc3_gadget, 1115 dev_info(dwc->dev, "%s: ran out of requests\n",
1119 "ISOC ep %s run out for requests",
1120 dep->name); 1116 dep->name);
1121 dep->flags |= DWC3_EP_PENDING_REQUEST; 1117 dep->flags |= DWC3_EP_PENDING_REQUEST;
1122 return; 1118 return;
@@ -1145,16 +1141,15 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req)
1145 int ret; 1141 int ret;
1146 1142
1147 if (!dep->endpoint.desc) { 1143 if (!dep->endpoint.desc) {
1148 dwc3_trace(trace_dwc3_gadget, 1144 dev_err(dwc->dev, "%s: can't queue to disabled endpoint\n",
1149 "trying to queue request %p to disabled %s", 1145 dep->name);
1150 &req->request, dep->endpoint.name);
1151 return -ESHUTDOWN; 1146 return -ESHUTDOWN;
1152 } 1147 }
1153 1148
1154 if (WARN(req->dep != dep, "request %p belongs to '%s'\n", 1149 if (WARN(req->dep != dep, "request %p belongs to '%s'\n",
1155 &req->request, req->dep->name)) { 1150 &req->request, req->dep->name)) {
1156 dwc3_trace(trace_dwc3_gadget, "request %p belongs to '%s'", 1151 dev_err(dwc->dev, "%s: request %p belongs to '%s'\n",
1157 &req->request, req->dep->name); 1152 dep->name, &req->request, req->dep->name);
1158 return -EINVAL; 1153 return -EINVAL;
1159 } 1154 }
1160 1155
@@ -1204,10 +1199,6 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req)
1204 return 0; 1199 return 0;
1205 1200
1206 ret = __dwc3_gadget_kick_transfer(dep, 0); 1201 ret = __dwc3_gadget_kick_transfer(dep, 0);
1207 if (ret && ret != -EBUSY)
1208 dwc3_trace(trace_dwc3_gadget,
1209 "%s: failed to kick transfers",
1210 dep->name);
1211 if (ret == -EBUSY) 1202 if (ret == -EBUSY)
1212 ret = 0; 1203 ret = 0;
1213 1204
@@ -1226,7 +1217,6 @@ static int __dwc3_gadget_ep_queue_zlp(struct dwc3 *dwc, struct dwc3_ep *dep)
1226 struct usb_request *request; 1217 struct usb_request *request;
1227 struct usb_ep *ep = &dep->endpoint; 1218 struct usb_ep *ep = &dep->endpoint;
1228 1219
1229 dwc3_trace(trace_dwc3_gadget, "queueing ZLP");
1230 request = dwc3_gadget_ep_alloc_request(ep, GFP_ATOMIC); 1220 request = dwc3_gadget_ep_alloc_request(ep, GFP_ATOMIC);
1231 if (!request) 1221 if (!request)
1232 return -ENOMEM; 1222 return -ENOMEM;
@@ -1345,9 +1335,6 @@ int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value, int protocol)
1345 1335
1346 if (!protocol && ((dep->direction && transfer_in_flight) || 1336 if (!protocol && ((dep->direction && transfer_in_flight) ||
1347 (!dep->direction && started))) { 1337 (!dep->direction && started))) {
1348 dwc3_trace(trace_dwc3_gadget,
1349 "%s: pending request, cannot halt",
1350 dep->name);
1351 return -EAGAIN; 1338 return -EAGAIN;
1352 } 1339 }
1353 1340
@@ -1465,10 +1452,8 @@ static int __dwc3_gadget_wakeup(struct dwc3 *dwc)
1465 1452
1466 speed = reg & DWC3_DSTS_CONNECTSPD; 1453 speed = reg & DWC3_DSTS_CONNECTSPD;
1467 if ((speed == DWC3_DSTS_SUPERSPEED) || 1454 if ((speed == DWC3_DSTS_SUPERSPEED) ||
1468 (speed == DWC3_DSTS_SUPERSPEED_PLUS)) { 1455 (speed == DWC3_DSTS_SUPERSPEED_PLUS))
1469 dwc3_trace(trace_dwc3_gadget, "no wakeup on SuperSpeed");
1470 return 0; 1456 return 0;
1471 }
1472 1457
1473 link_state = DWC3_DSTS_USBLNKST(reg); 1458 link_state = DWC3_DSTS_USBLNKST(reg);
1474 1459
@@ -1477,9 +1462,6 @@ static int __dwc3_gadget_wakeup(struct dwc3 *dwc)
1477 case DWC3_LINK_STATE_U3: /* in HS, means SUSPEND */ 1462 case DWC3_LINK_STATE_U3: /* in HS, means SUSPEND */
1478 break; 1463 break;
1479 default: 1464 default:
1480 dwc3_trace(trace_dwc3_gadget,
1481 "can't wakeup from '%s'",
1482 dwc3_gadget_link_string(link_state));
1483 return -EINVAL; 1465 return -EINVAL;
1484 } 1466 }
1485 1467
@@ -1584,11 +1566,6 @@ static int dwc3_gadget_run_stop(struct dwc3 *dwc, int is_on, int suspend)
1584 if (!timeout) 1566 if (!timeout)
1585 return -ETIMEDOUT; 1567 return -ETIMEDOUT;
1586 1568
1587 dwc3_trace(trace_dwc3_gadget, "gadget %s data soft-%s",
1588 dwc->gadget_driver
1589 ? dwc->gadget_driver->function : "no-function",
1590 is_on ? "connect" : "disconnect");
1591
1592 return 0; 1569 return 0;
1593} 1570}
1594 1571
@@ -1910,8 +1887,6 @@ static int dwc3_gadget_init_hw_endpoints(struct dwc3 *dwc,
1910 dep->endpoint.name = dep->name; 1887 dep->endpoint.name = dep->name;
1911 spin_lock_init(&dep->lock); 1888 spin_lock_init(&dep->lock);
1912 1889
1913 dwc3_trace(trace_dwc3_gadget, "initializing %s", dep->name);
1914
1915 if (epnum == 0 || epnum == 1) { 1890 if (epnum == 0 || epnum == 1) {
1916 usb_ep_set_maxpacket_limit(&dep->endpoint, 512); 1891 usb_ep_set_maxpacket_limit(&dep->endpoint, 512);
1917 dep->endpoint.maxburst = 1; 1892 dep->endpoint.maxburst = 1;
@@ -1958,15 +1933,13 @@ static int dwc3_gadget_init_endpoints(struct dwc3 *dwc)
1958 1933
1959 ret = dwc3_gadget_init_hw_endpoints(dwc, dwc->num_out_eps, 0); 1934 ret = dwc3_gadget_init_hw_endpoints(dwc, dwc->num_out_eps, 0);
1960 if (ret < 0) { 1935 if (ret < 0) {
1961 dwc3_trace(trace_dwc3_gadget, 1936 dev_err(dwc->dev, "failed to initialize OUT endpoints\n");
1962 "failed to allocate OUT endpoints");
1963 return ret; 1937 return ret;
1964 } 1938 }
1965 1939
1966 ret = dwc3_gadget_init_hw_endpoints(dwc, dwc->num_in_eps, 1); 1940 ret = dwc3_gadget_init_hw_endpoints(dwc, dwc->num_in_eps, 1);
1967 if (ret < 0) { 1941 if (ret < 0) {
1968 dwc3_trace(trace_dwc3_gadget, 1942 dev_err(dwc->dev, "failed to initialize IN endpoints\n");
1969 "failed to allocate IN endpoints");
1970 return ret; 1943 return ret;
1971 } 1944 }
1972 1945
@@ -2041,9 +2014,6 @@ static int __dwc3_cleanup_done_trbs(struct dwc3 *dwc, struct dwc3_ep *dep,
2041 if (count) { 2014 if (count) {
2042 trb_status = DWC3_TRB_SIZE_TRBSTS(trb->size); 2015 trb_status = DWC3_TRB_SIZE_TRBSTS(trb->size);
2043 if (trb_status == DWC3_TRBSTS_MISSED_ISOC) { 2016 if (trb_status == DWC3_TRBSTS_MISSED_ISOC) {
2044 dwc3_trace(trace_dwc3_gadget,
2045 "%s: incomplete IN transfer",
2046 dep->name);
2047 /* 2017 /*
2048 * If missed isoc occurred and there is 2018 * If missed isoc occurred and there is
2049 * no request queued then issue END 2019 * no request queued then issue END
@@ -2669,8 +2639,6 @@ static void dwc3_gadget_linksts_change_interrupt(struct dwc3 *dwc,
2669 (pwropt != DWC3_GHWPARAMS1_EN_PWROPT_HIB)) { 2639 (pwropt != DWC3_GHWPARAMS1_EN_PWROPT_HIB)) {
2670 if ((dwc->link_state == DWC3_LINK_STATE_U3) && 2640 if ((dwc->link_state == DWC3_LINK_STATE_U3) &&
2671 (next == DWC3_LINK_STATE_RESUME)) { 2641 (next == DWC3_LINK_STATE_RESUME)) {
2672 dwc3_trace(trace_dwc3_gadget,
2673 "ignoring transition U3 -> Resume");
2674 return; 2642 return;
2675 } 2643 }
2676 } 2644 }
@@ -2804,11 +2772,7 @@ static void dwc3_gadget_interrupt(struct dwc3 *dwc,
2804 break; 2772 break;
2805 case DWC3_DEVICE_EVENT_EOPF: 2773 case DWC3_DEVICE_EVENT_EOPF:
2806 /* It changed to be suspend event for version 2.30a and above */ 2774 /* It changed to be suspend event for version 2.30a and above */
2807 if (dwc->revision < DWC3_REVISION_230A) { 2775 if (dwc->revision >= DWC3_REVISION_230A) {
2808 dwc3_trace(trace_dwc3_gadget, "End of Periodic Frame");
2809 } else {
2810 dwc3_trace(trace_dwc3_gadget, "U3/L1-L2 Suspend Event");
2811
2812 /* 2776 /*
2813 * Ignore suspend event until the gadget enters into 2777 * Ignore suspend event until the gadget enters into
2814 * USB_STATE_CONFIGURED state. 2778 * USB_STATE_CONFIGURED state.
@@ -3059,8 +3023,7 @@ int dwc3_gadget_init(struct dwc3 *dwc)
3059 * composite.c that we are USB 2.0 + LPM ECN. 3023 * composite.c that we are USB 2.0 + LPM ECN.
3060 */ 3024 */
3061 if (dwc->revision < DWC3_REVISION_220A) 3025 if (dwc->revision < DWC3_REVISION_220A)
3062 dwc3_trace(trace_dwc3_gadget, 3026 dev_info(dwc->dev, "changing max_speed on rev %08x\n",
3063 "Changing max_speed on rev %08x",
3064 dwc->revision); 3027 dwc->revision);
3065 3028
3066 dwc->gadget.max_speed = dwc->maximum_speed; 3029 dwc->gadget.max_speed = dwc->maximum_speed;