[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <SJ0PR11MB5866DA7E6283533AAC4BA700E5832@SJ0PR11MB5866.namprd11.prod.outlook.com>
Date: Wed, 30 Apr 2025 17:35:05 +0000
From: "Loktionov, Aleksandr" <aleksandr.loktionov@...el.com>
To: "Keller, Jacob E" <jacob.e.keller@...el.com>, netdev
<netdev@...r.kernel.org>, "Nguyen, Anthony L" <anthony.l.nguyen@...el.com>,
Intel Wired LAN <intel-wired-lan@...ts.osuosl.org>
CC: "Kitszel, Przemyslaw" <przemyslaw.kitszel@...el.com>
Subject: RE: [PATCH iwl-next 0/2] net: intel: cleanup RSS hash configuration
bits
> -----Original Message-----
> From: Keller, Jacob E <jacob.e.keller@...el.com>
> Sent: Wednesday, April 30, 2025 7:12 PM
> To: netdev <netdev@...r.kernel.org>; Nguyen, Anthony L
> <anthony.l.nguyen@...el.com>; Intel Wired LAN <intel-wired-
> lan@...ts.osuosl.org>
> Cc: Keller, Jacob E <jacob.e.keller@...el.com>; Loktionov, Aleksandr
> <aleksandr.loktionov@...el.com>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@...el.com>
> Subject: [PATCH iwl-next 0/2] net: intel: cleanup RSS hash configuration bits
>
> The virtchnl API does not define the RSS Hash configuration bits directly in
> virtchnl.h, but instead implicitly relies on the hardware definitions for X710
> and X722 in the i40e driver.
>
> This results in duplicating the same bit definitions across 3 drivers. The actual
> virtchnl.h header makes no mention of this, and its very unclear what the bits
> mean without deep knowledge of the way RSS configuration works over
> virtchnl.
>
> In addition, the use of the term 'hena' is confusing. It comes from the
> I40E_PFQF_HENA registers, indicating which hash types are enabled.
>
> Rename the 'hena' fields and related functions to use 'hashcfg' as a shorthand
> for hash configuration.
>
> We could define the enumeration of packet types in virtchnl.h. Indeed, this is
> what the out-of-tree releases of virtchnl.h do. However, this is somewhat
> confusing for i40e. The X710 and X722 hardware use these bits directly with
> PF hardware registers. It looks confusing to use "VIRTCHNL_*"
> names for such access.
>
> Instead, we move these definitions to libie as part of new pctype.h header file.
> This allows us to remove all duplicate definitions and have a single place for
> Linux to define the bit meanings. The virtchnl.h header can point to this
> enumeration to clarify where the values are defined.
>
> Signed-off-by: Jacob Keller <jacob.e.keller@...el.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@...el.com>
> ---
> Jacob Keller (2):
> net: intel: rename 'hena' to 'hashcfg' for clarity
> net: intel: move RSS packet classifier types to libie
>
> drivers/net/ethernet/intel/i40e/i40e_txrx.h | 43 ++++++------
> drivers/net/ethernet/intel/i40e/i40e_type.h | 32 ---------
> drivers/net/ethernet/intel/iavf/iavf.h | 10 +--
> drivers/net/ethernet/intel/iavf/iavf_txrx.h | 40 ++++++-----
> drivers/net/ethernet/intel/iavf/iavf_type.h | 32 ---------
> drivers/net/ethernet/intel/ice/ice_flow.h | 68 ++++++------------
> drivers/net/ethernet/intel/ice/ice_virtchnl.h | 4 +-
> include/linux/avf/virtchnl.h | 23 +++---
> include/linux/net/intel/libie/pctype.h | 44 ++++++++++++
> drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 81 +++++++++++----------
> -
> drivers/net/ethernet/intel/i40e/i40e_main.c | 25 +++----
> drivers/net/ethernet/intel/i40e/i40e_txrx.c | 25 +++----
> drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 46 ++++++------
> drivers/net/ethernet/intel/iavf/iavf_main.c | 17 ++---
> drivers/net/ethernet/intel/iavf/iavf_virtchnl.c | 33 ++++-----
> drivers/net/ethernet/intel/ice/ice_flow.c | 45 ++++++------
> drivers/net/ethernet/intel/ice/ice_lib.c | 2 +-
> drivers/net/ethernet/intel/ice/ice_virtchnl.c | 44 ++++++------
> .../ethernet/intel/ice/ice_virtchnl_allowlist.c | 2 +-
> 19 files changed, 289 insertions(+), 327 deletions(-)
> ---
> base-commit: deeed351e982ac4d521598375b34b071304533b0
> change-id: 20250423-jk-hash-ena-refactor-9ac1e2b83a5e
>
> Best regards,
> --
> Jacob Keller <jacob.e.keller@...el.com>
Powered by blists - more mailing lists