diff options
author | Maxime Chevallier <maxime.chevallier@bootlin.com> | 2021-11-26 12:20:53 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-11-29 12:05:52 +0000 |
commit | 75fa71e3acadbb4ab5eda18505277eb9a1f69b23 (patch) | |
tree | 4a9f06f918ce228b80f8ed4428a649011874bbe5 /drivers/net/ethernet | |
parent | 2f7ed29f2c54ace09eb09e3f97fd573a31b79309 (diff) |
net: mvneta: Use struct tc_mqprio_qopt_offload for MQPrio configuration
The struct tc_mqprio_qopt_offload is a container for struct tc_mqprio_qopt,
that allows passing extra parameters, such as traffic shaping. This commit
converts the current mqprio code to that new struct.
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r-- | drivers/net/ethernet/marvell/mvneta.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c index 80e4b500695e..46b7604805f7 100644 --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c @@ -38,6 +38,7 @@ #include <net/ipv6.h> #include <net/tso.h> #include <net/page_pool.h> +#include <net/pkt_cls.h> #include <linux/bpf_trace.h> /* Registers */ @@ -4908,14 +4909,14 @@ static void mvneta_setup_rx_prio_map(struct mvneta_port *pp) } static int mvneta_setup_mqprio(struct net_device *dev, - struct tc_mqprio_qopt *qopt) + struct tc_mqprio_qopt_offload *mqprio) { struct mvneta_port *pp = netdev_priv(dev); u8 num_tc; int i; - qopt->hw = TC_MQPRIO_HW_OFFLOAD_TCS; - num_tc = qopt->num_tc; + mqprio->qopt.hw = TC_MQPRIO_HW_OFFLOAD_TCS; + num_tc = mqprio->qopt.num_tc; if (num_tc > rxq_number) return -EINVAL; @@ -4926,13 +4927,15 @@ static int mvneta_setup_mqprio(struct net_device *dev, return 0; } - memcpy(pp->prio_tc_map, qopt->prio_tc_map, sizeof(pp->prio_tc_map)); + memcpy(pp->prio_tc_map, mqprio->qopt.prio_tc_map, + sizeof(pp->prio_tc_map)); mvneta_setup_rx_prio_map(pp); - netdev_set_num_tc(dev, qopt->num_tc); - for (i = 0; i < qopt->num_tc; i++) - netdev_set_tc_queue(dev, i, qopt->count[i], qopt->offset[i]); + netdev_set_num_tc(dev, mqprio->qopt.num_tc); + for (i = 0; i < mqprio->qopt.num_tc; i++) + netdev_set_tc_queue(dev, i, mqprio->qopt.count[i], + mqprio->qopt.offset[i]); return 0; } |