]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commitdiff
net: dsa: bcm_sf2: Advertise number of egress queues
authorFlorian Fainelli <f.fainelli@gmail.com>
Mon, 4 Sep 2017 03:27:02 +0000 (20:27 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 Sep 2017 18:53:34 +0000 (11:53 -0700)
The switch supports 8 egress queues per port, so indicate that such that
net/dsa/slave.c::dsa_slave_create can allocate the right number of TX queues.
While at it use SF2_NUM_EGRESS_QUEUE as a define for the number of queues we
support.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/bcm_sf2.c
drivers/net/dsa/bcm_sf2_regs.h

index 554fe2df9365c1dcac7da70c17da37a8dcb0fa74..6b184bafa235ba9be9f8c8561932a6074db5839d 100644 (file)
@@ -244,7 +244,7 @@ static int bcm_sf2_port_setup(struct dsa_switch *ds, int port,
         * to a different queue number
         */
        reg = core_readl(priv, CORE_PORT_TC2_QOS_MAP_PORT(port));
-       for (i = 0; i < 8; i++)
+       for (i = 0; i < SF2_NUM_EGRESS_QUEUES; i++)
                reg |= i << (PRT_TO_QID_SHIFT * i);
        core_writel(priv, reg, CORE_PORT_TC2_QOS_MAP_PORT(port));
 
@@ -1151,6 +1151,9 @@ static int bcm_sf2_sw_probe(struct platform_device *pdev)
        ds = dev->ds;
        ds->ops = &bcm_sf2_ops;
 
+       /* Advertise the 8 egress queues */
+       ds->num_tx_queues = SF2_NUM_EGRESS_QUEUES;
+
        dev_set_drvdata(&pdev->dev, priv);
 
        spin_lock_init(&priv->indir_lock);
index 26052450091ecf33111e587bbd86c4f629ea9f56..49695fcc2ea8f78c573d4e31523ab85358cec721 100644 (file)
@@ -401,4 +401,7 @@ enum bcm_sf2_reg_offs {
 
 #define CFP_NUM_RULES                  256
 
+/* Number of egress queues per port */
+#define SF2_NUM_EGRESS_QUEUES          8
+
 #endif /* __BCM_SF2_REGS_H */