summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCatalin Marinas <catalin.marinas@arm.com>2017-04-18 08:32:26 (GMT)
committerXie Xiaobo <xiaobo.xie@nxp.com>2017-09-25 07:25:26 (GMT)
commit41dc74435b8ee1f5b9e4fa21101783bb0940a842 (patch)
tree43e108fedaad4a7040a3fa794ec5894529494e7e
parent349b4154d03133d282f839a812f2c349ead9cdb9 (diff)
downloadlinux-41dc74435b8ee1f5b9e4fa21101783bb0940a842.tar.xz
usb: dwc3: initiated xhci probe problem in arm64 4.4 kernel due to DMA setup
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
-rw-r--r--drivers/usb/dwc3/host.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c
index 626d87d..1505384 100644
--- a/drivers/usb/dwc3/host.c
+++ b/drivers/usb/dwc3/host.c
@@ -17,6 +17,8 @@
#include <linux/platform_device.h>
+#include <linux/of_device.h>
+
#include "core.h"
int dwc3_host_init(struct dwc3 *dwc)
@@ -73,9 +75,12 @@ int dwc3_host_init(struct dwc3 *dwc)
return -ENOMEM;
}
- dma_set_coherent_mask(&xhci->dev, dwc->dev->coherent_dma_mask);
+ if (IS_ENABLED(CONFIG_OF) && dwc->dev->of_node)
+ of_dma_configure(&xhci->dev, dwc->dev->of_node);
+ else
+ dma_set_coherent_mask(&xhci->dev, dwc->dev->coherent_dma_mask);
- xhci->dev.parent = dwc->dev;
+ xhci->dev.parent = dwc->dev;
xhci->dev.dma_mask = dwc->dev->dma_mask;
xhci->dev.dma_parms = dwc->dev->dma_parms;