summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYe Li <ye.li@nxp.com>2018-04-20 01:48:25 -0700
committerYe Li <ye.li@nxp.com>2018-04-27 06:14:51 -0700
commit0533fa7e8d9a538fb2d3816cb54d5159f8868a85 (patch)
tree5a99784acdb4a41c0a69331428fdb7d32d8a4411
parent67d4a7dbe1b9a9584d9ef5f6e208a6e411aa6cd4 (diff)
MLK-18161-20 usb: xhci-mem: Fix scratchpad array issue
After updating the value of dev_context_ptrs[0], we should flush this from cache to memory. Otherwise the controller won't use it. Signed-off-by: Ye Li <ye.li@nxp.com>
-rw-r--r--drivers/usb/host/xhci-mem.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
index 0582a9be40..2f6abbf448 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
@@ -370,6 +370,8 @@ static int xhci_scratchpad_alloc(struct xhci_ctrl *ctrl)
ctrl->dcbaa->dev_context_ptrs[0] =
cpu_to_le64((uintptr_t)scratchpad->sp_array);
+ xhci_flush_cache((uintptr_t)&ctrl->dcbaa->dev_context_ptrs[0], sizeof(__le64));
+
page_size = xhci_readl(&hcor->or_pagesize) & 0xffff;
for (i = 0; i < 16; i++) {
if ((0x1 & page_size) != 0)