mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
igc: Use strict cycles for Qbv scheduling
[ Upstream commitd8f45be01d] Configuring strict cycle mode in the controller forces more well behaved transmissions when taprio is offloaded. When set this strict_cycle and strict_end, transmission is not enabled if the whole packet cannot be completed before end of the Qbv cycle. Fixes:82faa9b799("igc: Add support for ETF offloading") Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com> Signed-off-by: Aravindhan Gunasekaran <aravindhan.gunasekaran@intel.com> Signed-off-by: Muhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com> Tested-by: Naama Meir <naamax.meir@linux.intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
413fe82420
commit
a0e2295c2a
@@ -92,15 +92,8 @@ static int igc_tsn_enable_offload(struct igc_adapter *adapter)
|
|||||||
wr32(IGC_STQT(i), ring->start_time);
|
wr32(IGC_STQT(i), ring->start_time);
|
||||||
wr32(IGC_ENDQT(i), ring->end_time);
|
wr32(IGC_ENDQT(i), ring->end_time);
|
||||||
|
|
||||||
if (adapter->base_time) {
|
txqctl |= IGC_TXQCTL_STRICT_CYCLE |
|
||||||
/* If we have a base_time we are in "taprio"
|
IGC_TXQCTL_STRICT_END;
|
||||||
* mode and we need to be strict about the
|
|
||||||
* cycles: only transmit a packet if it can be
|
|
||||||
* completed during that cycle.
|
|
||||||
*/
|
|
||||||
txqctl |= IGC_TXQCTL_STRICT_CYCLE |
|
|
||||||
IGC_TXQCTL_STRICT_END;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ring->launchtime_enable)
|
if (ring->launchtime_enable)
|
||||||
txqctl |= IGC_TXQCTL_QUEUE_MODE_LAUNCHT;
|
txqctl |= IGC_TXQCTL_QUEUE_MODE_LAUNCHT;
|
||||||
|
|||||||
Reference in New Issue
Block a user