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