mbox series

[net-next,00/14,pull,request] 100GbE Intel Wired LAN Driver Updates 2022-03-15

Message ID 20220315222220.2925324-1-anthony.l.nguyen@intel.com (mailing list archive)
Headers show
Series 100GbE Intel Wired LAN Driver Updates 2022-03-15 | expand

Message

Tony Nguyen March 15, 2022, 10:22 p.m. UTC
Jacob Keller says:

The ice_sriov.c file now houses almost all of the virtualization code in the
ice driver. This includes both Single Root specific implementation as well
as generic functionality such as the virtchnl interface.

We are planning to implement support for Scalable IOV in the ice driver in
the future. This implementation will want to use the generic functionality
in ice_sriov.c

Rather than dump the Scalable IOV code into ice_sriov.c, we will want to
implement it in a separate file, ice_siov.c

To help with this, refactor the code in ice_sriov.c and split the generic
functionality out into separate files.

Reorganize 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 somewhat
distinct and stand alone.

* 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 end goal is to make it easier to re-use the generic parts of the
virtualization logic while keeping separate the concerns of the Single Root
implementation.

In addition to the pure code moves, this series has a reset refactor which
clean up the functionality to make it easier to reuse the reset code. A new
ops table is introduced to make the VF reset logic more generic. The Single
Root specific details are implemented in ice_sriov.c. A future series
implementing Scalable IOV support will use this ops table to allow re-use of
the reset logic which is now in ice_vf_lib.c

The following are changes since commit c84d86a0295c24487db5b7db1a61d9c0eddfbb66:
  Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 100GbE

Jacob Keller (14):
  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       |    4 +-
 drivers/net/ethernet/intel/ice/ice_main.c     |    8 +-
 drivers/net/ethernet/intel/ice/ice_sriov.c    | 5718 +-----------
 drivers/net/ethernet/intel/ice/ice_sriov.h    |  273 +-
 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_virtchnl.c} | 8170 ++++++-----------
 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 +
 11 files changed, 4598 insertions(+), 11018 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_virtchnl.c} (58%)
 create mode 100644 drivers/net/ethernet/intel/ice/ice_virtchnl.h

Comments

patchwork-bot+netdevbpf@kernel.org March 16, 2022, 10:30 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by Tony Nguyen <anthony.l.nguyen@intel.com>:

On Tue, 15 Mar 2022 15:22:06 -0700 you wrote:
> Jacob Keller says:
> 
> The ice_sriov.c file now houses almost all of the virtualization code in the
> ice driver. This includes both Single Root specific implementation as well
> as generic functionality such as the virtchnl interface.
> 
> We are planning to implement support for Scalable IOV in the ice driver in
> the future. This implementation will want to use the generic functionality
> in ice_sriov.c
> 
> [...]

Here is the summary with links:
  - [net-next,01/14] ice: introduce ice_vf_lib.c, ice_vf_lib.h, and ice_vf_lib_private.h
    https://git.kernel.org/netdev/net-next/c/109aba47ca9b
  - [net-next,02/14] ice: fix incorrect dev_dbg print mistaking 'i' for vf->vf_id
    https://git.kernel.org/netdev/net-next/c/f5840e0da639
  - [net-next,03/14] ice: introduce VF operations structure for reset flows
    https://git.kernel.org/netdev/net-next/c/9c6f787897f6
  - [net-next,04/14] ice: fix a long line warning in ice_reset_vf
    https://git.kernel.org/netdev/net-next/c/5de95744ff6a
  - [net-next,05/14] ice: move reset functionality into ice_vf_lib.c
    https://git.kernel.org/netdev/net-next/c/16686d7fbbe4
  - [net-next,06/14] ice: drop is_vflr parameter from ice_reset_all_vfs
    https://git.kernel.org/netdev/net-next/c/dac57288751c
  - [net-next,07/14] ice: make ice_reset_all_vfs void
    https://git.kernel.org/netdev/net-next/c/fe99d1c06c16
  - [net-next,08/14] ice: convert ice_reset_vf to standard error codes
    https://git.kernel.org/netdev/net-next/c/4fe193cc9dd0
  - [net-next,09/14] ice: convert ice_reset_vf to take flags
    https://git.kernel.org/netdev/net-next/c/7eb517e434c6
  - [net-next,10/14] ice: introduce ICE_VF_RESET_NOTIFY flag
    https://git.kernel.org/netdev/net-next/c/9dbb33da1236
  - [net-next,11/14] ice: introduce ICE_VF_RESET_LOCK flag
    https://git.kernel.org/netdev/net-next/c/f5f085c01d26
  - [net-next,12/14] ice: cleanup long lines in ice_sriov.c
    https://git.kernel.org/netdev/net-next/c/8cf52bec5ca0
  - [net-next,13/14] ice: introduce ice_virtchnl.c and ice_virtchnl.h
    (no matching commit)
  - [net-next,14/14] ice: remove PF pointer from ice_check_vf_init
    https://git.kernel.org/netdev/net-next/c/5a57ee83d961

You are awesome, thank you!