Kurt Kanzenbach <[email protected]> writes: > Add support for offloading MQPRIO. The hardware has four priorities as well > as four queues. Each queue must be a assigned with a unique priority. > > However, the priorities are only considered in TSN Tx mode. There are two > TSN Tx modes. In case of MQPRIO the Qbv capability is not required. > Therefore, use the legacy TSN Tx mode, which performs strict priority > arbitration. > > Example for mqprio with hardware offload: > > |tc qdisc replace dev ${INTERFACE} handle 100 parent root mqprio num_tc 4 \ > | map 0 0 0 0 0 1 2 3 0 0 0 0 0 0 0 0 \ > | queues 1@0 1@1 1@2 1@3 \ > | hw 1 > > The mqprio Qdisc also allows to configure the `preemptible_tcs'. However, > frame preemption is not supported yet. > > Tested on Intel i225 and implemented by following data sheet section 7.5.2, > Transmit Scheduling. > > Signed-off-by: Kurt Kanzenbach <[email protected]> > --- > Changes in v3: > - Use FIELD_PREP for Tx ARB (Simon) > - Add helper for Tx ARB configuration (Simon) > - Limit ethtool_set_channels when mqprio is enabled (Jian) > - Link to v2: > https://lore.kernel.org/r/[email protected] > > Changes in v2: > - Improve changelog (Paul Menzel) > - Link to v1: > https://lore.kernel.org/r/[email protected]
Acked-by: Vinicius Costa Gomes <[email protected]> -- Vinicius
