stmmac: use of_property_read_u32 instead of read_u8
[sfrench/cifs-2.6.git] / drivers / net / ethernet / stmicro / stmmac / stmmac_platform.c
index 8a280b48e3a9fd0c7ada914f2ceea3618e9e34cf..195eb7e71473d318ef63332cbbdc98515f7af697 100644 (file)
@@ -150,6 +150,13 @@ static void stmmac_mtl_setup(struct platform_device *pdev,
        plat->rx_queues_to_use = 1;
        plat->tx_queues_to_use = 1;
 
+       /* First Queue must always be in DCB mode. As MTL_QUEUE_DCB = 1 we need
+        * to always set this, otherwise Queue will be classified as AVB
+        * (because MTL_QUEUE_AVB = 0).
+        */
+       plat->rx_queues_cfg[0].mode_to_use = MTL_QUEUE_DCB;
+       plat->tx_queues_cfg[0].mode_to_use = MTL_QUEUE_DCB;
+
        rx_node = of_parse_phandle(pdev->dev.of_node, "snps,mtl-rx-config", 0);
        if (!rx_node)
                return;
@@ -161,8 +168,8 @@ static void stmmac_mtl_setup(struct platform_device *pdev,
        }
 
        /* Processing RX queues common config */
-       if (of_property_read_u8(rx_node, "snps,rx-queues-to-use",
-                               &plat->rx_queues_to_use))
+       if (of_property_read_u32(rx_node, "snps,rx-queues-to-use",
+                                &plat->rx_queues_to_use))
                plat->rx_queues_to_use = 1;
 
        if (of_property_read_bool(rx_node, "snps,rx-sched-sp"))
@@ -184,8 +191,8 @@ static void stmmac_mtl_setup(struct platform_device *pdev,
                else
                        plat->rx_queues_cfg[queue].mode_to_use = MTL_QUEUE_DCB;
 
-               if (of_property_read_u8(q_node, "snps,map-to-dma-channel",
-                                       &plat->rx_queues_cfg[queue].chan))
+               if (of_property_read_u32(q_node, "snps,map-to-dma-channel",
+                                        &plat->rx_queues_cfg[queue].chan))
                        plat->rx_queues_cfg[queue].chan = queue;
                /* TODO: Dynamic mapping to be included in the future */
 
@@ -215,8 +222,8 @@ static void stmmac_mtl_setup(struct platform_device *pdev,
        }
 
        /* Processing TX queues common config */
-       if (of_property_read_u8(tx_node, "snps,tx-queues-to-use",
-                               &plat->tx_queues_to_use))
+       if (of_property_read_u32(tx_node, "snps,tx-queues-to-use",
+                                &plat->tx_queues_to_use))
                plat->tx_queues_to_use = 1;
 
        if (of_property_read_bool(tx_node, "snps,tx-sched-wrr"))
@@ -237,8 +244,8 @@ static void stmmac_mtl_setup(struct platform_device *pdev,
                if (queue >= plat->tx_queues_to_use)
                        break;
 
-               if (of_property_read_u8(q_node, "snps,weight",
-                                       &plat->tx_queues_cfg[queue].weight))
+               if (of_property_read_u32(q_node, "snps,weight",
+                                        &plat->tx_queues_cfg[queue].weight))
                        plat->tx_queues_cfg[queue].weight = 0x10 + queue;
 
                if (of_property_read_bool(q_node, "snps,dcb-algorithm")) {