[SRU][PULL][jammy:linux-gke][v2] Intel IDPF support
Joseph Salisbury
joseph.salisbury at canonical.com
Wed Feb 21 15:28:13 UTC 2024
BugLink: https://bugs.launchpad.net/bugs/2039720
[Impact]
* Request from Google to include new Intel IDPF driver support
[Fixes]
* All clean cherry picks from jammy:linux-gcp:
a7355680c7b6 UBUNTU: [Config] gcp: Adding support for IDPF driver
b4c0df75ac2c u64_stats: Introduce u64_stats_set()
faaf5b38fd8d virtchnl: add virtchnl version 2 ops
5fccd521e1d6 idpf: add SRIOV support and other ndo_ops
0001af6c3a66 idpf: add ethtool callbacks
489727b5f0fa idpf: add singleq start_xmit and napi poll
1bd0c96cc215 idpf: add RX splitq napi poll support
ed53c3bcf921 idpf: add TX splitq napi poll support
6d83d684e2f7 idpf: add splitq start_xmit
a21d1273c23c idpf: initialize interrupts and enable vport
1a49ee57f741 idpf: configure resources for RX queues
729cbfb98f5d idpf: configure resources for TX queues
aa98bd53c405 idpf: add ptypes and MAC filter support
8c22112c4087 idpf: add create vport and netdev configuration
9aad37e70a94 idpf: add core init and interrupt request
8e8fc1ae7834 idpf: add controlq init and reset checks
86637c304c36 idpf: add module register and probe functionality
[Test Case]
* Compile tested
* Boot tested
* Tested internally and by Google using neper (https://github.com/google/neper)
* Networking is functional and throughput is as expected
[Where things could go wrong]
* Low chance of regression, changes have been upstream since 6.6 kernel
* Bulk of changes in IDPF driver
* Other changes to network drivers largely adding #include directives
[Other Info]
* SF #00368902
--------
The following changes since commit fc71047f095553673f0d415e23025316cfe19072:
UBUNTU: Ubuntu-gke-5.15.0-1051.56 (2024-02-14 11:12:11 +1030)
are available in the Git repository at:
https://git.launchpad.net/~jsalisbury/ubuntu/+source/linux-gke/+git/jammy-idpf master-next
for you to fetch changes up to ef30ca44d775bbf00aaf6ad350d41c48cafbc920:
UBUNTU: [Config] gcp: Adding support for IDPF driver (2024-02-20 13:14:11 -0500)
----------------------------------------------------------------
Ahmed S. Darwish (1):
u64_stats: Introduce u64_stats_set()
Alan Brady (4):
idpf: configure resources for TX queues
idpf: configure resources for RX queues
idpf: add RX splitq napi poll support
idpf: add ethtool callbacks
Joseph Salisbury (1):
UBUNTU: [Config] gcp: Adding support for IDPF driver
Joshua Hay (5):
idpf: add controlq init and reset checks
idpf: add splitq start_xmit
idpf: add TX splitq napi poll support
idpf: add singleq start_xmit and napi poll
idpf: add SRIOV support and other ndo_ops
Pavan Kumar Linga (5):
idpf: add core init and interrupt request
idpf: add create vport and netdev configuration
idpf: add ptypes and MAC filter support
idpf: initialize interrupts and enable vport
virtchnl: add virtchnl version 2 ops
Phani Burra (1):
idpf: add module register and probe functionality
.../networking/device_drivers/ethernet/index.rst | 1 +
.../device_drivers/ethernet/intel/idpf.rst | 160 +
debian.gke/config/annotations | 3 +
drivers/net/ethernet/intel/Kconfig | 12 +
drivers/net/ethernet/intel/Makefile | 1 +
drivers/net/ethernet/intel/idpf/Makefile | 18 +
drivers/net/ethernet/intel/idpf/idpf.h | 968 +++++
drivers/net/ethernet/intel/idpf/idpf_controlq.c | 621 +++
drivers/net/ethernet/intel/idpf/idpf_controlq.h | 130 +
.../net/ethernet/intel/idpf/idpf_controlq_api.h | 169 +
.../net/ethernet/intel/idpf/idpf_controlq_setup.c | 171 +
drivers/net/ethernet/intel/idpf/idpf_dev.c | 165 +
drivers/net/ethernet/intel/idpf/idpf_devids.h | 10 +
drivers/net/ethernet/intel/idpf/idpf_ethtool.c | 1347 ++++++
drivers/net/ethernet/intel/idpf/idpf_lan_pf_regs.h | 124 +
drivers/net/ethernet/intel/idpf/idpf_lan_txrx.h | 293 ++
drivers/net/ethernet/intel/idpf/idpf_lan_vf_regs.h | 128 +
drivers/net/ethernet/intel/idpf/idpf_lib.c | 2379 +++++++++++
drivers/net/ethernet/intel/idpf/idpf_main.c | 279 ++
drivers/net/ethernet/intel/idpf/idpf_mem.h | 20 +
.../net/ethernet/intel/idpf/idpf_singleq_txrx.c | 1191 ++++++
drivers/net/ethernet/intel/idpf/idpf_txrx.c | 4312 ++++++++++++++++++++
drivers/net/ethernet/intel/idpf/idpf_txrx.h | 1022 +++++
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c | 163 +
drivers/net/ethernet/intel/idpf/idpf_virtchnl.c | 3791 +++++++++++++++++
drivers/net/ethernet/intel/idpf/virtchnl2.h | 1273 ++++++
.../net/ethernet/intel/idpf/virtchnl2_lan_desc.h | 451 ++
include/linux/u64_stats_sync.h | 10 +
28 files changed, 19212 insertions(+)
create mode 100644 Documentation/networking/device_drivers/ethernet/intel/idpf.rst
create mode 100644 drivers/net/ethernet/intel/idpf/Makefile
create mode 100644 drivers/net/ethernet/intel/idpf/idpf.h
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_controlq.c
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_controlq.h
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_controlq_api.h
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_controlq_setup.c
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_dev.c
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_devids.h
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_ethtool.c
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_lan_pf_regs.h
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_lan_txrx.h
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_lan_vf_regs.h
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_lib.c
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_main.c
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_mem.h
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_txrx.c
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_txrx.h
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_vf_dev.c
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
create mode 100644 drivers/net/ethernet/intel/idpf/virtchnl2.h
create mode 100644 drivers/net/ethernet/intel/idpf/virtchnl2_lan_desc.h
More information about the kernel-team
mailing list