net: mvpp2: Round up top tx buffer boundaries for dcache ops
authorStefan Roese <sr@denx.de>
Thu, 16 Feb 2017 12:58:37 +0000 (13:58 +0100)
committerStefan Roese <sr@denx.de>
Wed, 29 Mar 2017 05:39:44 +0000 (07:39 +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/mvpp2.c

index 88e88b903b3fc63757b0ed46312ef96a7c84f6a6..93eb1f2dd47a6bc9d49c108ec06d7c8b2620d30f 100644 (file)
@@ -3972,7 +3972,8 @@ static int mvpp2_send(struct udevice *dev, void *packet, int length)
                | MVPP2_TXD_F_DESC | MVPP2_TXD_L_DESC;
 
        /* Flush tx data */
-       flush_dcache_range((u32)packet, (u32)packet + length);
+       flush_dcache_range((unsigned long)packet,
+                          (unsigned long)packet + ALIGN(length, PKTALIGN));
 
        /* Enable transmit */
        mb();