[U-Boot] [PATCH] net: mvneta: Round up top tx buffer boundaries for dcache ops

Stefan Roese sr at denx.de
Thu Aug 25 13:19:13 CEST 2016


check_cache_range() warns that the top boundaries are not properly
aligned when flushing or invalidating the buffers and make these
operations fail.

This gets rid of the warnings:
CACHE: Misaligned operation at range ...

Signed-off-by: Stefan Roese <sr at denx.de>
Cc: Joe Hershberger <joe.hershberger at ni.com>
---
 drivers/net/mvneta.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
index fa20f54..c23fe9a 100644
--- a/drivers/net/mvneta.c
+++ b/drivers/net/mvneta.c
@@ -1506,7 +1506,8 @@ static int mvneta_send(struct udevice *dev, void *packet, int length)
 
 	tx_desc->buf_phys_addr = (u32)packet;
 	tx_desc->data_size = length;
-	flush_dcache_range((u32)packet, (u32)packet + length);
+	flush_dcache_range((u32)packet,
+			   (u32)packet + ALIGN(length, PKTALIGN));
 
 	/* First and Last descriptor */
 	tx_desc->command = MVNETA_TX_L4_CSUM_NOT | MVNETA_TXD_FLZ_DESC;
-- 
2.9.3



More information about the U-Boot mailing list