net/octeontx2: fix minimum length to SMQ config
authorSunil Kumar Kori <skori@marvell.com>
Mon, 11 May 2020 06:21:56 +0000 (11:51 +0530)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 11 May 2020 20:27:39 +0000 (22:27 +0200)
NIX exposes NIX_AF_SMQ(0..511)_CFG to configure minimum length
of the packet which is being used for zero padding if packet is
less than configured value.

Setting it to default minimum length i.e. 60 bytes.

Fixes: ec8ddd4fb1be ("net/octeontx2: restructure TM helper functions")

Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
drivers/net/octeontx2/otx2_tm.c

index b57e10f..8ed0595 100644 (file)
@@ -555,10 +555,13 @@ populate_tm_reg(struct otx2_eth_dev *dev,
        switch (hw_lvl) {
        case NIX_TXSCH_LVL_SMQ:
 
-               /* Set xoff which will be cleared later */
+               /* Set xoff which will be cleared later and minimum length
+                * which will be used for zero padding if packet length is
+                * smaller
+                */
                reg[k] = NIX_AF_SMQX_CFG(schq);
-               regval[k] = BIT_ULL(50);
-               regval_mask[k] = ~BIT_ULL(50);
+               regval[k] = BIT_ULL(50) | NIX_MIN_HW_FRS;
+               regval_mask[k] = ~(BIT_ULL(50) | 0x7f);
                k++;
 
                /* Parent and schedule conf */