diff mbox

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

Message ID 20160825111913.24218-1-sr@denx.de
State Accepted
Commit 35e3fca7e3ddaa2ae1fe9bd00b22be73e60a6042
Delegated to: Stefan Roese
Headers show

Commit Message

Stefan Roese Aug. 25, 2016, 11:19 a.m. UTC
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@denx.de>
Cc: Joe Hershberger <joe.hershberger@ni.com>
---
 drivers/net/mvneta.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Joe Hershberger Aug. 25, 2016, 4:37 p.m. UTC | #1
On Thu, Aug 25, 2016 at 6:19 AM, Stefan Roese <sr@denx.de> wrote:
> 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@denx.de>
> Cc: Joe Hershberger <joe.hershberger@ni.com>

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
diff mbox

Patch

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;