Only "disable_engine_mask" for flow engine disabling

In PF mode, only ACL engine will be disabled.
In DCF mode, FDIR and HASH engine will be disabled.
In DCF mode with "acl=off", ACL engine will also be
disabled.

Signed-off-by: Qi Zhang <qi.z.zh...@intel.com>
---
 drivers/net/ice/ice_acl_filter.c  | 3 ---
 drivers/net/ice/ice_dcf_parent.c  | 3 +++
 drivers/net/ice/ice_ethdev.c      | 1 +
 drivers/net/ice/ice_fdir_filter.c | 3 ---
 drivers/net/ice/ice_hash.c        | 3 ---
 5 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/drivers/net/ice/ice_acl_filter.c b/drivers/net/ice/ice_acl_filter.c
index f2ddbd7b9b..51f4feced4 100644
--- a/drivers/net/ice/ice_acl_filter.c
+++ b/drivers/net/ice/ice_acl_filter.c
@@ -995,9 +995,6 @@ ice_acl_init(struct ice_adapter *ad)
        struct ice_hw *hw = ICE_PF_TO_HW(pf);
        struct ice_flow_parser *parser = &ice_acl_parser;
 
-       if (!ad->hw.dcf_enabled)
-               return 0;
-
        ret = ice_acl_prof_alloc(hw);
        if (ret) {
                PMD_DRV_LOG(ERR, "Cannot allocate memory for "
diff --git a/drivers/net/ice/ice_dcf_parent.c b/drivers/net/ice/ice_dcf_parent.c
index 173ed9f81d..6e845f458a 100644
--- a/drivers/net/ice/ice_dcf_parent.c
+++ b/drivers/net/ice/ice_dcf_parent.c
@@ -474,6 +474,9 @@ ice_dcf_init_parent_adapter(struct rte_eth_dev *eth_dev)
        if (ice_devargs_check(eth_dev->device->devargs, ICE_DCF_DEVARG_ACL))
                parent_adapter->disabled_engine_mask |= 
BIT(ICE_FLOW_ENGINE_ACL);
 
+       parent_adapter->disabled_engine_mask |= BIT(ICE_FLOW_ENGINE_FDIR);
+       parent_adapter->disabled_engine_mask |= BIT(ICE_FLOW_ENGINE_HASH);
+
        err = ice_flow_init(parent_adapter);
        if (err) {
                PMD_INIT_LOG(ERR, "Failed to initialize flow");
diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index 036b068c22..f744bde8f4 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -2442,6 +2442,7 @@ ice_dev_init(struct rte_eth_dev *dev)
        }
 
        if (!ad->is_safe_mode) {
+               ad->disabled_engine_mask |= BIT(ICE_FLOW_ENGINE_ACL);
                ret = ice_flow_init(ad);
                if (ret) {
                        PMD_INIT_LOG(ERR, "Failed to initialize flow");
diff --git a/drivers/net/ice/ice_fdir_filter.c 
b/drivers/net/ice/ice_fdir_filter.c
index e9ee5a57d6..bc43883a92 100644
--- a/drivers/net/ice/ice_fdir_filter.c
+++ b/drivers/net/ice/ice_fdir_filter.c
@@ -1150,9 +1150,6 @@ ice_fdir_init(struct ice_adapter *ad)
        struct ice_flow_parser *parser;
        int ret;
 
-       if (ad->hw.dcf_enabled)
-               return 0;
-
        ret = ice_fdir_setup(pf);
        if (ret)
                return ret;
diff --git a/drivers/net/ice/ice_hash.c b/drivers/net/ice/ice_hash.c
index e36e7da2b5..37bee808c6 100644
--- a/drivers/net/ice/ice_hash.c
+++ b/drivers/net/ice/ice_hash.c
@@ -591,9 +591,6 @@ ice_hash_init(struct ice_adapter *ad)
 {
        struct ice_flow_parser *parser = NULL;
 
-       if (ad->hw.dcf_enabled)
-               return 0;
-
        parser = &ice_hash_parser;
 
        return ice_register_parser(parser, ad);
-- 
2.31.1

Reply via email to