mlxsw: pci: Adjust value of CPU egress traffic class
authorIdo Schimmel <idosch@mellanox.com>
Tue, 5 Jan 2016 10:36:40 +0000 (11:36 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 6 Jan 2016 05:48:50 +0000 (00:48 -0500)
During initialization, when creating the send descriptor queues (SDQs),
we specify the CPU egress traffic class of each SDQ. The maximum number
of classes of this type is different in the two ASICs supported by this
PCI driver.

New firmware versions check this value is set correctly, which causes
errors on the Spectrum ASIC, as its max exposed egress traffic class is
lower than 7.

Solve this by setting this field to 3, which is an acceptable value for
both ASICs.

Note that we currently do not expose the QoS capabilities of the ASICs,
so setting this to an hardcoded value is OK for now.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/pci.c

index d2102e5..c071077 100644 (file)
@@ -384,7 +384,7 @@ static int mlxsw_pci_sdq_init(struct mlxsw_pci *mlxsw_pci, char *mbox,
 
        /* Set CQ of same number of this SDQ. */
        mlxsw_cmd_mbox_sw2hw_dq_cq_set(mbox, q->num);
-       mlxsw_cmd_mbox_sw2hw_dq_sdq_tclass_set(mbox, 7);
+       mlxsw_cmd_mbox_sw2hw_dq_sdq_tclass_set(mbox, 3);
        mlxsw_cmd_mbox_sw2hw_dq_log2_dq_sz_set(mbox, 3); /* 8 pages */
        for (i = 0; i < MLXSW_PCI_AQ_PAGES; i++) {
                dma_addr_t mapaddr = __mlxsw_pci_queue_page_get(q, i);