]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
net: mvneta: Round up top tx buffer boundaries for dcache ops
authorStefan Roese <sr@denx.de>
Thu, 25 Aug 2016 10:56:50 +0000 (12:56 +0200)
committerStefan Roese <sr@denx.de>
Tue, 27 Sep 2016 15:29:46 +0000 (17:29 +0200)
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>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
drivers/net/mvneta.c

index 6d51b9f0c0d370a03ae071cb3dcafe53294e29dc..7ed9e29fd77f690c0c515f317fdfc7bd0194037d 100644 (file)
@@ -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;