xref: /kernel/linux/linux-6.6/drivers/net/ethernet/microchip/lan966x/lan966x_mqprio.c
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /kernel/linux/linux-6.6/drivers/net/ethernet/microchip/lan966x/
162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0+
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci#include "lan966x_main.h"
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciint lan966x_mqprio_add(struct lan966x_port *port, u8 num_tc)
662306a36Sopenharmony_ci{
762306a36Sopenharmony_ci	u8 i;
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci	if (num_tc != NUM_PRIO_QUEUES) {
1062306a36Sopenharmony_ci		netdev_err(port->dev, "Only %d traffic classes supported\n",
1162306a36Sopenharmony_ci			   NUM_PRIO_QUEUES);
1262306a36Sopenharmony_ci		return -EINVAL;
1362306a36Sopenharmony_ci	}
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	netdev_set_num_tc(port->dev, num_tc);
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	for (i = 0; i < num_tc; ++i)
1862306a36Sopenharmony_ci		netdev_set_tc_queue(port->dev, i, 1, i);
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	return 0;
2162306a36Sopenharmony_ci}
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciint lan966x_mqprio_del(struct lan966x_port *port)
2462306a36Sopenharmony_ci{
2562306a36Sopenharmony_ci	netdev_reset_tc(port->dev);
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	return 0;
2862306a36Sopenharmony_ci}
29

Indexes created Thu Nov 07 10:32:03 CST 2024