igc: Lift TAPRIO schedule restriction
authorKurt Kanzenbach <kurt@linutronix.de>
Mon, 6 Jun 2022 09:27:47 +0000 (11:27 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Mon, 18 Jul 2022 16:31:35 +0000 (09:31 -0700)
commita5fd39464a4081ce11c801d7e20c4551ba7cb983
tree01ced4a42e7efb96f7c850371a06d908fc6714fc
parent6e693a104207fbf5a22795c987e8964c0a1ffe2d
igc: Lift TAPRIO schedule restriction

Add support for Qbv schedules where one queue stays open
in consecutive entries. Currently that's not supported.

Example schedule:

|tc qdisc replace dev ${INTERFACE} handle 100 parent root taprio num_tc 3 \
|   map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \
|   queues 1@0 1@1 2@2 \
|   base-time ${BASETIME} \
|   sched-entry S 0x01 300000 \ # Stream High/Low
|   sched-entry S 0x06 500000 \ # Management and Best Effort
|   sched-entry S 0x04 200000 \ # Best Effort
|   flags 0x02

Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
Reviewed-by: Vinicius Costa Gomes <vinicius.gomes@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_main.c