| /Linux-v5.15/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 …]
|
| /Linux-v5.15/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 …]
|
| /Linux-v5.15/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
| D | qos.c | 5 #include "esw/qos.h" 30 if (!MLX5_CAP_GEN(dev, qos) || !MLX5_CAP_QOS(dev, esw_scheduling)) in esw_qos_tsar_config() 54 esw->qos.root_tsar_ix, group->tsar_ix, in esw_qos_group_config() 70 struct mlx5_esw_rate_group *group = vport->qos.group; in esw_qos_vport_config() 76 if (!vport->qos.enabled) in esw_qos_vport_config() 79 parent_tsar_ix = group ? group->tsar_ix : esw->qos.root_tsar_ix; in esw_qos_vport_config() 86 err = esw_qos_tsar_config(dev, sched_ctx, parent_tsar_ix, vport->qos.esw_tsar_ix, in esw_qos_vport_config() 113 list_for_each_entry(group, &esw->qos.groups, list) { in esw_qos_calculate_min_rate_divider() 120 if (!evport->enabled || !evport->qos.enabled || in esw_qos_calculate_min_rate_divider() 121 evport->qos.group != group || evport->qos.min_rate < max_guarantee) in esw_qos_calculate_min_rate_divider() [all …]
|
| /Linux-v5.15/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 …]
|
| /Linux-v5.15/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 | 249 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 …]
|
| 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 */
|
| /Linux-v5.15/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 …]
|
| /Linux-v5.15/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 …]
|
| /Linux-v5.15/drivers/infiniband/hw/irdma/ |
| D | ws.c | 47 node->traffic_class = vsi->qos[user_pri].traffic_class; in irdma_alloc_node() 49 node->rel_bw = vsi->qos[user_pri].rel_bw; in irdma_alloc_node() 53 node->lan_qs_handle = vsi->qos[user_pri].lan_qos_handle; in irdma_alloc_node() 114 vsi->qos[node->user_pri].qs_handle = node_info.qs_handle; in irdma_ws_cqp_cmd() 161 mutex_lock(&vsi->qos[user_pri].qos_mutex); in irdma_tc_in_use() 162 if (!list_empty(&vsi->qos[user_pri].qplist)) { in irdma_tc_in_use() 163 mutex_unlock(&vsi->qos[user_pri].qos_mutex); in irdma_tc_in_use() 171 if (vsi->qos[i].traffic_class == vsi->qos[user_pri].traffic_class && in irdma_tc_in_use() 172 !list_empty(&vsi->qos[i].qplist)) { in irdma_tc_in_use() 173 mutex_unlock(&vsi->qos[user_pri].qos_mutex); in irdma_tc_in_use() [all …]
|
| /Linux-v5.15/Documentation/devicetree/bindings/power/ |
| D | rockchip,power-controller.yaml | 133 A number of phandles to qos blocks which need to be saved and restored 155 qos_hdcp: qos@ffa90000 { 156 compatible = "rockchip,rk3399-qos", "syscon"; 160 qos_iep: qos@ffa98000 { 161 compatible = "rockchip,rk3399-qos", "syscon"; 165 qos_rga_r: qos@ffab0000 { 166 compatible = "rockchip,rk3399-qos", "syscon"; 170 qos_rga_w: qos@ffab0080 { 171 compatible = "rockchip,rk3399-qos", "syscon"; 175 qos_video_m0: qos@ffab8000 { [all …]
|
| /Linux-v5.15/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 …]
|
| /Linux-v5.15/drivers/interconnect/qcom/ |
| D | sdm660.c | 3 * Qualcomm SDM630/SDM636/SDM660 Network-on-Chip (NoC) QoS driver 24 /* BIMC QoS */ 42 /* NoC QoS */ 192 * @regmap: regmap for QoS registers read/write access 207 * struct qcom_icc_qos - Qualcomm specific interconnect QoS parameters 212 * @qos_mode: default qos mode for this node 213 * @qos_port: qos port number for finding qos registers of this node 233 * @qos: NoC QoS setting parameters 244 struct qcom_icc_qos qos; member 262 .qos.ap_owned = _ap_owned, \ [all …]
|
| /Linux-v5.15/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.
|
| /Linux-v5.15/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 …]
|
| /Linux-v5.15/Documentation/devicetree/bindings/mfd/ |
| D | syscon.yaml | 47 - rockchip,px30-qos 48 - rockchip,rk3036-qos 49 - rockchip,rk3066-qos 50 - rockchip,rk3228-qos 51 - rockchip,rk3288-qos 52 - rockchip,rk3399-qos 53 - rockchip,rk3568-qos
|
| /Linux-v5.15/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 …]
|
| /Linux-v5.15/drivers/net/ethernet/netronome/nfp/flower/ |
| D | qos_conf.c | 91 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on higher le… in nfp_flower_install_rate_limiter() 100 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on shared bl… in nfp_flower_install_rate_limiter() 105 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload not supported on non-VF po… in nfp_flower_install_rate_limiter() 112 "unsupported offload: qos rate limit offload only support action number 1 or 2"); in nfp_flower_install_rate_limiter() 118 "unsupported offload: qos rate limit offload requires a single action"); in nfp_flower_install_rate_limiter() 124 …NL_SET_ERR_MSG_MOD(extack, "unsupported offload: qos rate limit offload requires highest priority"… in nfp_flower_install_rate_limiter() 132 "unsupported offload: qos rate limit offload requires police action"); in nfp_flower_install_rate_limiter() 138 "unsupported offload: qos rate limit offload only support one BPS action"); in nfp_flower_install_rate_limiter() 150 "unsupported offload: qos rate limit offload only support one PPS action"); in nfp_flower_install_rate_limiter() 157 /* Set QoS data for this interface */ in nfp_flower_install_rate_limiter() [all …]
|
| /Linux-v5.15/arch/powerpc/platforms/pseries/ |
| D | vas.h | 34 * Co-processor feature - GZIP QoS windows or GZIP default windows 48 u8 win_type; /* Default or QoS type */ 60 * Feature specific (QoS or default) capabilities. 64 u8 win_type; /* Default or QoS type */ 70 u16 reserved; /* Used for QoS credit type */ 81 * Feature (QoS or Default) specific to store capabilities and 112 u8 win_type; /* QoS or Default window */
|
| /Linux-v5.15/arch/arm/boot/dts/ |
| D | rk3xxx.dtsi | 118 qos_gpu: qos@1012d000 { 119 compatible = "rockchip,rk3066-qos", "syscon"; 123 qos_vpu: qos@1012e000 { 124 compatible = "rockchip,rk3066-qos", "syscon"; 128 qos_lcdc0: qos@1012f000 { 129 compatible = "rockchip,rk3066-qos", "syscon"; 133 qos_cif0: qos@1012f080 { 134 compatible = "rockchip,rk3066-qos", "syscon"; 138 qos_ipp: qos@1012f100 { 139 compatible = "rockchip,rk3066-qos", "syscon"; [all …]
|
| /Linux-v5.15/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 …]
|
| /Linux-v5.15/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 …]
|