[U-Boot] [PATCH v2 1/2] net: mvneta: dcache flush TX descriptors at init

Baruch Siach baruch at tkos.co.il
Tue Jun 19 18:36:50 UTC 2018


From: Rabeeh Khoury <rabeeh at solid-run.com>

This fixes sporadic timeout on initial packet Tx (usually ARP), with an
error message like:

  timeout: packet not sent

Reviewed-by: Stefan Roese <sr at denx.de>
Tested-by: Chris Packham <judge.packham at gmail.com>
Acked-by: Joe Hershberger <joe.hershberger at ni.com>
Signed-off-by: Rabeeh Khoury <rabeeh at solid-run.com>
Signed-off-by: Baruch Siach <baruch at tkos.co.il>
---
v2: Make the patch checkpatch compliant (Stefan Roese)
---
 drivers/net/mvneta.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
index 45e5eda95522..254dd04697db 100644
--- a/drivers/net/mvneta.c
+++ b/drivers/net/mvneta.c
@@ -1702,6 +1702,7 @@ static int mvneta_probe(struct udevice *dev)
 
 		/* Align buffer area for descs and rx_buffers to 1MiB */
 		bd_space = memalign(1 << MMU_SECTION_SHIFT, BD_SPACE);
+		flush_dcache_range((ulong)bd_space, (ulong)bd_space + BD_SPACE);
 		mmu_set_region_dcache_behaviour((phys_addr_t)bd_space, BD_SPACE,
 						DCACHE_OFF);
 		buffer_loc.tx_descs = (struct mvneta_tx_desc *)bd_space;
-- 
2.17.1



More information about the U-Boot mailing list