mbox series

[0/5] igc: TSN Qbv Improvement for I226 Stepping

Message ID 20221030045324.25207-1-muhammad.husaini.zulkifli@intel.com
Headers show
Series igc: TSN Qbv Improvement for I226 Stepping | expand

Message

Zulkifli, Muhammad Husaini Oct. 30, 2022, 4:53 a.m. UTC
Hello!

This patch series improve the Time-Sensitive Networking(TSN) Qbv Scheduling
features. Since the previous I225 stepping had some hardware
restrictions, this new stepping enables us to further enhance the driver
code and offer more Qbv capabilities.

An overview of each patch series is given below:

Patch 1: Allow configuring the basetime with a value of zero.
Patch 2: To enable basetime scheduling in the future, remove the existing
restriction for i226 stepping while maintain the restriction for i225.
Patch 3: Handle the Qbv end time correctly if cycle time parameter is
configured during the Gate Control List. Applicable for both i225 and i226.
Patch 4: Remove the restriction which require a controller reset when
setting the basetime register for new i226 steps and enable the second
GCL configuration.
Patch 5: Setting the Qbv start time and end time properly if the particular
gate is close in the Gate Control List due to hardware bug.

Test Procedure:
Talker: udp_tai application is being used to generate the Qbv packet.
Receiver : Capture using tcpdump to analyze the packet using wireshark.

Muhammad Husaini Zulkifli (1):
  igc: remove I226 Qbv BaseTime restriction

Tan Tee Min (4):
  igc: allow BaseTime 0 enrollment for Qbv
  igc: recalculate Qbv end_time by considering cycle time
  igc: enable Qbv configuration for 2nd GCL
  igc: Set Qbv start_time and end_time to end_time if not being
    configured in GCL

 drivers/net/ethernet/intel/igc/igc.h         |  1 +
 drivers/net/ethernet/intel/igc/igc_base.c    | 29 +++++++++++
 drivers/net/ethernet/intel/igc/igc_base.h    |  2 +
 drivers/net/ethernet/intel/igc/igc_defines.h |  1 +
 drivers/net/ethernet/intel/igc/igc_main.c    | 45 +++++++++++++---
 drivers/net/ethernet/intel/igc/igc_tsn.c     | 55 +++++++++++++-------
 drivers/net/ethernet/intel/igc/igc_tsn.h     |  2 +-
 7 files changed, 110 insertions(+), 25 deletions(-)

--
2.17.1