Home
last modified time | relevance | path

Searched full:qos (Results 1 – 25 of 531) sorted by relevance

12345678910>>...22

/Linux-v5.10/drivers/base/power/
Dqos.c3 * Devices PM QoS constraints management
8 * per-device PM QoS dependencies. It provides infrastructure for registration
11 * Dependents on a QoS value : register requests
12 * Watchers of QoS value : get notified when target QoS value changes
14 * This QoS design is best effort based. Dependents register their QoS needs.
15 * Watchers register to keep track of the current QoS needs of the system.
46 * __dev_pm_qos_flags - Check PM QoS flags for a given device.
47 * @dev: Device to check the PM QoS flags for.
54 struct dev_pm_qos *qos = dev->power.qos; in __dev_pm_qos_flags() local
60 if (IS_ERR_OR_NULL(qos)) in __dev_pm_qos_flags()
[all …]
Dqos-test.c11 struct freq_constraints qos; in freq_qos_test_min() local
15 freq_constraints_init(&qos); in freq_qos_test_min()
19 ret = freq_qos_add_request(&qos, &req1, FREQ_QOS_MIN, 1000); in freq_qos_test_min()
21 ret = freq_qos_add_request(&qos, &req2, FREQ_QOS_MIN, 2000); in freq_qos_test_min()
24 KUNIT_EXPECT_EQ(test, freq_qos_read_value(&qos, FREQ_QOS_MIN), 2000); in freq_qos_test_min()
28 KUNIT_EXPECT_EQ(test, freq_qos_read_value(&qos, FREQ_QOS_MIN), 1000); in freq_qos_test_min()
32 KUNIT_EXPECT_EQ(test, freq_qos_read_value(&qos, FREQ_QOS_MIN), in freq_qos_test_min()
39 struct freq_constraints qos; in freq_qos_test_maxdef() local
43 freq_constraints_init(&qos); in freq_qos_test_maxdef()
46 KUNIT_EXPECT_EQ(test, freq_qos_read_value(&qos, FREQ_QOS_MAX), in freq_qos_test_maxdef()
[all …]
/Linux-v5.10/kernel/power/
Dqos.c3 * Power Management Quality of Service (PM QoS) support base.
11 * Provided here is an interface for specifying PM QoS dependencies. It allows
12 * entities depending on QoS constraints to register their requests which are
18 * global CPU latency QoS requests and frequency QoS requests are provided.
51 * @c: List of PM QoS constraint requests.
71 WARN(1, "Unknown PM QoS type in %s\n", __func__); in pm_qos_get_value()
82 * pm_qos_update_target - Update a list of PM QoS constraint requests.
83 * @c: List of PM QoS requests.
88 * Update the given list of PM QoS constraint requests, @c, by carrying an
149 * pm_qos_flags_remove_req - Remove device PM QoS flags request.
[all …]
/Linux-v5.10/Documentation/power/
Dpm_qos_interface.rst9 Two different PM QoS frameworks are available:
10 * CPU latency QoS.
11 * The per-device PM QoS framework provides the API to manage the
12 per-device latency constraints and PM QoS flags.
14 The latency unit used in the PM QoS framework is the microsecond (usec).
17 1. PM QoS framework
20 A global list of CPU latency QoS requests is maintained along with an aggregated
22 to the request list or elements of the list. For CPU latency QoS, the
32 Will insert an element into the CPU latency QoS list with the target value.
35 Clients of PM QoS need to save the returned handle for future use in other
[all …]
/Linux-v5.10/net/atm/
Dcommon.c104 return (vcc->qos.txtp.max_sdu + in vcc_writable()
159 vcc->qos.txtp.max_sdu = 1 << 16; /* for meta VCs */ in vcc_create()
324 walk->vci == vci && ((walk->qos.txtp.traffic_class != in check_ci()
325 ATM_NONE && vcc->qos.txtp.traffic_class != ATM_NONE) || in check_ci()
326 (walk->qos.rxtp.traffic_class != ATM_NONE && in check_ci()
327 vcc->qos.rxtp.traffic_class != ATM_NONE))) in check_ci()
408 switch (vcc->qos.aal) { in __vcc_connect()
419 vcc->qos.aal = ATM_AAL5; in __vcc_connect()
429 error = adjust_tp(&vcc->qos.txtp, vcc->qos.aal); in __vcc_connect()
431 error = adjust_tp(&vcc->qos.rxtp, vcc->qos.aal); in __vcc_connect()
[all …]
Dmpc.c171 * Functions for managing QoS list
177 struct atm_mpoa_qos *atm_mpoa_add_qos(__be32 dst_ip, struct atm_qos *qos) in atm_mpoa_add_qos() argument
183 entry->qos = *qos; in atm_mpoa_add_qos()
194 entry->qos = *qos; in atm_mpoa_add_qos()
204 struct atm_mpoa_qos *qos; in atm_mpoa_search_qos() local
206 qos = qos_head; in atm_mpoa_search_qos()
207 while (qos) { in atm_mpoa_search_qos()
208 if (qos->ipaddr == dst_ip) in atm_mpoa_search_qos()
210 qos = qos->next; in atm_mpoa_search_qos()
213 return qos; in atm_mpoa_search_qos()
[all …]
Dmpoa_proc.c249 struct atm_qos qos; in parse_qos() local
251 memset(&qos, 0, sizeof(struct atm_qos)); in parse_qos()
268 qos.txtp.traffic_class = ATM_CBR; in parse_qos()
269 qos.txtp.max_pcr = tx_pcr; in parse_qos()
270 qos.txtp.max_sdu = tx_sdu; in parse_qos()
271 qos.rxtp.traffic_class = ATM_CBR; in parse_qos()
272 qos.rxtp.max_pcr = rx_pcr; in parse_qos()
273 qos.rxtp.max_sdu = rx_sdu; in parse_qos()
274 qos.aal = ATM_AAL5; in parse_qos()
275 dprintk("parse_qos(): setting qos parameters to tx=%d,%d rx=%d,%d\n", in parse_qos()
[all …]
Dmpoa_caches.c135 struct atm_mpoa_qos *qos; in cache_hit() local
147 qos = atm_mpoa_search_qos(entry->ctrl_info.in_dst_ip); in cache_hit()
148 if (qos != NULL) in cache_hit()
149 msg.qos = qos->qos; in cache_hit()
170 qos = atm_mpoa_search_qos(entry->ctrl_info.in_dst_ip); in cache_hit()
171 if (qos != NULL) in cache_hit()
172 msg.qos = qos->qos; in cache_hit()
252 struct atm_mpoa_qos *qos; in check_resolving_entries() local
286 qos = atm_mpoa_search_qos(entry->ctrl_info.in_dst_ip); in check_resolving_entries()
287 if (qos != NULL) in check_resolving_entries()
[all …]
Dmpc.h44 struct atm_qos qos; member
48 /* MPOA QoS operations */
49 struct atm_mpoa_qos *atm_mpoa_add_qos(__be32 dst_ip, struct atm_qos *qos);
51 int atm_mpoa_delete_qos(struct atm_mpoa_qos *qos);
53 /* Display QoS entries. This is for the procfs */
Dsignaling.c49 msg->reply = vcc->dev->ops->change_qos(vcc, &msg->qos, in modify_qos()
94 session_vcc->qos = msg->qos; in sigd_send()
144 const struct sockaddr_atmsvc *svc, const struct atm_qos *qos, in sigd_enq2() argument
159 if (qos) in sigd_enq2()
160 msg->qos = *qos; in sigd_enq2()
183 sigd_enq2(vcc, type, listen_vcc, pvc, svc, vcc ? &vcc->qos : NULL, 0); in sigd_enq()
Dsvc.c68 sigd_enq2(NULL, as_reject, vcc, NULL, NULL, &vcc->qos, 0); in svc_disconnect()
195 if (vcc->qos.txtp.traffic_class == ATM_ANYCLASS || in svc_connect()
196 vcc->qos.rxtp.traffic_class == ATM_ANYCLASS) { in svc_connect()
200 if (!vcc->qos.txtp.traffic_class && in svc_connect()
201 !vcc->qos.rxtp.traffic_class) { in svc_connect()
268 vcc->qos.txtp.max_pcr = SELECT_TOP_PCR(vcc->qos.txtp); in svc_connect()
269 vcc->qos.txtp.pcr = 0; in svc_connect()
270 vcc->qos.txtp.min_pcr = 0; in svc_connect()
375 new_vcc->qos = msg->qos; in svc_accept()
387 &old_vcc->qos, error); in svc_accept()
[all …]
/Linux-v5.10/drivers/net/ethernet/ti/
Dam65-cpsw-qos.c2 /* Texas Instruments K3 AM65 Ethernet QoS submodule
13 #include "am65-cpsw-qos.h"
58 return port->qos.est_oper || port->qos.est_admin; in am65_cpsw_port_est_enabled()
167 if (port->qos.est_oper) in am65_cpsw_admin_to_oper()
168 devm_kfree(&ndev->dev, port->qos.est_oper); in am65_cpsw_admin_to_oper()
170 port->qos.est_oper = port->qos.est_admin; in am65_cpsw_admin_to_oper()
171 port->qos.est_admin = NULL; in am65_cpsw_admin_to_oper()
187 if (port->qos.est_oper && port->qos.est_admin && in am65_cpsw_port_est_get_buf_num()
188 est_new->buf == port->qos.est_oper->buf) in am65_cpsw_port_est_get_buf_num()
217 if (!port->qos.est_admin) in am65_cpsw_est_update_state()
[all …]
/Linux-v5.10/drivers/staging/octeon/
Dethernet-tx.c75 int qos, queues_per_port; in cvm_oct_free_tx_skbs() local
83 for (qos = 0; qos < queues_per_port; qos++) { in cvm_oct_free_tx_skbs()
84 if (skb_queue_len(&priv->tx_free_list[qos]) == 0) in cvm_oct_free_tx_skbs()
86 skb_to_free = cvmx_fau_fetch_and_add32(priv->fau + qos * 4, in cvm_oct_free_tx_skbs()
89 priv->fau + qos * 4); in cvm_oct_free_tx_skbs()
94 spin_lock_irqsave(&priv->tx_free_list[qos].lock, flags); in cvm_oct_free_tx_skbs()
98 t = __skb_dequeue(&priv->tx_free_list[qos]); in cvm_oct_free_tx_skbs()
103 spin_unlock_irqrestore(&priv->tx_free_list[qos].lock, in cvm_oct_free_tx_skbs()
113 total_remaining += skb_queue_len(&priv->tx_free_list[qos]); in cvm_oct_free_tx_skbs()
134 int qos; in cvm_oct_xmit() local
[all …]
/Linux-v5.10/Documentation/devicetree/bindings/net/
Dsnps,dwc-qos-ethernet.txt1 * Synopsys DWC Ethernet QoS IP version 4.10 driver (GMAC)
6 This binding supports the Synopsys Designware Ethernet QoS (Quality Of Service)
14 - "axis,artpec6-eqos", "snps,dwc-qos-ethernet-4.10"
16 - "nvidia,tegra186-eqos", "snps,dwc-qos-ethernet-4.10"
18 - "snps,dwc-qos-ethernet-4.10"
20 "axis,artpec6-eqos", "snps,dwc-qos-ethernet-4.10". It is supported to be
72 - "nvidia,tegra186-eqos", "snps,dwc-qos-ethernet-4.10":
78 - "axis,artpec6-eqos", "snps,dwc-qos-ethernet-4.10":
83 - "snps,dwc-qos-ethernet-4.10" (deprecated):
97 - "nvidia,tegra186-eqos", "snps,dwc-qos-ethernet-4.10":
[all …]
/Linux-v5.10/Documentation/trace/
Devents-power.rst72 4. PM QoS events
74 The PM QoS events are used for QoS add/update/remove request and for
81 The first parameter gives the QoS action name (e.g. "ADD_REQ").
82 The second parameter is the previous QoS value.
83 The third parameter is the current QoS value to update.
85 There are also events used for device PM QoS add/update/remove request.
93 QoS requests.
97 And, there are events used for CPU latency QoS add/update/remove request.
/Linux-v5.10/include/linux/
Dpm_qos.h3 * Definitions related to Power Management Quality of Service (PM QoS).
63 struct pm_qos_constraints *qos; member
95 struct freq_constraints *qos; member
197 return dev->power.qos->resume_latency_req->data.pnode.prio; in dev_pm_qos_requested_resume_latency()
202 return dev->power.qos->flags_req->data.flr.flags; in dev_pm_qos_requested_flags()
207 return IS_ERR_OR_NULL(dev->power.qos) ? in dev_pm_qos_raw_resume_latency()
209 pm_qos_read_value(&dev->power.qos->resume_latency); in dev_pm_qos_raw_resume_latency()
296 return !IS_ERR_OR_NULL(req->qos); in freq_qos_request_active()
299 void freq_constraints_init(struct freq_constraints *qos);
301 s32 freq_qos_read_value(struct freq_constraints *qos,
[all …]
/Linux-v5.10/arch/mips/include/asm/octeon/
Dcvmx-pip.h267 uint64_t qos:3; member
306 * Configure the global QoS packet watchers. Each watcher is
308 * QoS queue for scheduling.
314 * @qos: QoS queue for packets matching this watcher
318 uint64_t match_value, uint64_t qos)
325 watcher_config.s.qos = qos;
331 * Configure the VLAN priority to QoS queue mapping.
335 * @qos: QoS queue for packets matching this watcher
338 uint64_t qos) in cvmx_pip_config_vlan_qos() argument
342 pip_qos_vlanx.s.qos = qos; in cvmx_pip_config_vlan_qos()
[all …]
Dcvmx-wqe.h483 uint64_t qos:3; member
499 uint64_t qos:3;
519 uint64_t qos:3; member
538 uint64_t qos:3;
640 int qos; in cvmx_wqe_get_qos() local
643 qos = work->word1.cn68xx.qos; in cvmx_wqe_get_qos()
645 qos = work->word1.cn38xx.qos; in cvmx_wqe_get_qos()
647 return qos; in cvmx_wqe_get_qos()
650 static inline void cvmx_wqe_set_qos(struct cvmx_wqe *work, int qos) in cvmx_wqe_set_qos() argument
653 work->word1.cn68xx.qos = qos; in cvmx_wqe_set_qos()
[all …]
/Linux-v5.10/net/mac80211/
Dmesh_ps.c14 * mps_qos_null_get - create pre-addressed QoS Null frame for mesh powersave
40 skb_put_zero(skb, 2); /* append QoS control field */ in mps_qos_null_get()
47 * mps_qos_null_tx - send a QoS Null to indicate link-specific power mode
174 * ieee80211_mps_set_frame_flags - set mesh PS flags in FC (and QoS Control)
182 * NOTE: sta must be given when an individually-addressed QoS frame header
281 * mesh power save level subfield of QoS control field (PSL) in mps_set_sta_peer_pm()
334 * @hdr: IEEE 802.11 (QoS) Header
342 * individually addressed QoS Data/Null frames contain in ieee80211_mps_rx_h_sta_process()
404 * mpsp_qos_null_append - append QoS Null frame to MPSP skb queue if needed
409 * flag in the QoS Control field. In case the current tailing frame is not a
[all …]
Dwme.c145 bool qos; in __ieee80211_select_queue() local
150 qos = true; in __ieee80211_select_queue()
152 qos = sta->sta.wme; in __ieee80211_select_queue()
154 qos = false; in __ieee80211_select_queue()
156 if (!qos) { in __ieee80211_select_queue()
233 * ieee80211_set_qos_hdr - Fill in the QoS header if there is one.
/Linux-v5.10/drivers/net/ethernet/netronome/nfp/flower/
Dqos_conf.c76 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on higher le… in nfp_flower_install_rate_limiter()
83 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on shared bl… in nfp_flower_install_rate_limiter()
88 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on non-VF po… in nfp_flower_install_rate_limiter()
93 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload requires a single action"); in nfp_flower_install_rate_limiter()
98 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload requires highest priority"… in nfp_flower_install_rate_limiter()
103 NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload requires police action"); in nfp_flower_install_rate_limiter()
149 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on higher le… in nfp_flower_remove_rate_limiter()
158 NL_SET_ERR_MSG_MOD(extack, "unsupported offload: cannot remove qos entry that does not exist"); in nfp_flower_remove_rate_limiter()
167 /* Clear all qos associate data for this interface */ in nfp_flower_remove_rate_limiter()
302 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on higher le… in nfp_flower_stats_rate_limiter()
[all …]
/Linux-v5.10/drivers/scsi/bfa/
Dbfa_defs_svc.h511 * QoS states
514 BFA_QOS_DISABLED = 0, /* QoS is disabled */
515 BFA_QOS_ONLINE = 1, /* QoS is online */
516 BFA_QOS_OFFLINE = 2, /* QoS is offline */
520 * QoS Priority levels.
524 BFA_QOS_HIGH = 1, /* QoS Priority Level High */
525 BFA_QOS_MED = 2, /* QoS Priority Level Medium */
526 BFA_QOS_LOW = 3, /* QoS Priority Level Low */
530 * QoS bandwidth allocation for each priority level
547 * QoS attribute returned in QoS Query
[all …]
/Linux-v5.10/drivers/net/ethernet/mellanox/mlx5/core/
Deswitch.c150 u16 vlan, u8 qos, u8 set_flags) in modify_esw_vport_cvlan() argument
158 esw_debug(dev, "Set Vport[%d] VLAN %d qos %d set=%x\n", in modify_esw_vport_cvlan()
159 vport, vlan, qos, set_flags); in modify_esw_vport_cvlan()
171 esw_vport_context.cvlan_pcp, qos); in modify_esw_vport_cvlan()
985 /* Vport QoS management */
993 if (!MLX5_CAP_GEN(dev, qos) || !MLX5_CAP_QOS(dev, esw_scheduling)) in esw_create_tsar()
999 if (esw->qos.enabled) in esw_create_tsar()
1011 &esw->qos.root_tsar_id); in esw_create_tsar()
1017 esw->qos.enabled = true; in esw_create_tsar()
1024 if (!esw->qos.enabled) in esw_destroy_tsar()
[all …]
/Linux-v5.10/drivers/atm/
Dfore200e.c978 if ((vcc->qos.aal == ATM_AAL0) && (vcc->qos.rxtp.max_sdu == ATM_AAL0_SDU)) { in fore200e_push_rpd()
1233 enum fore200e_aal aal = fore200e_atm2fore_aal(vcc->qos.aal); in fore200e_activate_vcin()
1290 fore200e_rate_ctrl(struct atm_qos* qos, struct tpd_rate* rate) in fore200e_rate_ctrl() argument
1292 if (qos->txtp.max_pcr < ATM_OC3_PCR) { in fore200e_rate_ctrl()
1295 rate->data_cells = qos->txtp.max_pcr * FORE200E_MAX_BACK2BACK_CELLS / ATM_OC3_PCR; in fore200e_rate_ctrl()
1341 DPRINTK(2, "opening %d.%d.%d:%d QoS = (tx: cl=%s, pcr=%d-%d, cdv=%d, max_sdu=%d; " in fore200e_open()
1343 vcc->itf, vcc->vpi, vcc->vci, fore200e_atm2fore_aal(vcc->qos.aal), in fore200e_open()
1344 fore200e_traffic_class[ vcc->qos.txtp.traffic_class ], in fore200e_open()
1345 vcc->qos.txtp.min_pcr, vcc->qos.txtp.max_pcr, vcc->qos.txtp.max_cdv, vcc->qos.txtp.max_sdu, in fore200e_open()
1346 fore200e_traffic_class[ vcc->qos.rxtp.traffic_class ], in fore200e_open()
[all …]
Diphase.c245 if (vcc->qos.txtp.traffic_class == ATM_ABR) { in clear_lockup()
475 if (vcc->qos.txtp.max_pcr <= 0) { in ia_cbr_setup()
479 rate = vcc->qos.txtp.max_pcr; in ia_cbr_setup()
1381 if (vcc->qos.rxtp.traffic_class == ATM_NONE) return 0;
1383 if (vcc->qos.rxtp.traffic_class == ATM_ABR) {
1398 if ((vcc->qos.rxtp.traffic_class == ATM_ABR) ||
1399 (vcc->qos.txtp.traffic_class == ATM_ABR))
1725 if (vcc->qos.txtp.pcr >= iadev->rate_limit) {
1754 if (vcc->qos.txtp.traffic_class == ATM_NONE) return 0;
1758 if (vcc->qos.txtp.traffic_class == ATM_ABR) {
[all …]

12345678910>>...22