forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/drivers/usb/host/ohci-tmio.c
....@@ -97,10 +97,13 @@
9797 switch (ohci->num_ports) {
9898 default:
9999 dev_err(&dev->dev, "Unsupported amount of ports: %d\n", ohci->num_ports);
100
+ fallthrough;
100101 case 3:
101102 pm |= CCR_PM_USBPW3;
103
+ fallthrough;
102104 case 2:
103105 pm |= CCR_PM_USBPW2;
106
+ fallthrough;
104107 case 1:
105108 pm |= CCR_PM_USBPW1;
106109 }
....@@ -153,7 +156,7 @@
153156
154157 /* generic hardware linkage */
155158 .irq = ohci_irq,
156
- .flags = HCD_USB11 | HCD_MEMORY | HCD_LOCAL_MEM,
159
+ .flags = HCD_USB11 | HCD_MEMORY,
157160
158161 /* basic lifecycle operations */
159162 .start = ohci_tmio_start,
....@@ -227,11 +230,6 @@
227230 goto err_ioremap_regs;
228231 }
229232
230
- ret = dma_declare_coherent_memory(&dev->dev, sram->start, sram->start,
231
- resource_size(sram), DMA_MEMORY_EXCLUSIVE);
232
- if (ret)
233
- goto err_dma_declare;
234
-
235233 if (cell->enable) {
236234 ret = cell->enable(dev);
237235 if (ret)
....@@ -241,6 +239,11 @@
241239 tmio_start_hc(dev);
242240 ohci = hcd_to_ohci(hcd);
243241 ohci_hcd_init(ohci);
242
+
243
+ ret = usb_hcd_setup_local_mem(hcd, sram->start, sram->start,
244
+ resource_size(sram));
245
+ if (ret < 0)
246
+ goto err_enable;
244247
245248 ret = usb_add_hcd(hcd, irq, 0);
246249 if (ret)
....@@ -257,8 +260,6 @@
257260 if (cell->disable)
258261 cell->disable(dev);
259262 err_enable:
260
- dma_release_declared_memory(&dev->dev);
261
-err_dma_declare:
262263 iounmap(hcd->regs);
263264 err_ioremap_regs:
264265 iounmap(tmio->ccr);
....@@ -279,7 +280,6 @@
279280 tmio_stop_hc(dev);
280281 if (cell->disable)
281282 cell->disable(dev);
282
- dma_release_declared_memory(&dev->dev);
283283 iounmap(hcd->regs);
284284 iounmap(tmio->ccr);
285285 usb_put_hcd(hcd);