APPLIED: [SRU][PULL][jammy:linux-gke][v2] Intel IDPF support

Joseph Salisbury joseph.salisbury at canonical.com
Wed Mar 6 18:29:44 UTC 2024



On 2/21/24 10:28, Joseph Salisbury wrote:
> 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
>

Applied to jammy:linux-gke.



More information about the kernel-team mailing list