Re: [Intel-wired-lan] [PATCH iwl-net v2 2/3] igc: Fix reset adapter logics when tx mode change

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/07/2024 15:53, Faizal Rahim wrote:
Following the "igc: Fix TX Hang issue when QBV Gate is close" changes,
remaining issues with the reset adapter logic in igc_tsn_offload_apply()
have been observed:

1. The reset adapter logics for i225 and i226 differ, although they should
    be the same according to the guidelines in I225/6 HW Design Section
    7.5.2.1 on software initialization during tx mode changes.
2. The i225 resets adapter every time, even though tx mode doesn't change.
    This occurs solely based on the condition  igc_is_device_id_i225() when
    calling schedule_work().
3. i226 doesn't reset adapter for tsn->legacy tx mode changes. It only
    resets adapter for legacy->tsn tx mode transitions.
4. qbv_count introduced in the patch is actually not needed; in this
    context, a non-zero value of qbv_count is used to indicate if tx mode
    was unconditionally set to tsn in igc_tsn_enable_offload(). This could
    be replaced by checking the existing register
    IGC_TQAVCTRL_TRANSMIT_MODE_TSN bit.

This patch resolves all issues and enters schedule_work() to reset the
adapter only when changing tx mode. It also removes reliance on qbv_count.

qbv_count field will be removed in a future patch.

Test ran:

1. Verify reset adapter behaviour in i225/6:
    a) Enrol a new GCL
       Reset adapter observed (tx mode change legacy->tsn)
    b) Enrol a new GCL without deleting qdisc
       No reset adapter observed (tx mode remain tsn->tsn)
    c) Delete qdisc
       Reset adapter observed (tx mode change tsn->legacy)

2. Tested scenario from "igc: Fix TX Hang issue when QBV Gate is closed"
    to confirm it remains resolved.

Fixes: 175c241288c0 ("igc: Fix TX Hang issue when QBV Gate is closed")
Signed-off-by: Faizal Rahim <faizal.abdul.rahim@xxxxxxxxxxxxxxx>
Reviewed-by: Simon Horman <horms@xxxxxxxxxx>
Acked-by: Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxx>
Acked-by: Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxx>
---
  drivers/net/ethernet/intel/igc/igc_tsn.c | 23 ++++++++++++++++++++---
  1 file changed, 20 insertions(+), 3 deletions(-)

Tested-by: Mor Bar-Gabay <morx.bar.gabay@xxxxxxxxx>




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux