Home
last modified time | relevance | path

Searched refs:qopt (Results 1 – 25 of 46) sorted by relevance

12

/linux/drivers/net/ethernet/engleder/
H A Dtsnep_selftests.c156 struct tc_taprio_qopt_offload *qopt, s64 ms) in delay_base_time() argument
159 u64 base_time = ktime_to_ns(qopt->base_time); in delay_base_time()
164 n = div64_u64(system_time - base_time, qopt->cycle_time); in delay_base_time()
166 qopt->base_time = ktime_add_ns(qopt->base_time, in delay_base_time()
167 (n + 1) * qopt->cycle_time); in delay_base_time()
312 struct tc_taprio_qopt_offload *qopt, s64 ms) in enable_check_taprio() argument
316 retval = tsnep_tc_setup(adapter->netdev, TC_SETUP_QDISC_TAPRIO, qopt); in enable_check_taprio()
328 struct tc_taprio_qopt_offload qopt; in disable_taprio() local
331 memset(&qopt, in disable_taprio()
341 run_taprio(struct tsnep_adapter * adapter,struct tc_taprio_qopt_offload * qopt,s64 ms) run_taprio() argument
354 struct tc_taprio_qopt_offload *qopt; tsnep_test_taprio() local
451 struct tc_taprio_qopt_offload *qopt; tsnep_test_taprio_change() local
604 struct tc_taprio_qopt_offload *qopt; tsnep_test_taprio_extension() local
[all...]
H A Dtsnep_tc.c11 static int tsnep_validate_gcl(struct tc_taprio_qopt_offload *qopt) in tsnep_validate_gcl() argument
16 if (!qopt->cycle_time) in tsnep_validate_gcl()
18 if (qopt->num_entries > TSNEP_MAX_GCL_NUM) in tsnep_validate_gcl()
21 for (i = 0; i < qopt->num_entries; i++) { in tsnep_validate_gcl()
22 if (qopt->entries[i].command != TC_TAPRIO_CMD_SET_GATES) in tsnep_validate_gcl()
24 if (qopt->entries[i].gate_mask & ~TSNEP_GCL_MASK) in tsnep_validate_gcl()
26 if (qopt->entries[i].interval < TSNEP_GCL_MIN_INTERVAL) in tsnep_validate_gcl()
28 cycle_time += qopt->entries[i].interval; in tsnep_validate_gcl()
30 if (qopt->cycle_time != cycle_time) in tsnep_validate_gcl()
32 if (qopt in tsnep_validate_gcl()
88 tsnep_write_gcl(struct tsnep_gcl * gcl,struct tc_taprio_qopt_offload * qopt) tsnep_write_gcl() argument
319 tsnep_taprio(struct tsnep_adapter * adapter,struct tc_taprio_qopt_offload * qopt) tsnep_taprio() argument
[all...]
/linux/net/sched/
H A Dsch_mqprio_lib.c20 const struct tc_mqprio_qopt *qopt, in mqprio_validate_queue_counts() argument
26 for (i = 0; i < qopt->num_tc; i++) { in mqprio_validate_queue_counts()
27 unsigned int last = qopt->offset[i] + qopt->count[i]; in mqprio_validate_queue_counts()
29 if (!qopt->count[i]) { in mqprio_validate_queue_counts()
38 if (qopt->offset[i] >= dev->real_num_tx_queues || in mqprio_validate_queue_counts()
42 qopt->count[i], qopt->offset[i], in mqprio_validate_queue_counts()
51 for (j = i + 1; j < qopt->num_tc; j++) { in mqprio_validate_queue_counts()
52 if (intervals_overlap(qopt in mqprio_validate_queue_counts()
68 mqprio_validate_qopt(struct net_device * dev,struct tc_mqprio_qopt * qopt,bool validate_queue_counts,bool allow_overlapping_txqs,struct netlink_ext_ack * extack) mqprio_validate_qopt() argument
103 mqprio_qopt_reconstruct(struct net_device * dev,struct tc_mqprio_qopt * qopt) mqprio_qopt_reconstruct() argument
[all...]
H A Dsch_tbf.c146 struct tc_tbf_qopt_offload qopt; in tbf_offload_change() local
151 qopt.command = TC_TBF_REPLACE; in tbf_offload_change()
152 qopt.handle = sch->handle; in tbf_offload_change()
153 qopt.parent = sch->parent; in tbf_offload_change()
154 qopt.replace_params.rate = q->rate; in tbf_offload_change()
155 qopt.replace_params.max_size = q->max_size; in tbf_offload_change()
156 qopt.replace_params.qstats = &sch->qstats; in tbf_offload_change()
158 dev->netdev_ops->ndo_setup_tc(dev, TC_SETUP_QDISC_TBF, &qopt); in tbf_offload_change()
164 struct tc_tbf_qopt_offload qopt; in tbf_offload_destroy() local
169 qopt in tbf_offload_destroy()
177 struct tc_tbf_qopt_offload qopt; tbf_offload_dump() local
362 struct tc_tbf_qopt *qopt; tbf_change() local
[all...]
H A Dsch_fifo.c62 struct tc_fifo_qopt_offload qopt; in fifo_offload_init() local
67 qopt.command = TC_FIFO_REPLACE; in fifo_offload_init()
68 qopt.handle = sch->handle; in fifo_offload_init()
69 qopt.parent = sch->parent; in fifo_offload_init()
70 dev->netdev_ops->ndo_setup_tc(dev, TC_SETUP_QDISC_FIFO, &qopt); in fifo_offload_init()
76 struct tc_fifo_qopt_offload qopt; in fifo_offload_destroy() local
81 qopt.command = TC_FIFO_DESTROY; in fifo_offload_destroy()
82 qopt.handle = sch->handle; in fifo_offload_destroy()
83 qopt.parent = sch->parent; in fifo_offload_destroy()
84 dev->netdev_ops->ndo_setup_tc(dev, TC_SETUP_QDISC_FIFO, &qopt); in fifo_offload_destroy()
89 struct tc_fifo_qopt_offload qopt; fifo_offload_dump() local
[all...]
H A Dsch_mqprio.c35 const struct tc_mqprio_qopt *qopt, in mqprio_enable_offload() argument
41 .qopt = *qopt, in mqprio_enable_offload()
58 for (i = 0; i < mqprio.qopt.num_tc; i++) in mqprio_enable_offload()
61 for (i = 0; i < mqprio.qopt.num_tc; i++) in mqprio_enable_offload()
75 priv->hw_offload = mqprio.qopt.hw; in mqprio_enable_offload()
115 static int mqprio_parse_opt(struct net_device *dev, struct tc_mqprio_qopt *qopt, in mqprio_parse_opt() argument
121 /* Limit qopt->hw to maximum supported offload value. Drivers have in mqprio_parse_opt()
125 if (qopt->hw > TC_MQPRIO_HW_OFFLOAD_MAX) in mqprio_parse_opt()
126 qopt in mqprio_parse_opt()
242 mqprio_parse_nlattr(struct Qdisc * sch,struct tc_mqprio_qopt * qopt,struct nlattr * opt,struct netlink_ext_ack * extack) mqprio_parse_nlattr() argument
353 struct tc_mqprio_qopt *qopt = NULL; mqprio_init() local
[all...]
H A Dsch_ets.c116 struct tc_ets_qopt_offload qopt; in ets_offload_change() local
128 qopt.command = TC_ETS_REPLACE; in ets_offload_change()
129 qopt.handle = sch->handle; in ets_offload_change()
130 qopt.parent = sch->parent; in ets_offload_change()
131 qopt.replace_params.bands = q->nbands; in ets_offload_change()
132 qopt.replace_params.qstats = &sch->qstats; in ets_offload_change()
133 memcpy(&qopt.replace_params.priomap, in ets_offload_change()
146 qopt.replace_params.quanta[i] = quantum; in ets_offload_change()
147 qopt.replace_params.weights[i] = weight; in ets_offload_change()
150 dev->netdev_ops->ndo_setup_tc(dev, TC_SETUP_QDISC_ETS, &qopt); in ets_offload_change()
[all …]
H A Dsch_etf.c44 static inline int validate_input_params(struct tc_etf_qopt *qopt, in validate_input_params() argument
57 if (qopt->clockid < 0) { in validate_input_params()
62 if (qopt->clockid != CLOCK_TAI) { in validate_input_params()
67 if (qopt->delta < 0) { in validate_input_params()
349 struct tc_etf_qopt *qopt; in etf_init() local
368 qopt = nla_data(tb[TCA_ETF_PARMS]); in etf_init()
371 qopt->delta, qopt->clockid, in etf_init()
372 OFFLOAD_IS_ON(qopt) ? "on" : "off", in etf_init()
373 DEADLINE_MODE_IS_ON(qopt) in etf_init()
[all...]
H A Dsch_prio.c140 static int prio_offload(struct Qdisc *sch, struct tc_prio_qopt *qopt) in prio_offload() argument
151 if (qopt) { in prio_offload()
153 opt.replace_params.bands = qopt->bands; in prio_offload()
154 memcpy(&opt.replace_params.priomap, qopt->priomap, in prio_offload()
182 struct tc_prio_qopt *qopt; in prio_tune() local
184 if (nla_len(opt) < sizeof(*qopt)) in prio_tune()
186 qopt = nla_data(opt); in prio_tune()
188 if (qopt->bands > TCQ_PRIO_BANDS || qopt->bands < TCQ_MIN_PRIO_BANDS) in prio_tune()
192 if (qopt in prio_tune()
[all...]
H A Dsch_netem.c1019 struct tc_netem_qopt *qopt; in netem_change() local
1024 qopt = nla_data(opt); in netem_change()
1025 ret = parse_attr(tb, TCA_NETEM_MAX, opt, netem_policy, sizeof(*qopt)); in netem_change()
1061 sch->limit = qopt->limit; in netem_change()
1063 q->latency = PSCHED_TICKS2NS(qopt->latency); in netem_change()
1064 q->jitter = PSCHED_TICKS2NS(qopt->jitter); in netem_change()
1065 q->limit = qopt->limit; in netem_change()
1066 q->gap = qopt->gap; in netem_change()
1068 q->loss = qopt->loss; in netem_change()
1070 ret = check_netem_in_tree(sch, qopt in netem_change()
1211 struct tc_netem_qopt qopt; netem_dump() local
[all...]
H A Dsch_cbs.c367 struct tc_cbs_qopt *qopt; in cbs_change() local
380 qopt = nla_data(tb[TCA_CBS_PARMS]); in cbs_change()
382 if (!qopt->offload) { in cbs_change()
386 err = cbs_enable_offload(dev, q, qopt, extack); in cbs_change()
392 WRITE_ONCE(q->hicredit, qopt->hicredit); in cbs_change()
393 WRITE_ONCE(q->locredit, qopt->locredit); in cbs_change()
394 WRITE_ONCE(q->idleslope, qopt->idleslope * BYTES_PER_KBIT); in cbs_change()
395 WRITE_ONCE(q->sendslope, qopt->sendslope * BYTES_PER_KBIT); in cbs_change()
396 WRITE_ONCE(q->offload, qopt->offload); in cbs_change()
H A Dsch_mqprio_lib.h11 int mqprio_validate_qopt(struct net_device *dev, struct tc_mqprio_qopt *qopt,
16 struct tc_mqprio_qopt *qopt);
H A Dsch_multiq.c175 struct tc_multiq_qopt *qopt; in multiq_tune() local
181 if (nla_len(opt) < sizeof(*qopt)) in multiq_tune()
184 qopt = nla_data(opt); in multiq_tune()
186 qopt->bands = qdisc_dev(sch)->real_num_tx_queues; in multiq_tune()
188 removed = kmalloc(sizeof(*removed) * (q->max_bands - qopt->bands), in multiq_tune()
194 q->bands = qopt->bands; in multiq_tune()
/linux/drivers/net/ethernet/microchip/lan966x/
H A Dlan966x_cbs.c6 struct tc_cbs_qopt_offload *qopt) in lan966x_cbs_add() argument
13 if (qopt->idleslope <= 0 || in lan966x_cbs_add()
14 qopt->sendslope >= 0 || in lan966x_cbs_add()
15 qopt->locredit >= qopt->hicredit) in lan966x_cbs_add()
18 se_idx = SE_IDX_QUEUE + port->chip_port * NUM_PRIO_QUEUES + qopt->queue; in lan966x_cbs_add()
19 cir = qopt->idleslope; in lan966x_cbs_add()
20 cbs = (qopt->idleslope - qopt->sendslope) * in lan966x_cbs_add()
21 (qopt in lan966x_cbs_add()
52 lan966x_cbs_del(struct lan966x_port * port,struct tc_cbs_qopt_offload * qopt) lan966x_cbs_del() argument
[all...]
H A Dlan966x_tc.c13 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()
35 struct tc_tbf_qopt_offload *qopt) in lan966x_tc_setup_qdisc_tbf() argument
37 switch (qopt->command) { in lan966x_tc_setup_qdisc_tbf()
39 return lan966x_tbf_add(port, qopt); in lan966x_tc_setup_qdisc_tbf()
41 return lan966x_tbf_del(port, qopt); in lan966x_tc_setup_qdisc_tbf()
50 struct tc_cbs_qopt_offload *qopt) in lan966x_tc_setup_qdisc_cbs() argument
52 return qopt->enable ? lan966x_cbs_add(port, qopt) : in lan966x_tc_setup_qdisc_cbs()
53 lan966x_cbs_del(port, qopt); in lan966x_tc_setup_qdisc_cbs()
57 lan966x_tc_setup_qdisc_ets(struct lan966x_port * port,struct tc_ets_qopt_offload * qopt) lan966x_tc_setup_qdisc_ets() argument
[all...]
H A Dlan966x_taprio.c173 struct tc_taprio_qopt_offload *qopt, in lan966x_taprio_find_list() argument
219 static int lan966x_taprio_check(struct tc_taprio_qopt_offload *qopt) in lan966x_taprio_check() argument
225 if (qopt->cycle_time_extension) in lan966x_taprio_check()
231 if (qopt->num_entries > LAN966X_TAPRIO_NUM_GCL) in lan966x_taprio_check()
235 if (qopt->cycle_time < LAN966X_TAPRIO_MIN_CYCLE_TIME_NS || in lan966x_taprio_check()
236 qopt->cycle_time > LAN966X_TAPRIO_MAX_CYCLE_TIME_NS) in lan966x_taprio_check()
239 for (i = 0; i < qopt->num_entries; ++i) { in lan966x_taprio_check()
240 struct tc_taprio_sched_entry *entry = &qopt->entries[i]; in lan966x_taprio_check()
249 if (qopt->entries[i].command != TC_TAPRIO_CMD_SET_GATES) in lan966x_taprio_check()
252 total_time += qopt in lan966x_taprio_check()
328 lan966x_taprio_gcl_setup(struct lan966x_port * port,struct tc_taprio_qopt_offload * qopt,int list) lan966x_taprio_gcl_setup() argument
442 lan966x_taprio_add(struct lan966x_port * port,struct tc_taprio_qopt_offload * qopt) lan966x_taprio_add() argument
[all...]
H A Dlan966x_tbf.c6 struct tc_tbf_qopt_offload *qopt) in lan966x_tbf_add() argument
9 bool root = qopt->parent == TC_H_ROOT; in lan966x_tbf_add()
15 queue = TC_H_MIN(qopt->parent) - 1; in lan966x_tbf_add()
25 cir = div_u64(qopt->replace_params.rate.rate_bytes_ps, 1000) * 8; in lan966x_tbf_add()
26 cbs = qopt->replace_params.max_size; in lan966x_tbf_add()
56 struct tc_tbf_qopt_offload *qopt) in lan966x_tbf_del() argument
59 bool root = qopt->parent == TC_H_ROOT; in lan966x_tbf_del()
64 queue = TC_H_MIN(qopt->parent) - 1; in lan966x_tbf_del()
H A Dlan966x_ets.c19 struct tc_ets_qopt_offload *qopt) in lan966x_ets_add() argument
29 if (qopt->parent != TC_H_ROOT) in lan966x_ets_add()
32 params = &qopt->replace_params; in lan966x_ets_add()
78 struct tc_ets_qopt_offload *qopt) in lan966x_ets_del() argument
H A Dlan966x_main.h601 struct tc_taprio_qopt_offload *qopt);
606 struct tc_tbf_qopt_offload *qopt);
608 struct tc_tbf_qopt_offload *qopt);
611 struct tc_cbs_qopt_offload *qopt);
613 struct tc_cbs_qopt_offload *qopt);
616 struct tc_ets_qopt_offload *qopt);
618 struct tc_ets_qopt_offload *qopt);
/linux/drivers/net/ethernet/stmicro/stmmac/
H A Dstmmac_tc.c333 struct tc_cbs_qopt_offload *qopt) in tc_setup_cbs() argument
337 u32 queue = qopt->queue; in tc_setup_cbs()
349 port_transmit_rate_kbps = qopt->idleslope - qopt->sendslope; in tc_setup_cbs()
351 if (qopt->enable) { in tc_setup_cbs()
376 if (mode_to_use == MTL_QUEUE_DCB && qopt->enable) { in tc_setup_cbs()
382 } else if (!qopt->enable) { in tc_setup_cbs()
393 value = div_s64(qopt->idleslope * 1024ll * ptr, port_transmit_rate_kbps); in tc_setup_cbs()
396 value = div_s64(-qopt->sendslope * 1024ll * ptr, port_transmit_rate_kbps); in tc_setup_cbs()
399 value = qopt in tc_setup_cbs()
911 tc_taprio_map_maxsdu_txq(struct stmmac_priv * priv,struct tc_taprio_qopt_offload * qopt) tc_taprio_map_maxsdu_txq() argument
932 tc_taprio_configure(struct stmmac_priv * priv,struct tc_taprio_qopt_offload * qopt) tc_taprio_configure() argument
1093 tc_taprio_stats(struct stmmac_priv * priv,struct tc_taprio_qopt_offload * qopt) tc_taprio_stats() argument
1108 tc_taprio_queue_stats(struct stmmac_priv * priv,struct tc_taprio_qopt_offload * qopt) tc_taprio_queue_stats() argument
1121 tc_setup_taprio(struct stmmac_priv * priv,struct tc_taprio_qopt_offload * qopt) tc_setup_taprio() argument
1144 tc_setup_taprio_without_fpe(struct stmmac_priv * priv,struct tc_taprio_qopt_offload * qopt) tc_setup_taprio_without_fpe() argument
1156 tc_setup_etf(struct stmmac_priv * priv,struct tc_etf_qopt_offload * qopt) tc_setup_etf() argument
1216 struct tc_mqprio_qopt *qopt = &mqprio->qopt; tc_setup_dwmac510_mqprio() local
[all...]
/linux/drivers/net/ethernet/microchip/sparx5/
H A Dsparx5_tc.c79 m->qopt.hw = TC_MQPRIO_HW_OFFLOAD_TCS; in sparx5_tc_setup_qdisc_mqprio()
81 if (m->qopt.num_tc == 0) in sparx5_tc_setup_qdisc_mqprio()
84 return sparx5_tc_mqprio_add(ndev, m->qopt.num_tc); in sparx5_tc_setup_qdisc_mqprio()
88 struct tc_tbf_qopt_offload *qopt) in sparx5_tc_setup_qdisc_tbf() argument
93 sparx5_tc_get_layer_and_idx(port->sparx5, qopt->parent, port->portno, in sparx5_tc_setup_qdisc_tbf()
96 switch (qopt->command) { in sparx5_tc_setup_qdisc_tbf()
98 return sparx5_tc_tbf_add(port, &qopt->replace_params, layer, in sparx5_tc_setup_qdisc_tbf()
112 struct tc_ets_qopt_offload *qopt) in sparx5_tc_setup_qdisc_ets() argument
115 &qopt->replace_params; in sparx5_tc_setup_qdisc_ets()
120 if (qopt in sparx5_tc_setup_qdisc_ets()
[all...]
/linux/drivers/net/ethernet/chelsio/cxgb4/
H A Dcxgb4_tc_mqprio.c19 if (!mqprio->qopt.num_tc) in cxgb4_mqprio_validate()
22 if (mqprio->qopt.hw != TC_MQPRIO_HW_OFFLOAD_TCS) { 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()
52 end_a = start_a + mqprio->qopt.count[i] - 1; in cxgb4_mqprio_validate()
53 for (j = i + 1; j < mqprio->qopt.num_tc; j++) { in cxgb4_mqprio_validate()
54 start_b = mqprio->qopt in cxgb4_mqprio_validate()
[all...]
/linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/
H A Dhclge_dcb.c519 if (!mqprio_qopt->qopt.num_tc) { in hclge_mqprio_qopt_check()
520 mqprio_qopt->qopt.num_tc = 1; in hclge_mqprio_qopt_check()
524 ret = hclge_dcb_common_validate(hdev, mqprio_qopt->qopt.num_tc, in hclge_mqprio_qopt_check()
525 mqprio_qopt->qopt.prio_tc_map); in hclge_mqprio_qopt_check()
529 for (i = 0; i < mqprio_qopt->qopt.num_tc; i++) { in hclge_mqprio_qopt_check()
530 if (!is_power_of_2(mqprio_qopt->qopt.count[i])) { in hclge_mqprio_qopt_check()
532 "qopt queue count must be power of 2\n"); in hclge_mqprio_qopt_check()
536 if (mqprio_qopt->qopt.count[i] > hdev->pf_rss_size_max) { in hclge_mqprio_qopt_check()
538 "qopt queue count should be no more than %u\n", in hclge_mqprio_qopt_check()
543 if (mqprio_qopt->qopt in hclge_mqprio_qopt_check()
[all...]
/linux/drivers/net/ethernet/ti/
H A Dam65-cpsw-qos.c80 for (tc = 0; tc < mqprio->qopt.num_tc; tc++) { in am65_cpsw_tx_pn_shaper_apply()
130 num_tc = mqprio->qopt.num_tc; in am65_cpsw_mqprio_verify_shaper()
209 struct tc_mqprio_qopt *qopt = &mqprio->qopt; in am65_cpsw_setup_mqprio() local
211 u8 num_tc = qopt->num_tc; in am65_cpsw_setup_mqprio()
252 for (i = qopt->offset[tc]; i < qopt->offset[tc] + qopt->count[tc]; i++) in am65_cpsw_setup_mqprio()
255 count = qopt->count[tc]; in am65_cpsw_setup_mqprio()
256 offset = qopt in am65_cpsw_setup_mqprio()
[all...]
/linux/drivers/net/ethernet/intel/igc/
H A Digc_main.c6352 const struct tc_taprio_qopt_offload *qopt) in validate_schedule() argument
6359 if (qopt->cycle_time_extension) in validate_schedule()
6370 if (!is_base_time_past(qopt->base_time, &now) && in validate_schedule()
6374 for (n = 0; n < qopt->num_entries; n++) { in validate_schedule()
6378 prev = n ? &qopt->entries[n - 1] : NULL; in validate_schedule()
6379 e = &qopt->entries[n]; in validate_schedule()
6405 struct tc_etf_qopt_offload *qopt) in igc_tsn_enable_launchtime() argument
6413 err = igc_save_launchtime_params(adapter, qopt->queue, qopt->enable); in igc_tsn_enable_launchtime()
6484 struct tc_taprio_qopt_offload *qopt) in igc_save_qbv_schedule() argument
6607 igc_tsn_enable_qbv_scheduling(struct igc_adapter * adapter,struct tc_taprio_qopt_offload * qopt) igc_tsn_enable_qbv_scheduling() argument
6686 igc_tsn_enable_cbs(struct igc_adapter * adapter,struct tc_cbs_qopt_offload * qopt) igc_tsn_enable_cbs() argument
[all...]

12