net: davinci_emac: Round up top tx buffer boundaries for dcache ops
authorkarl beldan <karl.beldan@gmail.com>
Mon, 15 Aug 2016 17:23:00 +0000 (17:23 +0000)
committerJoe Hershberger <joe.hershberger@ni.com>
Mon, 22 Aug 2016 19:21:09 +0000 (14:21 -0500)
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 remaining warnings:
CACHE: Misaligned operation at range

Signed-off-by: Karl Beldan <karl.beldan+oss@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com>
drivers/net/davinci_emac.c

index c591773660ac07eabaaa034b1a606093216f8716..187137c8b477692dec2970047d2585e93885fb78 100644 (file)
@@ -637,7 +637,7 @@ static int davinci_eth_send_packet (struct eth_device *dev,
                                      EMAC_CPPI_EOP_BIT);
 
        flush_dcache_range((unsigned long)packet,
-                       (unsigned long)packet + length);
+                          (unsigned long)packet + ALIGN(length, PKTALIGN));
 
        /* Send the packet */
        writel(BD_TO_HW((unsigned long)emac_tx_desc), &adap_emac->TX0HDP);