diff options
author | Tom Rini <trini@konsulko.com> | 2024-09-30 17:48:12 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-09-30 17:48:12 -0600 |
commit | 3a0b829efc35227b1079a444f00e0729502197ad (patch) | |
tree | 0b63050b1d46587a800c1a4e277a69170640da00 /drivers/usb/cdns3/gadget.c | |
parent | ddbcafeb53e7093c58488596bfce6d8823777c3a (diff) | |
parent | 9cfe0cab3bf135a505e1e163ca442a4e4064d58e (diff) |
Merge tag 'v2024.10-rc6' into next
Prepare v2024.10-rc6
Diffstat (limited to 'drivers/usb/cdns3/gadget.c')
-rw-r--r-- | drivers/usb/cdns3/gadget.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/usb/cdns3/gadget.c b/drivers/usb/cdns3/gadget.c index 32b2c412068..ac7e469469a 100644 --- a/drivers/usb/cdns3/gadget.c +++ b/drivers/usb/cdns3/gadget.c @@ -965,6 +965,12 @@ int cdns3_ep_run_transfer(struct cdns3_endpoint *priv_ep, if (priv_dev->dev_ver <= DEV_VER_V2) cdns3_wa1_tray_restore_cycle_bit(priv_dev, priv_ep); + /* Flush TRBs */ + flush_dcache_range((unsigned long)priv_ep->trb_pool, + (unsigned long)priv_ep->trb_pool + + ROUND(sizeof(struct cdns3_trb) * priv_ep->num_trbs, + CONFIG_SYS_CACHELINE_SIZE)); + trace_cdns3_prepare_trb(priv_ep, priv_req->trb); /* @@ -1153,6 +1159,13 @@ static void cdns3_transfer_completed(struct cdns3_device *priv_dev, priv_ep->endpoint.desc->bEndpointAddress); #endif + /* Invalidate TRBs */ + invalidate_dcache_range((unsigned long)priv_ep->trb_pool, + (unsigned long)priv_ep->trb_pool + + ROUND(sizeof(struct cdns3_trb) * + priv_ep->num_trbs, + CONFIG_SYS_CACHELINE_SIZE)); + if (!cdns3_request_handled(priv_ep, priv_req)) goto prepare_next_td; |