All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] usb: mtu3: flush cache for the first GPD when allocate GPD ring
@ 2021-09-23  2:59 Chunfeng Yun
  2021-09-29 11:19 ` Marek Vasut
  0 siblings, 1 reply; 2+ messages in thread
From: Chunfeng Yun @ 2021-09-23  2:59 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Ryder Lee, Weijie Gao, Chunfeng Yun, GSS_MTK_Uboot_upstream,
	u-boot, Simon Glass, Xin Lin

When allocate the GPD ring, and tell its address to the controller, then
the driver starts or resumes the QMU, the controller will try to access
the first GPD, so need flush the first one to avoid wrong GPD status.

Reported-by: Xin Lin <Xin.Lin@mediatek.com>
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
 drivers/usb/mtu3/mtu3_qmu.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/usb/mtu3/mtu3_qmu.c b/drivers/usb/mtu3/mtu3_qmu.c
index 95eaf6d236..e8dc0095ab 100644
--- a/drivers/usb/mtu3/mtu3_qmu.c
+++ b/drivers/usb/mtu3/mtu3_qmu.c
@@ -112,6 +112,7 @@ int mtu3_gpd_ring_alloc(struct mtu3_ep *mep)
 	memset(gpd, 0, QMU_GPD_RING_SIZE);
 	ring->dma = (dma_addr_t)gpd;
 	gpd_ring_init(ring, gpd);
+	mtu3_flush_cache((uintptr_t)gpd, sizeof(*gpd));
 
 	return 0;
 }
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] usb: mtu3: flush cache for the first GPD when allocate GPD ring
  2021-09-23  2:59 [PATCH] usb: mtu3: flush cache for the first GPD when allocate GPD ring Chunfeng Yun
@ 2021-09-29 11:19 ` Marek Vasut
  0 siblings, 0 replies; 2+ messages in thread
From: Marek Vasut @ 2021-09-29 11:19 UTC (permalink / raw)
  To: Chunfeng Yun
  Cc: Ryder Lee, Weijie Gao, GSS_MTK_Uboot_upstream, u-boot,
	Simon Glass, Xin Lin, Bin Meng, Tom Rini

On 9/23/21 4:59 AM, Chunfeng Yun wrote:
> When allocate the GPD ring, and tell its address to the controller, then
> the driver starts or resumes the QMU, the controller will try to access
> the first GPD, so need flush the first one to avoid wrong GPD status.
> 
> Reported-by: Xin Lin <Xin.Lin@mediatek.com>
> Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
> ---
>   drivers/usb/mtu3/mtu3_qmu.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/usb/mtu3/mtu3_qmu.c b/drivers/usb/mtu3/mtu3_qmu.c
> index 95eaf6d236..e8dc0095ab 100644
> --- a/drivers/usb/mtu3/mtu3_qmu.c
> +++ b/drivers/usb/mtu3/mtu3_qmu.c
> @@ -112,6 +112,7 @@ int mtu3_gpd_ring_alloc(struct mtu3_ep *mep)
>   	memset(gpd, 0, QMU_GPD_RING_SIZE);
>   	ring->dma = (dma_addr_t)gpd;
>   	gpd_ring_init(ring, gpd);
> +	mtu3_flush_cache((uintptr_t)gpd, sizeof(*gpd));

You want a RB from Bin here, then it should go into current release.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-09-29 11:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-23  2:59 [PATCH] usb: mtu3: flush cache for the first GPD when allocate GPD ring Chunfeng Yun
2021-09-29 11:19 ` Marek Vasut

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.