net/hns3: fix Tx push capability
authorMin Hu (Connor) <humin29@huawei.com>
Mon, 30 Aug 2021 08:26:51 +0000 (16:26 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 9 Sep 2021 17:35:40 +0000 (19:35 +0200)
This patch fixes Tx push capability to be compatible with Kunpeng 920,
as Tx push is only supported on Kunpeng 930.

Fixes: 23e317dd1fbf ("net/hns3: support Tx push quick doorbell for performance")
Cc: stable@dpdk.org
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
drivers/net/hns3/hns3_cmd.c
drivers/net/hns3/hns3_cmd.h

index 928f938..6a1e634 100644 (file)
@@ -423,6 +423,7 @@ hns3_get_caps_name(uint32_t caps_id)
        } dev_caps[] = {
                { HNS3_CAPS_FD_QUEUE_REGION_B, "fd_queue_region" },
                { HNS3_CAPS_PTP_B,             "ptp"             },
+               { HNS3_CAPS_TX_PUSH_B,         "tx_push"         },
                { HNS3_CAPS_PHY_IMP_B,         "phy_imp"         },
                { HNS3_CAPS_TQP_TXRX_INDEP_B,  "tqp_txrx_indep"  },
                { HNS3_CAPS_HW_PAD_B,          "hw_pad"          },
@@ -492,6 +493,8 @@ hns3_parse_capability(struct hns3_hw *hw,
                        hns3_warn(hw, "ignore PTP capability due to lack of "
                                  "rxd advanced layout capability.");
        }
+       if (hns3_get_bit(caps, HNS3_CAPS_TX_PUSH_B))
+               hns3_set_bit(hw->capability, HNS3_DEV_SUPPORT_TX_PUSH_B, 1);
        if (hns3_get_bit(caps, HNS3_CAPS_PHY_IMP_B))
                hns3_set_bit(hw->capability, HNS3_DEV_SUPPORT_COPPER_B, 1);
        if (hns3_get_bit(caps, HNS3_CAPS_TQP_TXRX_INDEP_B))
index 88683df..a4683de 100644 (file)
@@ -315,6 +315,7 @@ enum HNS3_CAPS_BITS {
         */
        HNS3_CAPS_FD_QUEUE_REGION_B = 2,
        HNS3_CAPS_PTP_B,
+       HNS3_CAPS_TX_PUSH_B = 6,
        HNS3_CAPS_PHY_IMP_B = 7,
        HNS3_CAPS_TQP_TXRX_INDEP_B,
        HNS3_CAPS_HW_PAD_B,