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