summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorfaqiang.zhu <faqiang.zhu@nxp.com>2020-01-13 18:36:58 +0800
committerYe Li <ye.li@nxp.com>2022-04-06 18:03:26 +0800
commit151793b87ad6ec5b8130c7d5af90c5fbe304a2e1 (patch)
treeb2b8161a13a6b839b66ac7e0762e1f4abf96d83b /drivers/usb
parent86ddebd6a097e2ab1a3ebf8de58ca3243d2f7a45 (diff)
MA-15300-4 flush fastboot usb request buf cache before data movement
when boot from A72, use fastboot to download images, the first usb request buf to save image data may have problem with the cache, which cause the last 64bytes of this packet to be wrong. flush this cache before data movement to avoid this issue. Change-Id: Ic0927f1ec90ec9fb4cecdf4055bc7f536ef5471a Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com> (cherry picked from commit 45119132756b951c6f52e27625c06f94e4f0db59) (cherry picked from commit 467f1d9f0c133438500d1c151c52276152bf36bf) (cherry picked from commit 03140104b002e9df184646510d441035707b9ee0) (cherry picked from commit d6d4917e4a4d8d184fad7c118d17d63b831b6b5f)
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/cdns3/gadget.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/cdns3/gadget.c b/drivers/usb/cdns3/gadget.c
index 839decd390..0648957cb7 100644
--- a/drivers/usb/cdns3/gadget.c
+++ b/drivers/usb/cdns3/gadget.c
@@ -816,6 +816,7 @@ static int cdns_check_ep_interrupt_proceed(struct usb_ss_endpoint *usb_ss_ep)
/* get just completed request */
request = next_request(&usb_ss_ep->request_list);
ep_dir = usb_ss_ep->endpoint.desc->bEndpointAddress;
+ cdns_flush_cache((uintptr_t)request->dma, request->length);
usb_gadget_unmap_request(&usb_ss->gadget, request,
ep_dir & ENDPOINT_DIR_MASK);