ethdev now validates requests for VMDq Rx and Tx modes.
No need to validate again in the driver.

Note:
- for igb, max_vmdq_pools is already 0 for models that do not support
  VMDq, so checking the VMDq modes is unneeded,
- for i40e, the FW flag was already checked to populate max_vmdq_pools,

Signed-off-by: David Marchand <[email protected]>
---
 drivers/net/hns3/hns3_dcb.c          |  9 -------
 drivers/net/intel/e1000/igb_rxtx.c   | 39 ----------------------------
 drivers/net/intel/i40e/i40e_ethdev.c |  5 ----
 3 files changed, 53 deletions(-)

diff --git a/drivers/net/hns3/hns3_dcb.c b/drivers/net/hns3/hns3_dcb.c
index 6d2945d9c5..e7912aebb2 100644
--- a/drivers/net/hns3/hns3_dcb.c
+++ b/drivers/net/hns3/hns3_dcb.c
@@ -1840,7 +1840,6 @@ int
 hns3_check_dev_mq_mode(struct rte_eth_dev *dev)
 {
        enum rte_eth_rx_mq_mode rx_mq_mode = dev->data->dev_conf.rxmode.mq_mode;
-       enum rte_eth_tx_mq_mode tx_mq_mode = dev->data->dev_conf.txmode.mq_mode;
        struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(dev->data->dev_private);
        struct hns3_adapter *hns = HNS3_DEV_HW_TO_ADAPTER(hw);
        struct rte_eth_dcb_rx_conf *dcb_rx_conf;
@@ -1849,14 +1848,6 @@ hns3_check_dev_mq_mode(struct rte_eth_dev *dev)
        int max_tc = 0;
        int i;
 
-       if (((uint32_t)rx_mq_mode & RTE_ETH_MQ_RX_VMDQ_FLAG) ||
-           (tx_mq_mode == RTE_ETH_MQ_TX_VMDQ_DCB ||
-            tx_mq_mode == RTE_ETH_MQ_TX_VMDQ_ONLY)) {
-               hns3_err(hw, "VMDQ is not supported, rx_mq_mode = %d, 
tx_mq_mode = %d.",
-                        rx_mq_mode, tx_mq_mode);
-               return -EOPNOTSUPP;
-       }
-
        dcb_rx_conf = &dev->data->dev_conf.rx_adv_conf.dcb_rx_conf;
        dcb_tx_conf = &dev->data->dev_conf.tx_adv_conf.dcb_tx_conf;
        if ((uint32_t)rx_mq_mode & RTE_ETH_MQ_RX_DCB_FLAG) {
diff --git a/drivers/net/intel/e1000/igb_rxtx.c 
b/drivers/net/intel/e1000/igb_rxtx.c
index 4fda5d57a0..ef531f1cd4 100644
--- a/drivers/net/intel/e1000/igb_rxtx.c
+++ b/drivers/net/intel/e1000/igb_rxtx.c
@@ -2113,41 +2113,6 @@ igb_rss_configure(struct rte_eth_dev *dev)
        igb_hw_rss_hash_set(hw, &rss_conf);
 }
 
-/*
- * Check if the mac type support VMDq or not.
- * Return 1 if it supports, otherwise, return 0.
- */
-static int
-igb_is_vmdq_supported(const struct rte_eth_dev *dev)
-{
-       const struct e1000_hw *hw = 
E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-
-       switch (hw->mac.type) {
-       case e1000_82576:
-       case e1000_82580:
-       case e1000_i350:
-               return 1;
-       case e1000_82540:
-       case e1000_82541:
-       case e1000_82542:
-       case e1000_82543:
-       case e1000_82544:
-       case e1000_82545:
-       case e1000_82546:
-       case e1000_82547:
-       case e1000_82571:
-       case e1000_82572:
-       case e1000_82573:
-       case e1000_82574:
-       case e1000_82583:
-       case e1000_i210:
-       case e1000_i211:
-       default:
-               PMD_INIT_LOG(ERR, "Cannot support VMDq feature");
-               return 0;
-       }
-}
-
 static int
 igb_vmdq_rx_hw_configure(struct rte_eth_dev *dev)
 {
@@ -2161,10 +2126,6 @@ igb_vmdq_rx_hw_configure(struct rte_eth_dev *dev)
        hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
        cfg = &dev->data->dev_conf.rx_adv_conf.vmdq_rx_conf;
 
-       /* Check if mac type can support VMDq, return value of 0 means NOT 
support */
-       if (igb_is_vmdq_supported(dev) == 0)
-               return -1;
-
        igb_rss_disable(dev);
 
        /* RCTL: enable VLAN filter */
diff --git a/drivers/net/intel/i40e/i40e_ethdev.c 
b/drivers/net/intel/i40e/i40e_ethdev.c
index 41d5586403..2405d9e119 100644
--- a/drivers/net/intel/i40e/i40e_ethdev.c
+++ b/drivers/net/intel/i40e/i40e_ethdev.c
@@ -6655,11 +6655,6 @@ i40e_vmdq_setup(struct rte_eth_dev *dev)
         */
        i40e_pf_disable_irq0(hw);
 
-       if ((pf->flags & I40E_FLAG_VMDQ) == 0) {
-               PMD_INIT_LOG(ERR, "FW doesn't support VMDQ");
-               return -ENOTSUP;
-       }
-
        conf_vsis = conf->rx_adv_conf.vmdq_rx_conf.nb_queue_pools;
        if (conf_vsis > pf->max_nb_vmdq_vsi) {
                PMD_INIT_LOG(ERR, "VMDQ config: %u, max support:%u",
-- 
2.54.0

Reply via email to