]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
igc: Use strict cycles for Qbv scheduling
authorVinicius Costa Gomes <vinicius.gomes@intel.com>
Fri, 9 Dec 2022 04:15:18 +0000 (12:15 +0800)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Thu, 15 Dec 2022 21:19:30 +0000 (13:19 -0800)
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: 82faa9b79950 ("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>
drivers/net/ethernet/intel/igc/igc_tsn.c

index f975ed807da1e8276ae99f94ee95cc3858c4aa68..684aedd4d088c0b4c351c343d42362743c64edbd 100644 (file)
@@ -140,15 +140,8 @@ static int igc_tsn_enable_offload(struct igc_adapter *adapter)
                wr32(IGC_STQT(i), ring->start_time);
                wr32(IGC_ENDQT(i), ring->end_time);
 
-               if (adapter->base_time) {
-                       /* If we have a base_time we are in "taprio"
-                        * 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;
-               }
+               txqctl |= IGC_TXQCTL_STRICT_CYCLE |
+                       IGC_TXQCTL_STRICT_END;
 
                if (ring->launchtime_enable)
                        txqctl |= IGC_TXQCTL_QUEUE_MODE_LAUNCHT;