mbox series

[net-next,0/8,pull,request] Intel Wired LAN Driver Updates 2022-12-05 (igc)

Message ID 20221205212414.3197525-1-anthony.l.nguyen@intel.com (mailing list archive)
Headers show
Series Intel Wired LAN Driver Updates 2022-12-05 (igc) | expand

Message

Tony Nguyen Dec. 5, 2022, 9:24 p.m. UTC
Muhammad Husaini Zulkifli says:

This patch series improves the Time-Sensitive Networking(TSN) Qbv Scheduling
features. I225 stepping had some hardware restrictions; I226 enables us to
further enhance the driver code and offer more Qbv capabilities.

An overview of each patch 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: Ensure basetime values are not negative
Patch 4: Handle the Qbv end time correctly if cycle time parameter is
configured during the Gate Control List. Applicable for both i225 and i226.
Patch 5: Remove the restriction which require a controller reset when
setting the basetime register for new i226 steps and enable the second
GCL configuration.
Patch 6: Setting the Qbv start time and end time properly if the particular
gate is close in the Gate Control List due to hardware bug.
Patch 7: Configure strict cycle for better behaved transmissions
Patch 8: Allow scheduling packet to next cycle for i225

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

The following are changes since commit 343a5d358e4ab5597e90e1eafa7eba55eb42e96b:
  net: phy: mxl-gpy: rename MMD_VEND1 macros to match datasheet
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 1GbE

Muhammad Husaini Zulkifli (2):
  igc: remove I226 Qbv BaseTime restriction
  igc: Add checking for basetime less than zero

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

Vinicius Costa Gomes (2):
  igc: Use strict cycles for Qbv scheduling
  igc: Enhance Qbv scheduling by using first flag bit

 drivers/net/ethernet/intel/igc/igc.h         |   3 +
 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 |   3 +
 drivers/net/ethernet/intel/igc/igc_main.c    | 224 ++++++++++++++++---
 drivers/net/ethernet/intel/igc/igc_tsn.c     |  66 +++---
 drivers/net/ethernet/intel/igc/igc_tsn.h     |   2 +-
 7 files changed, 266 insertions(+), 63 deletions(-)

Comments

Leon Romanovsky Dec. 7, 2022, 7:46 a.m. UTC | #1
On Mon, Dec 05, 2022 at 01:24:06PM -0800, Tony Nguyen wrote:
> Muhammad Husaini Zulkifli says:
> 
> This patch series improves the Time-Sensitive Networking(TSN) Qbv Scheduling
> features. I225 stepping had some hardware restrictions; I226 enables us to
> further enhance the driver code and offer more Qbv capabilities.

<...>

> Muhammad Husaini Zulkifli (2):
>   igc: remove I226 Qbv BaseTime restriction
>   igc: Add checking for basetime less than zero
> 
> 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
> 
> Vinicius Costa Gomes (2):
>   igc: Use strict cycles for Qbv scheduling
>   igc: Enhance Qbv scheduling by using first flag bit
> 
>  drivers/net/ethernet/intel/igc/igc.h         |   3 +
>  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 |   3 +
>  drivers/net/ethernet/intel/igc/igc_main.c    | 224 ++++++++++++++++---
>  drivers/net/ethernet/intel/igc/igc_tsn.c     |  66 +++---
>  drivers/net/ethernet/intel/igc/igc_tsn.h     |   2 +-
>  7 files changed, 266 insertions(+), 63 deletions(-)
> 

Thanks,
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Jakub Kicinski Dec. 8, 2022, 12:10 a.m. UTC | #2
On Mon,  5 Dec 2022 13:24:06 -0800 Tony Nguyen wrote:
> This patch series improves the Time-Sensitive Networking(TSN) Qbv Scheduling
> features. I225 stepping had some hardware restrictions; I226 enables us to
> further enhance the driver code and offer more Qbv capabilities.

I didn't apply this yesterday because it was unclear if any of these
patches are fixes. Could you confirm they are not?