[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220314181016.1690595-1-anthony.l.nguyen@intel.com>
Date: Mon, 14 Mar 2022 11:09:51 -0700
From: Tony Nguyen <anthony.l.nguyen@...el.com>
To: davem@...emloft.net, kuba@...nel.org
Cc: Tony Nguyen <anthony.l.nguyen@...el.com>, netdev@...r.kernel.org,
jacob.e.keller@...el.com
Subject: [PATCH net-next 00/25][pull request] 100GbE Intel Wired LAN Driver Updates 2022-03-14
Jacob Keller says:
The ice_virtchnl_pf.c file has become a single place for a lot of
virtualization functionality. This includes most of the virtchnl message
handling, integration with kernel hooks like the .ndo operations, reset
logic, and more.
We are planning in the future to implement and support Scalable IOV in the
ice driver. To do this, much (but not all) of the code in ice_virtchnl_pf.c
will want to be reused.
Rather than dump all of the Scalable IOV implementation into
ice_virtchnl_pf.c it makes sense to house it in a separate file. But that
still leaves all of the Single Root IOV code littered among more generic
logic.
This series reorganizes code to make the non-implementation specific bits
into new files with the following general guidelines:
* ice_vf_lib.[ch]
Basic VF structures and accessors. This is where scheme-independent
code will reside.
* ice_virtchnl.[ch]
Virtchnl message handling. This is where the bulk of the logic for
processing messages from VFs using the virtchnl messaging scheme will
reside. This is separated from ice_vf_lib.c because it is distinct
and has a bulk of the processing code.
* ice_sriov.[ch]
Single Root IOV implementation, including initialization and the
routines for interacting with SR-IOV based netdev operations.
* (future) ice_siov.[ch]
Scalable IOV implementation.
The goal is to make it easier to re-use parts of the virtualization logic
while separating concerns such as Single Root specific implementation
details.
In addition, this series has several minor cleanups and refactors we've
accumulated during this development cycle which help prepare the ice driver
for the Scalable IOV implementation.
This series builds on top of the recent hash table refactor work.
The following are changes since commit 5e7350e8a618ebfea0713b30986976fcbb90b8bb:
Merge branch 'dpaa2-mac-protocol-change'
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 100GbE
Jacob Keller (25):
ice: rename ice_sriov.c to ice_vf_mbx.c
ice: rename ice_virtchnl_pf.c to ice_sriov.c
ice: remove circular header dependencies on ice.h
ice: convert vf->vc_ops to a const pointer
ice: remove unused definitions from ice_sriov.h
ice: rename ICE_MAX_VF_COUNT to avoid confusion
ice: refactor spoofchk control code in ice_sriov.c
ice: move ice_set_vf_port_vlan near other .ndo ops
ice: cleanup error logging for ice_ena_vfs
ice: log an error message when eswitch fails to configure
ice: use ice_is_vf_trusted helper function
ice: introduce ice_vf_lib.c, ice_vf_lib.h, and ice_vf_lib_private.h
ice: fix incorrect dev_dbg print mistaking 'i' for vf->vf_id
ice: introduce VF operations structure for reset flows
ice: fix a long line warning in ice_reset_vf
ice: move reset functionality into ice_vf_lib.c
ice: drop is_vflr parameter from ice_reset_all_vfs
ice: make ice_reset_all_vfs void
ice: convert ice_reset_vf to standard error codes
ice: convert ice_reset_vf to take flags
ice: introduce ICE_VF_RESET_NOTIFY flag
ice: introduce ICE_VF_RESET_LOCK flag
ice: cleanup long lines in ice_sriov.c
ice: introduce ice_virtchnl.c and ice_virtchnl.h
ice: remove PF pointer from ice_check_vf_init
drivers/net/ethernet/intel/ice/Makefile | 6 +-
drivers/net/ethernet/intel/ice/ice.h | 5 +-
drivers/net/ethernet/intel/ice/ice_arfs.h | 3 +
drivers/net/ethernet/intel/ice/ice_base.c | 2 +-
drivers/net/ethernet/intel/ice/ice_common.h | 4 +-
drivers/net/ethernet/intel/ice/ice_dcb.h | 1 +
.../net/ethernet/intel/ice/ice_flex_pipe.c | 1 +
drivers/net/ethernet/intel/ice/ice_flow.c | 1 +
drivers/net/ethernet/intel/ice/ice_flow.h | 2 +
drivers/net/ethernet/intel/ice/ice_idc_int.h | 1 -
drivers/net/ethernet/intel/ice/ice_main.c | 25 +-
drivers/net/ethernet/intel/ice/ice_osdep.h | 11 +-
drivers/net/ethernet/intel/ice/ice_repr.c | 6 +-
drivers/net/ethernet/intel/ice/ice_repr.h | 1 -
drivers/net/ethernet/intel/ice/ice_sriov.c | 2205 ++++-
drivers/net/ethernet/intel/ice/ice_sriov.h | 163 +-
drivers/net/ethernet/intel/ice/ice_type.h | 1 +
drivers/net/ethernet/intel/ice/ice_vf_lib.c | 1029 +++
drivers/net/ethernet/intel/ice/ice_vf_lib.h | 290 +
.../ethernet/intel/ice/ice_vf_lib_private.h | 40 +
.../intel/ice/{ice_sriov.c => ice_vf_mbx.c} | 2 +-
.../intel/ice/{ice_sriov.h => ice_vf_mbx.h} | 6 +-
.../ethernet/intel/ice/ice_vf_vsi_vlan_ops.c | 2 +-
.../ice/{ice_virtchnl_pf.c => ice_virtchnl.c} | 8086 ++++++-----------
drivers/net/ethernet/intel/ice/ice_virtchnl.h | 82 +
.../ethernet/intel/ice/ice_virtchnl_fdir.c | 1 +
.../ethernet/intel/ice/ice_virtchnl_fdir.h | 1 +
.../net/ethernet/intel/ice/ice_virtchnl_pf.h | 437 -
drivers/net/ethernet/intel/ice/ice_xsk.h | 1 -
29 files changed, 6057 insertions(+), 6358 deletions(-)
create mode 100644 drivers/net/ethernet/intel/ice/ice_vf_lib.c
create mode 100644 drivers/net/ethernet/intel/ice/ice_vf_lib.h
create mode 100644 drivers/net/ethernet/intel/ice/ice_vf_lib_private.h
copy drivers/net/ethernet/intel/ice/{ice_sriov.c => ice_vf_mbx.c} (99%)
copy drivers/net/ethernet/intel/ice/{ice_sriov.h => ice_vf_mbx.h} (95%)
rename drivers/net/ethernet/intel/ice/{ice_virtchnl_pf.c => ice_virtchnl.c} (57%)
create mode 100644 drivers/net/ethernet/intel/ice/ice_virtchnl.h
delete mode 100644 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.h
--
2.31.1
Powered by blists - more mailing lists