APPLIED: [SRU][PULL][linux-intel-iotg][jammy] Integrated TSN controller (stmmac/i225) driver support

Philip Cox philip.cox at canonical.com
Fri Nov 18 15:44:21 UTC 2022



On Mon, 2022-11-14 at 17:31 -0500, Philip Cox wrote:
> BugLink: https://bugs.launchpad.net/bugs/1982282
> 
> 
> This pull request contains 81 commits that have been cherry-picked,
> or back ported from the Intel github quilt repository.  This set of
> commits adds integrated TSN controller support for the intel i225
> NICs.
> 
> 
> [Impact]
> The impact on the non-network parts of the kernel should be minimal,
> as all the changes are contained within the network stacks codepath.
> 
> [Test Plan]
> I have provided a built version of this kernel to Intel, and they
> have tested that it works.  I have also done some testing using a
> i225 NIC, and the ALD-S platform.  
> 
> 
> 
> 
> 
> The following changes since commit
> b02c00234b0c783d17d26aa817397ff43ae330a6:
> 
>   UBUNTU: Ubuntu-intel-iotg-5.15.0-1018.23 (2022-10-20 13:30:11 -
> 0400)
> 
> are available in the Git repository at:
> 
>  
> https://code.launchpad.net/~philcox/+git/lp1982282/+ref/philcox/lp1982282-review-nov14
>  
> 
> for you to fetch changes up to
> 5340b7e19cc77260f964d0773dd6ec9a44115307:
> 
>   stmmac: intel: Add RPL-P PCI ID (2022-11-14 16:21:10 -0500)
> 
> ----------------------------------------------------------------
> Aravindhan Gunasekaran (1):
>       igc: Take care of DMA timestamp rollover
> 
> David E. Box (1):
>       platform/x86: intel_pmc_core: Add IPC mailbox accessor function
> 
> Kai-Heng Feng (1):
>       net: stmmac: Fix "Unbalanced pm_runtime_enable!" warning
> 
> Kurt Kanzenbach (1):
>       net: stmmac: Calculate CDC error only once
> 
> Lay Kuan Loon (3):
>       net: networkproxy: introduce network proxy framework
>       net: networkproxy: add network proxy heci client
>       net: networkproxy: add configfs
> 
> Lay, Kuan Loon (1):
>       net: phy: dp83867: introduce critical chip default init for
> non-of platform
> 
> Ling Pei Lee (2):
>       net: stmmac: Resolve poor line rate after switching from TSO
> off to TSO on
>       stmmac: intel: Update PTP clock rate from 200MHz to 204.86MHz
> 
> Malli C (1):
>       igc: Only dump registers if configured to dump HW information
> 
> Michael Sit Wei Hong (3):
>       stmmac: intel: Add ADL-N PCI ID
>       net: pcs: xpcs: enable xpcs reset skipping
>       stmmac: intel: Add RPL-P PCI ID
> 
> Mohammad Athari Bin Ismail (2):
>       net: stmmac: selftest: replace skb_unshare with skb_share_check
>       net: phy: skip disabling interrupt when WOL is enabled in
> shutdown
> 
> Muhammad Husaini Zulkifli (10):
>       net: tc: Add index of FPE QMASK
>       bpf: add btf register/unregister API
>       net/core: XDP metadata BTF netlink API
>       rtnetlink: Fix unchecked return value of dev_xdp_query_md_btf()
>       rtnetlink: Add return value check
>       igc: Enable HW RX Timestamp for AF_XDP ZC
>       igc: Enable HW TX Timestamp for AF_XDP ZC
>       igc: Enable trace for HW TX Timestamp AF_XDP ZC
>       igc: Remove the CONFIG_DEBUG_MISC condition for trace
>       igc: Add SO_TXTIME for AF_XDP ZC
> 
> Ong Boon Leong (2):
>       net: stmmac: add tc flower filter for EtherType matching
>       net: stmmac: add FPE preempt setting for TxQ preemptible MAC
> mapping
> 
> Philip Cox (21):
>       net: stmmac: enable runtime power management support
>       igc: Set the RX packet buffer size for TSN mode
>       ethtool: Add support for configuring and verifying frame
> preemption
>       ethtool: Add support for configuring frame preemption via ioctl
>       igc: Add support for Frame Preemption verification
>       igc: Optimize the packet buffer utilization
>       igc: Export LEDs
>       igc: Fix sending packets too early
>       igc: Fix scheduling multiple packets for next cycle
>       igc: Add context for empty packet
>       igc: Reodering the empty packet buffers and descriptors
>       igc: Add trace for launchtime calculation corner case
>       igc: Configure BaseT after start and end time queue registers
>       REVERTME: net: stmmac: Add support for HW-accelerated VLAN
> stripping
>       net: stmmac: Prevent double release for suspended port in
> stmmac_release
>       net: stmmac: enable network proxy MSI interrupt support
>       net: stmmac: add network proxy support
>       net: stmmac: Move phy state machine handling into common
> suspend/resume func
>       net: stmmac: Disable MAC EEE when Network Proxy is enabled
>       net: phy: reconfigure PHY WOL in resume if WOL option still
> enabled
>       net: stmmac: enable Intel mGbE 1G/2.5G auto-negotiation support
> 
> Saeed Mahameed (2):
>       tools/bpf: Query XDP metadata BTF ID
>       tools/bpf: Add xdp set command for md btf
> 
> Song Yoong Siang (4):
>       net: phy: marvell10g: Add WAKE_PHY support to WOL event
>       net: stmmac: skip runtime handling in mdio read/write
>       net: networkproxy: add MIB passing via shared memory mechanism
>       net: stmmac: move TX/RX MAC state machine enablement to struct
> stmmac_ops
> 
> Song, Yoong Siang (6):
>       xsk: add txtime field in xdp_desc struct
>       REVERTME: net: stmmac: use napi to process TX/RX and use DMA
> Bus Mode 0
>       net: stmmac: Add per-packet time-based scheduling for XDP ZC
>       net: stmmac: restructure Rx & Tx hardware timestamping
> functions
>       net: stmmac: introduce AF_XDP ZC RX HW timestamps
>       REVERTME: net: stmmac: introduce AF_XDP ZC TX HW timestamps
> 
> Tan Tee Min (1):
>       net: stmmac: add fsleep() in HW Rx timestamp checking loop
> 
> Tan, Tee Min (5):
>       net: stmmac: Bugfix on stmmac_interrupt() for WOL
>       stmmac: intel: set EHL PCH Gbe PTP clock rate to 204.86Mhz
>       platform/x86: intel_pmc_core: Add SoC register access
>       net: pcs: xpcs: combine C37 SGMII AN and 2500BASEX for Intel
> mGbE controller
>       net: phy: update in-band AN mode when changing interface by PHY
> driver
> 
> Vedang Patel (1):
>       igc: Add BTF based metadata for XDP
> 
> Vinicius Costa Gomes (5):
>       core: Introduce netdev_tc_map_to_queue_mask()
>       taprio: Replace tc_map_to_queue_mask()
>       mqprio: Add support for frame preemption offload
>       igc: Add support for exposing frame preemption stats registers
>       igc: Use strict cycles for LaunchTime mode
> 
> Voon Weifeng (2):
>       net: stmmac: support recalculating of CBS idle slope under EST
>       REVERTME: net: stmmac: Add module param to del/keep est hw conf
> 
> Wong Vee Khee (3):
>       stmmac: intel: Enable 2.5Gbps for Intel AlderLake-S
>       REVERTME: stmmac: intel: apply PCH MSI arbitration WA only for
> specific PCH stepping
>       Revert "net: stmmac: trigger PCS EEE to turn off on link down"
> 
> Xiaoliang Yang (1):
>       net: stmmac: bump tc when get underflow error from DMA
> descriptor
> 
> Yannick Vignon (1):
>       net: stmmac: optimize locking around PTP clock reads
> 
> Zhou Furong (1):
>       libbpf: Fix bpf_netlink_recv
> 
>  Documentation/networking/ethtool-netlink.rst       |  41 ++
>  MAINTAINERS                                        |  10 +
>  drivers/net/Kconfig                                |   1 +
>  drivers/net/Makefile                               |   1 +
>  drivers/net/dsa/sja1105/sja1105_mdio.c             |   2 +-
>  drivers/net/ethernet/intel/Kconfig                 |   1 +
>  drivers/net/ethernet/intel/igc/igc.h               |  31 +
>  drivers/net/ethernet/intel/igc/igc_defines.h       |  25 +
>  drivers/net/ethernet/intel/igc/igc_dump.c          |   3 +
>  drivers/net/ethernet/intel/igc/igc_ethtool.c       |  30 +-
>  drivers/net/ethernet/intel/igc/igc_main.c          | 613
> +++++++++++++++++-
>  drivers/net/ethernet/intel/igc/igc_ptp.c           |  27 +
>  drivers/net/ethernet/intel/igc/igc_regs.h          |  12 +
>  drivers/net/ethernet/intel/igc/igc_tsn.c           |  49 +-
>  drivers/net/ethernet/intel/igc/igc_xdp.c           | 114 ++++
>  drivers/net/ethernet/intel/igc/igc_xdp.h           |  11 +
>  drivers/net/ethernet/stmicro/stmmac/Kconfig        |  21 +
>  drivers/net/ethernet/stmicro/stmmac/Makefile       |   3 +
>  drivers/net/ethernet/stmicro/stmmac/common.h       |   7 +
>  drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c  | 314 ++++++++-
>  drivers/net/ethernet/stmicro/stmmac/dwmac-intel.h  |  78 +++
>  .../net/ethernet/stmicro/stmmac/dwmac1000_core.c   |  65 +-
>  .../net/ethernet/stmicro/stmmac/dwmac100_core.c    |  25 +-
>  drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c  | 164 ++++-
>  drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c |  24 +-
>  drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c   |   7 +-
>  drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.h   |   1 +
>  drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.c   |   9 -
>  drivers/net/ethernet/stmicro/stmmac/dwmac5.c       |   8 +-
>  drivers/net/ethernet/stmicro/stmmac/dwmac5.h       |   6 +-
>  .../net/ethernet/stmicro/stmmac/dwxgmac2_core.c    | 108 +++-
>  drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c |  12 -
>  drivers/net/ethernet/stmicro/stmmac/hwif.h         |  56 +-
>  drivers/net/ethernet/stmicro/stmmac/stmmac.h       |  36 +-
>  .../net/ethernet/stmicro/stmmac/stmmac_ethtool.c   |  19 +
>  .../net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c  |   4 +-
>  drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  | 677
> ++++++++++++++++----
>  drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c  |  20 +-
>  .../net/ethernet/stmicro/stmmac/stmmac_netproxy.c  | 247 +++++++
>  .../net/ethernet/stmicro/stmmac/stmmac_netproxy.h  |  24 +
>  drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c   |  27 +-
>  .../net/ethernet/stmicro/stmmac/stmmac_selftests.c |  12 +-
>  drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c    | 227 ++++++-
>  drivers/net/networkproxy/Kconfig                   |  19 +
>  drivers/net/networkproxy/Makefile                  |   4 +
>  drivers/net/networkproxy/network_proxy.c           | 707
> +++++++++++++++++++++
>  drivers/net/networkproxy/network_proxy_configfs.c  | 309 +++++++++
>  drivers/net/networkproxy/np_ishtp_client.c         | 325 ++++++++++
>  drivers/net/pcs/pcs-xpcs.c                         |  87 ++-
>  drivers/net/phy/dp83867.c                          |  19 +
>  drivers/net/phy/marvell10g.c                       |  39 +-
>  drivers/net/phy/mxl-gpy.c                          |   5 +
>  drivers/net/phy/phy.c                              |   1 +
>  drivers/net/phy/phy_device.c                       |  14 +-
>  drivers/net/phy/phylink.c                          |   5 +
>  drivers/platform/x86/intel/pmc/core.c              |  80 ++-
>  include/linux/btf.h                                |   9 +
>  .../pmc/core.h => include/linux/intel_pmc_core.h   |  38 +-
>  include/linux/netdevice.h                          |  16 +-
>  include/linux/network_proxy.h                      |  92 +++
>  include/linux/network_proxy_common.h               | 211 ++++++
>  include/linux/pcs/pcs-xpcs.h                       |   4 +-
>  include/linux/phy.h                                |   4 +
>  include/linux/stmmac.h                             |  14 +
>  include/uapi/linux/ethtool.h                       |  21 +-
>  include/uapi/linux/ethtool_netlink.h               |  19 +
>  include/uapi/linux/if_link.h                       |   2 +
>  include/uapi/linux/if_xdp.h                        |   1 +
>  include/uapi/linux/pkt_sched.h                     |   2 +
>  kernel/bpf/btf.c                                   |  90 +++
>  net/core/dev.c                                     |  73 +++
>  net/core/rtnetlink.c                               |  25 +-
>  net/ethtool/Makefile                               |   2 +-
>  net/ethtool/netlink.c                              |  19 +
>  net/ethtool/netlink.h                              |   4 +
>  net/ethtool/preempt.c                              | 157 +++++
>  net/sched/sch_mqprio.c                             |  41 +-
>  net/sched/sch_taprio.c                             |  33 +-
>  tools/bpf/bpftool/main.h                           |   2 +
>  tools/bpf/bpftool/net.c                            |   7 +-
>  tools/bpf/bpftool/netlink_dumper.c                 |  21 +-
>  tools/bpf/bpftool/xdp.c                            | 310 +++++++++
>  tools/include/uapi/linux/if_link.h                 |   2 +
>  tools/lib/bpf/libbpf.h                             |   1 +
>  tools/lib/bpf/libbpf.map                           |   1 +
>  tools/lib/bpf/netlink.c                            |  49 ++
>  86 files changed, 5615 insertions(+), 441 deletions(-)
>  create mode 100644
> drivers/net/ethernet/stmicro/stmmac/stmmac_netproxy.c
>  create mode 100644
> drivers/net/ethernet/stmicro/stmmac/stmmac_netproxy.h
>  create mode 100644 drivers/net/networkproxy/Kconfig
>  create mode 100644 drivers/net/networkproxy/Makefile
>  create mode 100644 drivers/net/networkproxy/network_proxy.c
>  create mode 100644 drivers/net/networkproxy/network_proxy_configfs.c
>  create mode 100644 drivers/net/networkproxy/np_ishtp_client.c
>  rename drivers/platform/x86/intel/pmc/core.h =>
> include/linux/intel_pmc_core.h (93%)
>  create mode 100644 include/linux/network_proxy.h
>  create mode 100644 include/linux/network_proxy_common.h
>  create mode 100644 net/ethtool/preempt.c
>  create mode 100644 tools/bpf/bpftool/xdp.c
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20221118/2374bc29/attachment-0001.html>


More information about the kernel-team mailing list