Fix the values of the ICE_AQ_VSI_Q_OPT_RSS_* registers. Shifting is
already done when the values are used, no need to double shift. Bug was
not discovered earlier since only ICE_AQ_VSI_Q_OPT_RSS_TPLZ (Zero) is
currently used.

Also, rename ICE_AQ_VSI_Q_OPT_RSS_XXX to ICE_AQ_VSI_Q_OPT_RSS_HASH_XXX
for consistency.

Fixes: 7bd527aa174f ("ice: Adjust naming for inner VLAN operations")
Co-developed-by: Jesse Brandeburg <jesse.brandeb...@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeb...@intel.com>
Reviewed-by: Wojciech Drewek <wojciech.dre...@intel.com>
Signed-off-by: Ahmed Zaki <ahmed.z...@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_adminq_cmd.h |  8 ++++----
 drivers/net/ethernet/intel/ice/ice_lib.c        |  4 ++--
 drivers/net/ethernet/intel/ice/ice_virtchnl.c   | 12 +++++-------
 3 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_adminq_cmd.h 
b/drivers/net/ethernet/intel/ice/ice_adminq_cmd.h
index 51281b58ad72..56ec1897f4d8 100644
--- a/drivers/net/ethernet/intel/ice/ice_adminq_cmd.h
+++ b/drivers/net/ethernet/intel/ice/ice_adminq_cmd.h
@@ -491,10 +491,10 @@ struct ice_aqc_vsi_props {
 #define ICE_AQ_VSI_Q_OPT_RSS_GBL_LUT_M         (0xF << 
ICE_AQ_VSI_Q_OPT_RSS_GBL_LUT_S)
 #define ICE_AQ_VSI_Q_OPT_RSS_HASH_S            6
 #define ICE_AQ_VSI_Q_OPT_RSS_HASH_M            (0x3 << 
ICE_AQ_VSI_Q_OPT_RSS_HASH_S)
-#define ICE_AQ_VSI_Q_OPT_RSS_TPLZ              (0x0 << 
ICE_AQ_VSI_Q_OPT_RSS_HASH_S)
-#define ICE_AQ_VSI_Q_OPT_RSS_SYM_TPLZ          (0x1 << 
ICE_AQ_VSI_Q_OPT_RSS_HASH_S)
-#define ICE_AQ_VSI_Q_OPT_RSS_XOR               (0x2 << 
ICE_AQ_VSI_Q_OPT_RSS_HASH_S)
-#define ICE_AQ_VSI_Q_OPT_RSS_JHASH             (0x3 << 
ICE_AQ_VSI_Q_OPT_RSS_HASH_S)
+#define ICE_AQ_VSI_Q_OPT_RSS_HASH_TPLZ         0x0U
+#define ICE_AQ_VSI_Q_OPT_RSS_HASH_SYM_TPLZ     0x1U
+#define ICE_AQ_VSI_Q_OPT_RSS_HASH_XOR          0x2U
+#define ICE_AQ_VSI_Q_OPT_RSS_HASH_JHASH                0x3U
        u8 q_opt_tc;
 #define ICE_AQ_VSI_Q_OPT_TC_OVR_S              0
 #define ICE_AQ_VSI_Q_OPT_TC_OVR_M              (0x1F << 
ICE_AQ_VSI_Q_OPT_TC_OVR_S)
diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c 
b/drivers/net/ethernet/intel/ice/ice_lib.c
index acc3ffc940e7..1adf65d88ef0 100644
--- a/drivers/net/ethernet/intel/ice/ice_lib.c
+++ b/drivers/net/ethernet/intel/ice/ice_lib.c
@@ -1186,12 +1186,12 @@ static void ice_set_rss_vsi_ctx(struct ice_vsi_ctx 
*ctxt, struct ice_vsi *vsi)
        case ICE_VSI_PF:
                /* PF VSI will inherit RSS instance of PF */
                lut_type = ICE_AQ_VSI_Q_OPT_RSS_LUT_PF;
-               hash_type = ICE_AQ_VSI_Q_OPT_RSS_TPLZ;
+               hash_type = ICE_AQ_VSI_Q_OPT_RSS_HASH_TPLZ;
                break;
        case ICE_VSI_VF:
                /* VF VSI will gets a small RSS table which is a VSI LUT type */
                lut_type = ICE_AQ_VSI_Q_OPT_RSS_LUT_VSI;
-               hash_type = ICE_AQ_VSI_Q_OPT_RSS_TPLZ;
+               hash_type = ICE_AQ_VSI_Q_OPT_RSS_HASH_TPLZ;
                break;
        default:
                dev_dbg(dev, "Unsupported VSI type %s\n",
diff --git a/drivers/net/ethernet/intel/ice/ice_virtchnl.c 
b/drivers/net/ethernet/intel/ice/ice_virtchnl.c
index 01e88b6e43a1..55bf7891981f 100644
--- a/drivers/net/ethernet/intel/ice/ice_virtchnl.c
+++ b/drivers/net/ethernet/intel/ice/ice_virtchnl.c
@@ -823,8 +823,8 @@ static int ice_vc_handle_rss_cfg(struct ice_vf *vf, u8 
*msg, bool add)
                int status;
 
                lut_type = ICE_AQ_VSI_Q_OPT_RSS_LUT_VSI;
-               hash_type = add ? ICE_AQ_VSI_Q_OPT_RSS_XOR :
-                               ICE_AQ_VSI_Q_OPT_RSS_TPLZ;
+               hash_type = add ? ICE_AQ_VSI_Q_OPT_RSS_HASH_XOR :
+                               ICE_AQ_VSI_Q_OPT_RSS_HASH_TPLZ;
 
                ctx = kzalloc(sizeof(*ctx), GFP_KERNEL);
                if (!ctx) {
@@ -832,11 +832,9 @@ static int ice_vc_handle_rss_cfg(struct ice_vf *vf, u8 
*msg, bool add)
                        goto error_param;
                }
 
-               ctx->info.q_opt_rss = ((lut_type <<
-                                       ICE_AQ_VSI_Q_OPT_RSS_LUT_S) &
-                                      ICE_AQ_VSI_Q_OPT_RSS_LUT_M) |
-                                      (hash_type &
-                                       ICE_AQ_VSI_Q_OPT_RSS_HASH_M);
+               ctx->info.q_opt_rss =
+                       FIELD_PREP(ICE_AQ_VSI_Q_OPT_RSS_LUT_M, lut_type) |
+                       FIELD_PREP(ICE_AQ_VSI_Q_OPT_RSS_HASH_M, hash_type);
 
                /* Preserve existing queueing option setting */
                ctx->info.q_opt_rss |= (vsi->info.q_opt_rss &
-- 
2.34.1

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

Reply via email to