netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [iwl-next v4 0/8] ice: support devlink subfunction
@ 2024-04-17 14:20 Michal Swiatkowski
  2024-04-17 14:20 ` [iwl-next v4 1/8] ice: add new VSI type for subfunctions Michal Swiatkowski
                   ` (7 more replies)
  0 siblings, 8 replies; 24+ messages in thread
From: Michal Swiatkowski @ 2024-04-17 14:20 UTC (permalink / raw)
  To: intel-wired-lan
  Cc: netdev, jacob.e.keller, michal.kubiak, maciej.fijalkowski,
	sridhar.samudrala, przemyslaw.kitszel, wojciech.drewek,
	pio.raczynski, jiri, mateusz.polchlopek

Hi,

This is second patchset split from subfunction patchset [1].
Important changes from previous version:
 * remove unnecessary checks for devlink port type
 * link correct devlink port to subfunction netdev

Follow up patchset with subfunction port representor will be the last
patchset for subfunction implementation in ice. It is a little
unpleasant to split it like that, because devlink port should be linked
with port representor netdev. In this patchset use devlink port without
linking it. It will be done correctly in the follow up when subfunction
port representor is available.

Currently ice driver does not allow creating more than one networking
device per physical function. The only way to have more hardware backed
netdev is to use SR-IOV.

Following patchset adds support for devlink port API. For each new
pcisf type port, driver allocates new VSI, configures all resources
needed, including dynamically MSIX vectors, program rules and registers
new netdev.

This series supports only one Tx/Rx queue pair per subfunction.

Example commands:
devlink port add pci/0000:31:00.1 flavour pcisf pfnum 1 sfnum 1000
devlink port function set pci/0000:31:00.1/1 hw_addr 00:00:00:00:03:14
devlink port function set pci/0000:31:00.1/1 state active
devlink port function del pci/0000:31:00.1/1

v3 --> v4: [4]
 * get rid of unnecessary checks
 * fix cosmetic issues (whitespaces, wording)
 * move unrelated chunks to separate patch
 * move implementing activation/deactivation to last patch

v2 --> v3: [3]
 * fix building issue between the patches; allocating devlink for
 subfunction need to include base subfunction header
 * fix kdoc issues

v1 --> v2: [2]
 * use correct parameters in ice_devlink_alloc() thanks to Mateusz

[1] https://lore.kernel.org/netdev/20240301115414.502097-1-michal.swiatkowski@linux.intel.com/
[2] https://lore.kernel.org/netdev/20240408103049.19445-1-michal.swiatkowski@linux.intel.com/
[3] https://lore.kernel.org/netdev/20240410050809.125043-1-michal.swiatkowski@linux.intel.com/
[4] https://lore.kernel.org/netdev/20240412063053.339795-1-michal.swiatkowski@linux.intel.com/

Michal Swiatkowski (1):
  ice: treat subfunction VSI the same as PF VSI

Piotr Raczynski (7):
  ice: add new VSI type for subfunctions
  ice: export ice ndo_ops functions
  ice: add basic devlink subfunctions support
  ice: allocate devlink for subfunction
  ice: base subfunction aux driver
  ice: implement netdev for subfunction
  ice: allow to activate and deactivate subfunction

 drivers/net/ethernet/intel/ice/Makefile       |   1 +
 .../net/ethernet/intel/ice/devlink/devlink.c  |  50 +-
 .../net/ethernet/intel/ice/devlink/devlink.h  |   1 +
 .../ethernet/intel/ice/devlink/devlink_port.c | 503 ++++++++++++++++++
 .../ethernet/intel/ice/devlink/devlink_port.h |  38 ++
 drivers/net/ethernet/intel/ice/ice.h          |  12 +
 drivers/net/ethernet/intel/ice/ice_base.c     |   5 +-
 drivers/net/ethernet/intel/ice/ice_dcb_lib.c  |   1 +
 drivers/net/ethernet/intel/ice/ice_lib.c      |  52 +-
 drivers/net/ethernet/intel/ice/ice_lib.h      |   3 +
 drivers/net/ethernet/intel/ice/ice_main.c     |  66 ++-
 drivers/net/ethernet/intel/ice/ice_sf_eth.c   | 327 ++++++++++++
 drivers/net/ethernet/intel/ice/ice_sf_eth.h   |  33 ++
 drivers/net/ethernet/intel/ice/ice_type.h     |   1 +
 drivers/net/ethernet/intel/ice/ice_xsk.c      |   2 +-
 15 files changed, 1048 insertions(+), 47 deletions(-)
 create mode 100644 drivers/net/ethernet/intel/ice/ice_sf_eth.c
 create mode 100644 drivers/net/ethernet/intel/ice/ice_sf_eth.h

-- 
2.42.0


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

end of thread, other threads:[~2024-04-19 17:22 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-17 14:20 [iwl-next v4 0/8] ice: support devlink subfunction Michal Swiatkowski
2024-04-17 14:20 ` [iwl-next v4 1/8] ice: add new VSI type for subfunctions Michal Swiatkowski
2024-04-17 14:20 ` [iwl-next v4 2/8] ice: export ice ndo_ops functions Michal Swiatkowski
2024-04-17 14:20 ` [iwl-next v4 3/8] ice: add basic devlink subfunctions support Michal Swiatkowski
2024-04-17 14:20 ` [iwl-next v4 4/8] ice: treat subfunction VSI the same as PF VSI Michal Swiatkowski
2024-04-17 14:20 ` [iwl-next v4 5/8] ice: allocate devlink for subfunction Michal Swiatkowski
2024-04-18 12:04   ` Jiri Pirko
2024-04-18 12:48     ` Michal Swiatkowski
2024-04-18 13:02       ` Jiri Pirko
2024-04-18 14:46         ` Michal Swiatkowski
2024-04-18 15:43           ` Jiri Pirko
2024-04-18 16:11             ` Michal Swiatkowski
2024-04-18 17:25               ` Jiri Pirko
2024-04-19 17:22                 ` Michal Swiatkowski
2024-04-17 14:20 ` [iwl-next v4 6/8] ice: base subfunction aux driver Michal Swiatkowski
2024-04-18  7:57   ` Shay Drori
2024-04-18 14:47     ` Michal Swiatkowski
2024-04-18 13:02   ` Jiri Pirko
2024-04-18 14:47     ` Michal Swiatkowski
2024-04-17 14:20 ` [iwl-next v4 7/8] ice: implement netdev for subfunction Michal Swiatkowski
2024-04-17 14:20 ` [iwl-next v4 8/8] ice: allow to activate and deactivate subfunction Michal Swiatkowski
     [not found]   ` <0045c1a5-1065-40b3-ae61-1f372d4a89e5@nvidia.com>
2024-04-18  8:12     ` Shay Drori
2024-04-18 11:55       ` Michal Swiatkowski
2024-04-18 12:20         ` Shay Drori

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