/kernel/linux/linux-5.10/drivers/base/power/ |
D | qos.c | 3 * 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 …]
|
D | qos-test.c | 11 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 …]
|
/kernel/linux/linux-5.10/kernel/power/ |
D | qos.c | 3 * 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 …]
|
/kernel/linux/linux-5.10/Documentation/power/ |
D | pm_qos_interface.rst | 9 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 …]
|
/kernel/linux/linux-5.10/net/atm/ |
D | common.c | 104 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 …]
|
D | mpc.c | 171 * 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 …]
|
D | mpoa_proc.c | 250 struct atm_qos qos; in parse_qos() local 252 memset(&qos, 0, sizeof(struct atm_qos)); in parse_qos() 269 qos.txtp.traffic_class = ATM_CBR; in parse_qos() 270 qos.txtp.max_pcr = tx_pcr; in parse_qos() 271 qos.txtp.max_sdu = tx_sdu; in parse_qos() 272 qos.rxtp.traffic_class = ATM_CBR; in parse_qos() 273 qos.rxtp.max_pcr = rx_pcr; in parse_qos() 274 qos.rxtp.max_sdu = rx_sdu; in parse_qos() 275 qos.aal = ATM_AAL5; in parse_qos() 276 dprintk("parse_qos(): setting qos parameters to tx=%d,%d rx=%d,%d\n", in parse_qos() [all …]
|
D | mpoa_caches.c | 135 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 …]
|
D | mpc.h | 44 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 */
|
D | signaling.c | 49 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()
|
D | svc.c | 68 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 …]
|
/kernel/linux/linux-5.10/drivers/net/ethernet/ti/ |
D | am65-cpsw-qos.c | 2 /* 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 …]
|
/kernel/linux/linux-5.10/drivers/staging/octeon/ |
D | ethernet-tx.c | 75 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 …]
|
/kernel/linux/common_modules/qos_auth/auth_ctl/ |
D | qos_ctrl.c | 73 pr_err("[QOS_CTRL] dirty qos policy, pid=%d, uid=%d, status=%d\n", in sched_set_task_qos_attr() 103 pr_info("[QOS_CTRL] dying task, no need to set qos\n"); in sched_set_task_qos_attr() 111 * Switch qos mode when status changed. 122 pr_err("[QOS_CTRL] auth no exist, qos switch failed\n"); in qos_switch() 129 pr_info("[QOS_CTRL] same status, no need to switch qos\n"); in qos_switch() 138 pr_err("[QOS_CTRL] set qos attr failed, qos switch failed\n"); in qos_switch() 148 pr_err("[QOS_CTRL] qos apply still active, no duplicate add\n"); in qos_insert_task() 166 pr_err("[QOS_CTRL] task not in qos, no need to remove\n"); in qos_remove_task() 190 * judge permission for changing other tasks' qos 212 pr_err("[QOS_CTRL] no this qos level, qos apply failed\n"); in qos_apply() [all …]
|
D | Kconfig | 3 tristate "Authority Control for RTG & QOS" 7 or QOS. Use uid as the authentication granularity. Status switching 12 bool "Multiple Level Qos Control for thread" 16 If set, thread can apply qos for less execution latency and get more 45 If set, debug node will show auth and qos info 48 int "Number of supported qos policy" 53 Qos policy number limit. Truly initialized qos policy could small then
|
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/net/ |
D | snps,dwc-qos-ethernet.txt | 1 * 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 …]
|
/kernel/linux/linux-5.10/Documentation/trace/ |
D | events-power.rst | 72 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.
|
/kernel/linux/linux-5.10/include/linux/ |
D | pm_qos.h | 3 * 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 …]
|
/kernel/linux/linux-5.10/arch/mips/include/asm/octeon/ |
D | cvmx-pip.h | 267 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 …]
|
D | cvmx-wqe.h | 483 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 …]
|
/kernel/linux/linux-5.10/net/mac80211/ |
D | mesh_ps.c | 15 * mps_qos_null_get - create pre-addressed QoS Null frame for mesh powersave 41 skb_put_zero(skb, 2); /* append QoS control field */ in mps_qos_null_get() 48 * mps_qos_null_tx - send a QoS Null to indicate link-specific power mode 175 * ieee80211_mps_set_frame_flags - set mesh PS flags in FC (and QoS Control) 183 * NOTE: sta must be given when an individually-addressed QoS frame header 282 * mesh power save level subfield of QoS control field (PSL) in mps_set_sta_peer_pm() 335 * @hdr: IEEE 802.11 (QoS) Header 343 * individually addressed QoS Data/Null frames contain in ieee80211_mps_rx_h_sta_process() 405 * mpsp_qos_null_append - append QoS Null frame to MPSP skb queue if needed 410 * flag in the QoS Control field. In case the current tailing frame is not a [all …]
|
/kernel/linux/linux-5.10/drivers/net/ethernet/netronome/nfp/flower/ |
D | qos_conf.c | 76 …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 …]
|
/kernel/linux/linux-5.10/drivers/scsi/bfa/ |
D | bfa_defs_svc.h | 511 * 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 …]
|
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/ |
D | eswitch.c | 151 u16 vlan, u8 qos, u8 set_flags) in modify_esw_vport_cvlan() argument 159 esw_debug(dev, "Set Vport[%d] VLAN %d qos %d set=%x\n", in modify_esw_vport_cvlan() 160 vport, vlan, qos, set_flags); in modify_esw_vport_cvlan() 172 esw_vport_context.cvlan_pcp, qos); in modify_esw_vport_cvlan() 986 /* Vport QoS management */ 994 if (!MLX5_CAP_GEN(dev, qos) || !MLX5_CAP_QOS(dev, esw_scheduling)) in esw_create_tsar() 1000 if (esw->qos.enabled) in esw_create_tsar() 1012 &esw->qos.root_tsar_id); in esw_create_tsar() 1018 esw->qos.enabled = true; in esw_create_tsar() 1025 if (!esw->qos.enabled) in esw_destroy_tsar() [all …]
|
/kernel/linux/linux-5.10/drivers/atm/ |
D | fore200e.c | 978 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 …]
|