net/sched: taprio: replace tc_taprio_qopt_offload :: enable with a "cmd" enum
authorVladimir Oltean <vladimir.oltean@nxp.com>
Tue, 30 May 2023 09:19:45 +0000 (12:19 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 31 May 2023 09:00:30 +0000 (10:00 +0100)
commit2d800bc500fb3fb07a0fb42e2d0a1356fb9e1e8f
treedb9684b080c8cd07b7e364ddc37533edfa6d5758
parentdced11ef84fb310f4ddfa74d1c09687b8f845d1b
net/sched: taprio: replace tc_taprio_qopt_offload :: enable with a "cmd" enum

Inspired from struct flow_cls_offload :: cmd, in order for taprio to be
able to report statistics (which is future work), it seems that we need
to drill one step further with the ndo_setup_tc(TC_SETUP_QDISC_TAPRIO)
multiplexing, and pass the command as part of the common portion of the
muxed structure.

Since we already have an "enable" variable in tc_taprio_qopt_offload,
refactor all drivers to check for "cmd" instead of "enable", and reject
every other command except "replace" and "destroy" - to be future proof.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Horatiu Vultur <horatiu.vultur@microchip.com> # for lan966x
Acked-by: Kurt Kanzenbach <kurt@linutronix.de> # hellcreek
Reviewed-by: Muhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com>
Reviewed-by: Gerhard Engleder <gerhard@engleder-embedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 files changed:
drivers/net/dsa/hirschmann/hellcreek.c
drivers/net/dsa/ocelot/felix_vsc9959.c
drivers/net/dsa/sja1105/sja1105_tas.c
drivers/net/ethernet/engleder/tsnep_selftests.c
drivers/net/ethernet/engleder/tsnep_tc.c
drivers/net/ethernet/freescale/enetc/enetc_qos.c
drivers/net/ethernet/intel/igc/igc_main.c
drivers/net/ethernet/microchip/lan966x/lan966x_tc.c
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
drivers/net/ethernet/ti/am65-cpsw-qos.c
include/net/pkt_sched.h
net/sched/sch_taprio.c