]> git.sur5r.net Git - u-boot/blobdiff - drivers/net/mvpp2.c
net: mvpp2: Round up top tx buffer boundaries for dcache ops
[u-boot] / drivers / net / mvpp2.c
index 900a04c0eeeb6093165c1cf770cdc1fcda75e78d..93eb1f2dd47a6bc9d49c108ec06d7c8b2620d30f 100644 (file)
@@ -22,7 +22,7 @@
 #include <config.h>
 #include <malloc.h>
 #include <asm/io.h>
-#include <asm/errno.h>
+#include <linux/errno.h>
 #include <phy.h>
 #include <miiphy.h>
 #include <watchdog.h>
@@ -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();
@@ -4047,7 +4048,7 @@ static int mvpp2_probe(struct udevice *dev)
                return err;
        }
 
-       return mvpp2_port_probe(dev, port, dev->of_offset, priv,
+       return mvpp2_port_probe(dev, port, dev_of_offset(dev), priv,
                                &buffer_loc.first_rxq);
 }
 
@@ -4138,7 +4139,7 @@ static int mvpp2_base_probe(struct udevice *dev)
 static int mvpp2_base_bind(struct udevice *parent)
 {
        const void *blob = gd->fdt_blob;
-       int node = parent->of_offset;
+       int node = dev_of_offset(parent);
        struct uclass_driver *drv;
        struct udevice *dev;
        struct eth_pdata *plat;
@@ -4153,7 +4154,7 @@ static int mvpp2_base_bind(struct udevice *parent)
                return -ENOENT;
        }
 
-       fdt_for_each_subnode(blob, subnode, node) {
+       fdt_for_each_subnode(subnode, blob, node) {
                /* Skip disabled ports */
                if (!fdtdec_get_is_enabled(blob, subnode))
                        continue;
@@ -4169,7 +4170,7 @@ static int mvpp2_base_bind(struct udevice *parent)
 
                /* Create child device UCLASS_ETH and bind it */
                device_bind(parent, &mvpp2_driver, name, plat, subnode, &dev);
-               dev->of_offset = subnode;
+               dev_set_of_offset(dev, subnode);
        }
 
        return 0;