netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH iwl-next v2 00/15] intel: use bitfield operations
@ 2023-12-06  1:00 Jesse Brandeburg
  2023-12-06  1:01 ` [PATCH iwl-next v2 01/15] e1000e: make lost bits explicit Jesse Brandeburg
                   ` (15 more replies)
  0 siblings, 16 replies; 37+ messages in thread
From: Jesse Brandeburg @ 2023-12-06  1:00 UTC (permalink / raw)
  To: intel-wired-lan
  Cc: Jesse Brandeburg, netdev, aleksander.lobakin, przemyslaw.kitszel,
	horms, marcin.szycik

After repeatedly getting review comments on new patches, and sporadic
patches to fix parts of our drivers, we should just convert the Intel code
to use FIELD_PREP() and FIELD_GET().  It's then "common" in the code and
hopefully future change-sets will see the context and do-the-right-thing.

In v2 there were a few conversions to use leXX_{get,set,encode}_bits() where
possible.

This conversion was done with a coccinelle script which is mentioned in the
commit messages. Generally there were only a couple conversions that were
"undone" after the automatic changes because they tried to convert a
non-contiguous mask.

Patch 1 is required at the beginning of this series to fix a "forever"
issue in the e1000e driver that fails the compilation test after conversion
because the shift / mask was out of range.

The second patch just adds all the new #includes in one go.

The patch titled: "ice: fix pre-shifted bit usage" is needed to allow the
use of the FIELD_* macros and fix up the unexpected "shifts included"
defines found while creating this series.

The rest are the conversion to use FIELD_PREP()/FIELD_GET(), and the
occasional leXX_{get,set,encode}_bits() call, as suggested by Alex.

CC: Alexander Lobakin <aleksander.lobakin@intel.com>
Reviewed-by: Marcin Szycik <marcin.szycik@linux.intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
---
v2: add some conversions to the ice patch, add the idpf patch, respond to
comments from reviewers, resulting in more le*_bits usage (Olek), add more
reviewed-bys, see each individual patch for details. changed title of
0/0
v1: original

Jesse Brandeburg (15):
  e1000e: make lost bits explicit
  intel: add bit macro includes where needed
  intel: legacy: field prep conversion
  i40e: field prep conversion
  iavf: field prep conversion
  ice: field prep conversion
  ice: fix pre-shifted bit usage
  igc: field prep conversion
  intel: legacy: field get conversion
  igc: field get conversion
  i40e: field get conversion
  iavf: field get conversion
  ice: field get conversion
  ice: cleanup inconsistent code
  idpf: refactor some missing field get/prep conversions

 drivers/net/ethernet/intel/e1000/e1000_hw.c   |  46 ++-
 .../net/ethernet/intel/e1000e/80003es2lan.c   |  23 +-
 drivers/net/ethernet/intel/e1000e/82571.c     |   3 +-
 drivers/net/ethernet/intel/e1000e/ethtool.c   |   7 +-
 drivers/net/ethernet/intel/e1000e/ich8lan.c   |  18 +-
 drivers/net/ethernet/intel/e1000e/mac.c       |   8 +-
 drivers/net/ethernet/intel/e1000e/netdev.c    |  11 +-
 drivers/net/ethernet/intel/e1000e/phy.c       |  24 +-
 drivers/net/ethernet/intel/fm10k/fm10k_pf.c   |   7 +-
 drivers/net/ethernet/intel/fm10k/fm10k_vf.c   |  10 +-
 drivers/net/ethernet/intel/i40e/i40e_common.c | 140 ++++-----
 drivers/net/ethernet/intel/i40e/i40e_dcb.c    | 276 +++++++-----------
 drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c |   3 +-
 drivers/net/ethernet/intel/i40e/i40e_ddp.c    |   4 +-
 .../net/ethernet/intel/i40e/i40e_ethtool.c    |   7 +-
 drivers/net/ethernet/intel/i40e/i40e_main.c   |  85 +++---
 drivers/net/ethernet/intel/i40e/i40e_nvm.c    |  14 +-
 drivers/net/ethernet/intel/i40e/i40e_ptp.c    |   4 +-
 drivers/net/ethernet/intel/i40e/i40e_txrx.c   |  70 ++---
 .../ethernet/intel/i40e/i40e_virtchnl_pf.c    |  29 +-
 drivers/net/ethernet/intel/i40e/i40e_xsk.c    |   3 +-
 drivers/net/ethernet/intel/iavf/iavf_common.c |  34 +--
 .../net/ethernet/intel/iavf/iavf_ethtool.c    |   8 +-
 drivers/net/ethernet/intel/iavf/iavf_fdir.c   |   3 +-
 drivers/net/ethernet/intel/iavf/iavf_txrx.c   |  21 +-
 .../net/ethernet/intel/ice/ice_adminq_cmd.h   |  18 +-
 drivers/net/ethernet/intel/ice/ice_base.c     |  32 +-
 drivers/net/ethernet/intel/ice/ice_common.c   |  60 ++--
 drivers/net/ethernet/intel/ice/ice_dcb.c      |  79 ++---
 drivers/net/ethernet/intel/ice/ice_dcb_lib.c  |   2 +-
 drivers/net/ethernet/intel/ice/ice_dcb_nl.c   |   2 +-
 drivers/net/ethernet/intel/ice/ice_eswitch.c  |   4 +-
 .../net/ethernet/intel/ice/ice_ethtool_fdir.c |   3 +-
 drivers/net/ethernet/intel/ice/ice_fdir.c     |  69 ++---
 .../net/ethernet/intel/ice/ice_flex_pipe.c    |   8 +-
 drivers/net/ethernet/intel/ice/ice_flow.c     |   2 +-
 drivers/net/ethernet/intel/ice/ice_lag.c      |   7 +-
 drivers/net/ethernet/intel/ice/ice_lib.c      |  64 ++--
 drivers/net/ethernet/intel/ice/ice_main.c     |  48 ++-
 drivers/net/ethernet/intel/ice/ice_nvm.c      |  15 +-
 drivers/net/ethernet/intel/ice/ice_ptp.c      |  13 +-
 drivers/net/ethernet/intel/ice/ice_sched.c    |   3 +-
 drivers/net/ethernet/intel/ice/ice_sriov.c    |  41 +--
 drivers/net/ethernet/intel/ice/ice_switch.c   |  75 +++--
 drivers/net/ethernet/intel/ice/ice_txrx.c     |   6 +-
 drivers/net/ethernet/intel/ice/ice_virtchnl.c |  14 +-
 .../ethernet/intel/ice/ice_virtchnl_fdir.c    |  15 +-
 .../net/ethernet/intel/ice/ice_vsi_vlan_lib.c |  41 +--
 .../ethernet/intel/idpf/idpf_singleq_txrx.c   |   7 +-
 drivers/net/ethernet/intel/idpf/idpf_txrx.c   |  58 ++--
 drivers/net/ethernet/intel/igb/e1000_82575.c  |  29 +-
 drivers/net/ethernet/intel/igb/e1000_i210.c   |  19 +-
 drivers/net/ethernet/intel/igb/e1000_mac.c    |   7 +-
 drivers/net/ethernet/intel/igb/e1000_nvm.c    |  18 +-
 drivers/net/ethernet/intel/igb/e1000_phy.c    |  17 +-
 drivers/net/ethernet/intel/igb/igb_ethtool.c  |  11 +-
 drivers/net/ethernet/intel/igb/igb_main.c     |  13 +-
 drivers/net/ethernet/intel/igbvf/mbx.c        |   1 +
 drivers/net/ethernet/intel/igbvf/netdev.c     |  33 +--
 drivers/net/ethernet/intel/igc/igc_base.c     |   6 +-
 drivers/net/ethernet/intel/igc/igc_i225.c     |   6 +-
 drivers/net/ethernet/intel/igc/igc_main.c     |  10 +-
 drivers/net/ethernet/intel/igc/igc_phy.c      |   5 +-
 .../net/ethernet/intel/ixgbe/ixgbe_82598.c    |   2 +-
 .../net/ethernet/intel/ixgbe/ixgbe_common.c   |  30 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c |   4 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |   2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c  |   8 +-
 .../net/ethernet/intel/ixgbe/ixgbe_sriov.c    |   8 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c |   8 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c |  19 +-
 include/linux/avf/virtchnl.h                  |   1 +
 72 files changed, 758 insertions(+), 1043 deletions(-)


base-commit: 1409f235a4577f79409f89911f63b680b3341ba5
-- 
2.39.3


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

end of thread, other threads:[~2023-12-25  9:37 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-06  1:00 [PATCH iwl-next v2 00/15] intel: use bitfield operations Jesse Brandeburg
2023-12-06  1:01 ` [PATCH iwl-next v2 01/15] e1000e: make lost bits explicit Jesse Brandeburg
2023-12-19  7:57   ` [Intel-wired-lan] " naamax.meir
2023-12-25  9:36   ` Simon Horman
2023-12-06  1:01 ` [PATCH iwl-next v2 02/15] intel: add bit macro includes where needed Jesse Brandeburg
2023-12-25  9:35   ` Simon Horman
2023-12-06  1:01 ` [PATCH iwl-next v2 03/15] intel: legacy: field prep conversion Jesse Brandeburg
2023-12-13  2:58   ` [Intel-wired-lan] " Pucha, HimasekharX Reddy
2023-12-06  1:01 ` [PATCH iwl-next v2 04/15] i40e: " Jesse Brandeburg
2023-12-13  2:58   ` [Intel-wired-lan] " Pucha, HimasekharX Reddy
2023-12-06  1:01 ` [PATCH iwl-next v2 05/15] iavf: " Jesse Brandeburg
2023-12-14 13:08   ` [Intel-wired-lan] " Romanowski, Rafal
2023-12-06  1:01 ` [PATCH iwl-next v2 06/15] ice: " Jesse Brandeburg
2023-12-13  2:58   ` [Intel-wired-lan] " Pucha, HimasekharX Reddy
2023-12-06  1:01 ` [PATCH iwl-next v2 07/15] ice: fix pre-shifted bit usage Jesse Brandeburg
2023-12-13  2:57   ` [Intel-wired-lan] " Pucha, HimasekharX Reddy
2023-12-06  1:01 ` [PATCH iwl-next v2 08/15] igc: field prep conversion Jesse Brandeburg
2023-12-06  1:01 ` [PATCH iwl-next v2 09/15] intel: legacy: field get conversion Jesse Brandeburg
2023-12-13  2:57   ` [Intel-wired-lan] " Pucha, HimasekharX Reddy
2023-12-06  1:01 ` [PATCH iwl-next v2 10/15] igc: " Jesse Brandeburg
2023-12-06  1:01 ` [PATCH iwl-next v2 11/15] i40e: " Jesse Brandeburg
2023-12-13  2:57   ` [Intel-wired-lan] " Pucha, HimasekharX Reddy
2023-12-06  1:01 ` [PATCH iwl-next v2 12/15] iavf: " Jesse Brandeburg
2023-12-14 13:10   ` [Intel-wired-lan] " Romanowski, Rafal
2023-12-06  1:01 ` [PATCH iwl-next v2 13/15] ice: " Jesse Brandeburg
2023-12-13  2:57   ` [Intel-wired-lan] " Pucha, HimasekharX Reddy
2023-12-06  1:01 ` [PATCH iwl-next v2 14/15] ice: cleanup inconsistent code Jesse Brandeburg
2023-12-13  2:57   ` [Intel-wired-lan] " Pucha, HimasekharX Reddy
2023-12-13  4:06   ` Kalesh Anakkur Purayil
2023-12-13 18:27     ` Jesse Brandeburg
2023-12-14  3:26       ` Kalesh Anakkur Purayil
2023-12-14  7:16       ` Przemek Kitszel
2023-12-25  9:37         ` Simon Horman
2023-12-06  1:01 ` [PATCH iwl-next v2 15/15] idpf: refactor some missing field get/prep conversions Jesse Brandeburg
2023-12-22 18:48   ` [Intel-wired-lan] " Register, Scott
2023-12-25  9:36   ` Simon Horman
2023-12-14 13:09 ` [Intel-wired-lan] [PATCH iwl-next v2 00/15] intel: use bitfield operations Romanowski, Rafal

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).