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

Baruch Siach baruch at tkos.co.il
Sun Jun 17 11:55:04 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

Signed-off-by: Rabeeh Khoury <rabeeh at solid-run.com>
Signed-off-by: Baruch Siach <baruch at tkos.co.il>
---
 drivers/net/mvneta.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
index 45e5eda95522..316a72b16517 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