/linux/drivers/net/ethernet/chelsio/cxgb4/ |
H A D | cxgb4_tc_mqprio.c | 9 struct tc_mqprio_qopt_offload *mqprio) in cxgb4_mqprio_validate() argument 19 if (!mqprio->qopt.num_tc) in cxgb4_mqprio_validate() 22 if (mqprio->qopt.hw != TC_MQPRIO_HW_OFFLOAD_TCS) { in cxgb4_mqprio_validate() 25 } else if (mqprio->mode != TC_MQPRIO_MODE_CHANNEL) { in cxgb4_mqprio_validate() 28 } else if (mqprio->shaper != TC_MQPRIO_SHAPER_BW_RATE) { in cxgb4_mqprio_validate() 31 } else if (mqprio->qopt.num_tc > adap->params.nsched_cls) { in cxgb4_mqprio_validate() 47 for (i = 0; i < mqprio->qopt.num_tc; i++) { in cxgb4_mqprio_validate() 48 qoffset = max_t(u16, mqprio->qopt.offset[i], qoffset); in cxgb4_mqprio_validate() 49 qcount += mqprio->qopt.count[i]; in cxgb4_mqprio_validate() 51 start_a = mqprio->qopt.offset[i]; in cxgb4_mqprio_validate() [all …]
|
H A D | cxgb4_tc_mqprio.h | 29 struct tc_mqprio_qopt_offload mqprio; /* MQPRIO offload params */ member 41 struct tc_mqprio_qopt_offload *mqprio);
|
/linux/drivers/net/ethernet/ti/ |
H A D | am65-cpsw-qos.c | 54 struct am65_cpsw_mqprio *p_mqprio = &port->qos.mqprio; in am65_cpsw_tx_pn_shaper_apply() 56 struct tc_mqprio_qopt_offload *mqprio; in am65_cpsw_tx_pn_shaper_apply() local 61 mqprio = &p_mqprio->mqprio_hw; in am65_cpsw_tx_pn_shaper_apply() 80 for (tc = 0; tc < mqprio->qopt.num_tc; tc++) { in am65_cpsw_tx_pn_shaper_apply() 83 rate_mbps = TO_MBPS(mqprio->min_rate[tc]); in am65_cpsw_tx_pn_shaper_apply() 91 if (mqprio->max_rate[tc]) { in am65_cpsw_tx_pn_shaper_apply() 92 rate_mbps = mqprio->max_rate[tc] - mqprio->min_rate[tc]; in am65_cpsw_tx_pn_shaper_apply() 104 struct tc_mqprio_qopt_offload *mqprio) in am65_cpsw_mqprio_verify_shaper() argument 106 struct am65_cpsw_mqprio *p_mqprio = &port->qos.mqprio; in am65_cpsw_mqprio_verify_shaper() 107 struct netlink_ext_ack *extack = mqprio->extack; in am65_cpsw_mqprio_verify_shaper() [all …]
|
H A D | cpsw_priv.c | 994 struct tc_mqprio_qopt_offload *mqprio = type_data; in cpsw_set_mqprio() local 1002 num_tc = mqprio->qopt.num_tc; in cpsw_set_mqprio() 1006 if (mqprio->mode != TC_MQPRIO_MODE_DCB) in cpsw_set_mqprio() 1015 tc = mqprio->qopt.prio_tc_map[i]; in cpsw_set_mqprio() 1022 count = mqprio->qopt.count[i]; in cpsw_set_mqprio() 1023 offset = mqprio->qopt.offset[i]; in cpsw_set_mqprio() 1028 if (!mqprio->qopt.hw) { in cpsw_set_mqprio() 1034 priv->mqprio_hw = mqprio->qopt.hw; in cpsw_set_mqprio()
|
H A D | am65-cpsw-qos.h | 42 struct am65_cpsw_mqprio mqprio; member
|
/linux/Documentation/networking/device_drivers/ethernet/ti/ |
H A D | cpsw.rst | 195 $ tc qdisc replace dev eth0 handle 100: parent root mqprio num_tc 3 \ 205 $ tc qdisc replace dev eth1 handle 100: parent root mqprio num_tc 1 \ 212 +---(100:ffe2) mqprio 213 | +---(100:3) mqprio 214 | +---(100:4) mqprio 216 +---(100:ffe1) mqprio 217 | +---(100:2) mqprio 219 +---(100:ffe0) mqprio 220 +---(100:1) mqprio 223 +---(100:ffe0) mqprio [all …]
|
/linux/drivers/net/ethernet/aquantia/atlantic/ |
H A D | aq_main.c | 379 struct tc_mqprio_qopt_offload *mqprio, in aq_validate_mqprio_opt() argument 382 const bool has_min_rate = !!(mqprio->flags & TC_MQPRIO_F_MIN_RATE); in aq_validate_mqprio_opt() 408 struct tc_mqprio_qopt_offload *mqprio = type_data; in aq_ndo_setup_tc() local 418 has_min_rate = !!(mqprio->flags & TC_MQPRIO_F_MIN_RATE); in aq_ndo_setup_tc() 419 has_max_rate = !!(mqprio->flags & TC_MQPRIO_F_MAX_RATE); in aq_ndo_setup_tc() 421 err = aq_validate_mqprio_opt(aq_nic, mqprio, mqprio->qopt.num_tc); in aq_ndo_setup_tc() 425 for (i = 0; i < mqprio->qopt.num_tc; i++) { in aq_ndo_setup_tc() 427 u64 max_rate = mqprio->max_rate[i]; in aq_ndo_setup_tc() 434 u64 min_rate = mqprio->min_rate[i]; in aq_ndo_setup_tc() 441 return aq_nic_setup_tc_mqprio(aq_nic, mqprio->qopt.num_tc, in aq_ndo_setup_tc() [all …]
|
/linux/net/sched/ |
H A D | sch_mqprio.c | 40 struct tc_mqprio_qopt_offload mqprio = { in mqprio_enable_offload() local 52 mqprio.flags = priv->flags; in mqprio_enable_offload() 54 mqprio.mode = priv->mode; in mqprio_enable_offload() 56 mqprio.shaper = priv->shaper; in mqprio_enable_offload() 58 for (i = 0; i < mqprio.qopt.num_tc; i++) in mqprio_enable_offload() 59 mqprio.min_rate[i] = priv->min_rate[i]; in mqprio_enable_offload() 61 for (i = 0; i < mqprio.qopt.num_tc; i++) in mqprio_enable_offload() 62 mqprio.max_rate[i] = priv->max_rate[i]; in mqprio_enable_offload() 68 mqprio_fp_to_offload(priv->fp, &mqprio); in mqprio_enable_offload() 71 &mqprio); in mqprio_enable_offload() [all …]
|
H A D | sch_taprio.c | 1534 mqprio_qopt_reconstruct(dev, &offload->mqprio.qopt); in taprio_enable_offload() 1535 offload->mqprio.extack = extack; in taprio_enable_offload() 1537 mqprio_fp_to_offload(q->fp, &offload->mqprio); in taprio_enable_offload() 1557 offload->mqprio.extack = NULL; in taprio_enable_offload() 1784 const struct tc_mqprio_qopt *mqprio) in taprio_mqprio_cmp() argument 1788 if (!mqprio || mqprio->num_tc != dev->num_tc) in taprio_mqprio_cmp() 1791 for (i = 0; i < mqprio->num_tc; i++) in taprio_mqprio_cmp() 1792 if (dev->tc_to_txq[i].count != mqprio->count[i] || in taprio_mqprio_cmp() 1793 dev->tc_to_txq[i].offset != mqprio->offset[i]) in taprio_mqprio_cmp() 1797 if (dev->prio_tc_map[i] != mqprio->prio_tc_map[i]) in taprio_mqprio_cmp() [all …]
|
H A D | sch_mqprio_lib.c | 118 struct tc_mqprio_qopt_offload *mqprio) in mqprio_fp_to_offload() argument 127 mqprio->preemptible_tcs = preemptible_tcs; in mqprio_fp_to_offload()
|
H A D | sch_mqprio_lib.h | 18 struct tc_mqprio_qopt_offload *mqprio);
|
/linux/drivers/net/ethernet/microchip/lan966x/ |
H A D | lan966x_tc.c | 11 struct tc_mqprio_qopt_offload *mqprio) in lan966x_tc_setup_qdisc_mqprio() argument 13 u8 num_tc = mqprio->qopt.num_tc; in lan966x_tc_setup_qdisc_mqprio() 15 mqprio->qopt.hw = TC_MQPRIO_HW_OFFLOAD_TCS; in lan966x_tc_setup_qdisc_mqprio()
|
/linux/drivers/net/ethernet/stmicro/stmmac/ |
H A D | stmmac_tc.c | 913 u32 num_tc = qopt->mqprio.qopt.num_tc; in tc_taprio_map_maxsdu_txq() 923 offset = qopt->mqprio.qopt.offset[i]; in tc_taprio_map_maxsdu_txq() 924 count = qopt->mqprio.qopt.count[i]; in tc_taprio_map_maxsdu_txq() 935 struct netlink_ext_ack *extack = qopt->mqprio.extack; in tc_taprio_configure() 1067 qopt->mqprio.preemptible_tcs); in tc_taprio_configure() 1146 if (!qopt->mqprio.preemptible_tcs) in tc_setup_taprio_without_fpe() 1149 NL_SET_ERR_MSG_MOD(qopt->mqprio.extack, in tc_setup_taprio_without_fpe() 1213 struct tc_mqprio_qopt_offload *mqprio) in tc_setup_dwmac510_mqprio() argument 1215 struct netlink_ext_ack *extack = mqprio->extack; in tc_setup_dwmac510_mqprio() 1216 struct tc_mqprio_qopt *qopt = &mqprio->qopt; in tc_setup_dwmac510_mqprio() [all …]
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | en_main.c | 2351 if (params->mqprio.mode != TC_MQPRIO_MODE_CHANNEL) { in mlx5e_txq_get_qos_node_hw_id() 2356 tc = mlx5e_mqprio_txq_to_tc(params->mqprio.tc_to_txq, txq_ix); in mlx5e_txq_get_qos_node_hw_id() 2360 if (tc >= params->mqprio.num_tc) { in mlx5e_txq_get_qos_node_hw_id() 2362 tc, params->mqprio.num_tc); in mlx5e_txq_get_qos_node_hw_id() 2366 *hw_id = params->mqprio.channel.hw_id[tc]; in mlx5e_txq_get_qos_node_hw_id() 3098 ntc = priv->channels.params.mqprio.num_tc; in mlx5e_update_tc_and_tx_queues() 3099 tc_to_txq = priv->channels.params.mqprio.tc_to_txq; in mlx5e_update_tc_and_tx_queues() 3621 params->mqprio.mode = TC_MQPRIO_MODE_DCB; in mlx5e_params_mqprio_dcb_set() 3622 params->mqprio.num_tc = num_tc; in mlx5e_params_mqprio_dcb_set() 3623 mlx5e_mqprio_build_default_tc_to_txq(params->mqprio.tc_to_txq, num_tc, in mlx5e_params_mqprio_dcb_set() [all …]
|
H A D | en.h | 296 } mqprio; member 319 return params->mqprio.mode == TC_MQPRIO_MODE_DCB ? in mlx5e_get_dcb_num_tc() 320 params->mqprio.num_tc : 1; in mlx5e_get_dcb_num_tc()
|
/linux/drivers/net/ethernet/sfc/siena/ |
H A D | tx.c | 362 struct tc_mqprio_qopt *mqprio = type_data; in efx_siena_setup_tc() local 372 num_tc = mqprio->num_tc; in efx_siena_setup_tc() 377 mqprio->hw = TC_MQPRIO_HW_OFFLOAD_TCS; in efx_siena_setup_tc()
|
/linux/tools/testing/selftests/drivers/net/netdevsim/ |
H A D | tc-mq-visibility.sh | 28 for root in mq mqprio; do
|
/linux/tools/testing/selftests/drivers/net/hw/ |
H A D | ethtool_mm.sh | 259 tc qdisc add dev $h1 root mqprio num_tc 4 map 0 1 2 3 \ 273 tc qdisc add dev $h2 root mqprio num_tc 4 map 0 1 2 3 \
|
/linux/Documentation/networking/device_drivers/ethernet/intel/ |
H A D | iavf.rst | 163 tc qdisc add dev <interface> root mqprio num_tc 2 map 0 0 0 0 1 1 1 1 175 offload mode in mqprio that makes full use of the mqprio options, the 186 TCs are configured using mqprio. 200 are configured using mqprio
|
/linux/Documentation/networking/ |
H A D | tc-queue-filters.rst | 15 the queue-sets are configured using mqprio.
|
/linux/drivers/net/ethernet/marvell/ |
H A D | mvneta.c | 5218 struct tc_mqprio_qopt_offload *mqprio) in mvneta_setup_mqprio() argument 5224 if (mqprio->qopt.hw != TC_MQPRIO_HW_OFFLOAD_TCS) in mvneta_setup_mqprio() 5227 num_tc = mqprio->qopt.num_tc; in mvneta_setup_mqprio() 5240 netdev_set_num_tc(dev, mqprio->qopt.num_tc); in mvneta_setup_mqprio() 5242 for (tc = 0; tc < mqprio->qopt.num_tc; tc++) { in mvneta_setup_mqprio() 5243 netdev_set_tc_queue(dev, tc, mqprio->qopt.count[tc], in mvneta_setup_mqprio() 5244 mqprio->qopt.offset[tc]); in mvneta_setup_mqprio() 5246 for (rxq = mqprio->qopt.offset[tc]; in mvneta_setup_mqprio() 5247 rxq < mqprio->qopt.count[tc] + mqprio->qopt.offset[tc]; in mvneta_setup_mqprio() 5256 if (mqprio->shaper != TC_MQPRIO_SHAPER_BW_RATE) { in mvneta_setup_mqprio() [all …]
|
/linux/include/net/ |
H A D | pkt_sched.h | 236 struct tc_mqprio_qopt_offload mqprio; member
|
/linux/Documentation/admin-guide/cgroup-v1/ |
H A D | net_prio.rst | 52 One usage for the net_prio cgroup is with mqprio qdisc allowing application
|
/linux/tools/testing/selftests/drivers/net/ocelot/ |
H A D | psfp.sh | 155 tc qdisc add dev ${if_name} handle 100: parent root mqprio num_tc 8 \
|
/linux/drivers/net/dsa/ocelot/ |
H A D | felix_vsc9959.c | 1433 ocelot_port_mqprio(ocelot, port, &taprio->mqprio); in vsc9959_qos_port_tas_set() 1449 ret = ocelot_port_mqprio(ocelot, port, &taprio->mqprio); in vsc9959_qos_port_tas_set() 1533 taprio->mqprio.qopt.num_tc = 0; in vsc9959_qos_port_tas_set() 1534 ocelot_port_mqprio(ocelot, port, &taprio->mqprio); in vsc9959_qos_port_tas_set() 1659 struct tc_mqprio_qopt_offload *mqprio) in vsc9959_qos_port_mqprio() argument 1664 ret = ocelot_port_mqprio(ocelot, port, mqprio); in vsc9959_qos_port_mqprio()
|