summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2019-06-11 11:33:33 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2019-06-11 11:33:33 +0200
commit83db5efb05a1168f2a8ddc0b69072e5fd9af2b25 (patch)
tree90fc4137e9ff72d2e94e2b0c6b0f28776e33d7bc /drivers/usb
parented16d83afd1fcc0344e30a7ab053e095b2a5711a (diff)
parent380282a061967a2cebf416f12a63c793b2a51c03 (diff)
downloadbarebox-83db5efb05a1168f2a8ddc0b69072e5fd9af2b25.tar.gz
barebox-83db5efb05a1168f2a8ddc0b69072e5fd9af2b25.tar.xz
Merge branch 'for-next/dma'
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/fsl_udc.c6
-rw-r--r--drivers/usb/host/Kconfig2
-rw-r--r--drivers/usb/host/ohci-hcd.c2
3 files changed, 3 insertions, 7 deletions
diff --git a/drivers/usb/gadget/fsl_udc.c b/drivers/usb/gadget/fsl_udc.c
index 705f6c0ba7..a47ba20f46 100644
--- a/drivers/usb/gadget/fsl_udc.c
+++ b/drivers/usb/gadget/fsl_udc.c
@@ -1143,11 +1143,10 @@ static struct ep_td_struct *fsl_build_dtd(struct fsl_req *req, unsigned *length,
(unsigned)EP_MAX_LENGTH_TRANSFER);
dtd = dma_alloc_coherent(sizeof(struct ep_td_struct),
- DMA_ADDRESS_BROKEN);
+ dma);
if (dtd == NULL)
return dtd;
- *dma = (dma_addr_t)virt_to_phys(dtd);
dtd->td_dma = *dma;
/* Clear reserved field */
swap_temp = cpu_to_le32(dtd->size_ioc_sts);
@@ -2066,13 +2065,12 @@ static int struct_udc_setup(struct fsl_udc *udc,
size &= ~(QH_ALIGNMENT - 1);
}
- udc->ep_qh = dma_alloc_coherent(size, DMA_ADDRESS_BROKEN);
+ udc->ep_qh = dma_alloc_coherent(size, &udc->ep_qh_dma);
if (!udc->ep_qh) {
ERR("malloc QHs for udc failed\n");
kfree(udc->eps);
return -1;
}
- udc->ep_qh_dma = (dma_addr_t)virt_to_phys(udc->ep_qh);
udc->ep_qh_size = size;
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index db44052525..d2029bc7d7 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -15,7 +15,7 @@ config USB_EHCI_ATMEL
config USB_OHCI
bool "OHCI driver"
- depends on !MMU
+ depends on !MMU && HAS_DMA
config USB_OHCI_AT91
depends on ARCH_AT91
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index 612c3a1033..924dc8e1f6 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -1765,7 +1765,6 @@ static int ohci_init(struct usb_host *host)
DMA_ADDRESS_BROKEN);
if (!ohci->ptd)
return -ENOMEM;
- memset(ohci->ptd, 0, sizeof(struct td) * NUM_TD);
ohci->disabled = 1;
ohci->irq = -1;
@@ -1815,7 +1814,6 @@ static int ohci_probe(struct device_d *dev)
DMA_ADDRESS_BROKEN);
if (!ohci->ohci_dev)
return -ENOMEM;
- memset(ohci->ohci_dev, 0, sizeof(*ohci->ohci_dev));
usb_register_host(host);