netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH iwl-next v2 0/2] net: intel: cleanup RSS hash configuration bits
@ 2025-05-05 20:14 Jacob Keller
  2025-05-05 20:14 ` [PATCH iwl-next v2 1/2] net: intel: rename 'hena' to 'hashcfg' for clarity Jacob Keller
  2025-05-05 20:14 ` [PATCH iwl-next v2 2/2] net: intel: move RSS packet classifier types to libie Jacob Keller
  0 siblings, 2 replies; 7+ messages in thread
From: Jacob Keller @ 2025-05-05 20:14 UTC (permalink / raw)
  To: Intel Wired LAN, Anthony Nguyen, netdev
  Cc: Jacob Keller, Przemek Kitszel, Aleksandr Loktionov, Simon Horman

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@intel.com>
---
Changes in v2:
- Convert kdoc comment in pctype.h to regular, since it feels too noisy to
  add a near-duplicate message for each enum value to the kdoc comment.
- Link to v1: https://lore.kernel.org/r/20250430-jk-hash-ena-refactor-v1-0-8310a4785472@intel.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             | 41 +++++++++++
 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, 286 insertions(+), 327 deletions(-)
---
base-commit: 836b313a14a316290886dcc2ce7e78bf5ecc8658
change-id: 20250423-jk-hash-ena-refactor-9ac1e2b83a5e

Best regards,
-- 
Jacob Keller <jacob.e.keller@intel.com>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-05-30  6:57 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-05 20:14 [PATCH iwl-next v2 0/2] net: intel: cleanup RSS hash configuration bits Jacob Keller
2025-05-05 20:14 ` [PATCH iwl-next v2 1/2] net: intel: rename 'hena' to 'hashcfg' for clarity Jacob Keller
2025-05-22 18:16   ` [Intel-wired-lan] " Romanowski, Rafal
2025-05-30  6:52   ` Rinitha, SX
2025-05-05 20:14 ` [PATCH iwl-next v2 2/2] net: intel: move RSS packet classifier types to libie Jacob Keller
2025-05-22 18:17   ` [Intel-wired-lan] " Romanowski, Rafal
2025-05-30  6:57   ` Rinitha, SX

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).