Home
last modified time | relevance | path

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

12345678910>>...40

/kernel/linux/linux-5.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 …]
/kernel/linux/linux-4.19/drivers/base/power/
Dqos.c2 * Devices PM QoS constraints management
12 * per-device PM QoS dependencies. It provides infrastructure for registration
15 * Dependents on a QoS value : register requests
16 * Watchers of QoS value : get notified when target QoS value changes
18 * This QoS design is best effort based. Dependents register their QoS needs.
19 * Watchers register to keep track of the current QoS needs of the system.
50 * __dev_pm_qos_flags - Check PM QoS flags for a given device.
51 * @dev: Device to check the PM QoS flags for.
58 struct dev_pm_qos *qos = dev->power.qos; in __dev_pm_qos_flags() local
64 if (IS_ERR_OR_NULL(qos)) in __dev_pm_qos_flags()
[all …]
/kernel/linux/linux-5.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 …]
/kernel/linux/linux-5.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 …]
/kernel/linux/linux-5.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 …]
/kernel/linux/linux-4.19/net/atm/
Dcommon.c103 return (vcc->qos.txtp.max_sdu + in vcc_writable()
158 vcc->qos.txtp.max_sdu = 1 << 16; /* for meta VCs */ in vcc_create()
323 walk->vci == vci && ((walk->qos.txtp.traffic_class != in check_ci()
324 ATM_NONE && vcc->qos.txtp.traffic_class != ATM_NONE) || in check_ci()
325 (walk->qos.rxtp.traffic_class != ATM_NONE && in check_ci()
326 vcc->qos.rxtp.traffic_class != ATM_NONE))) in check_ci()
407 switch (vcc->qos.aal) { in __vcc_connect()
418 vcc->qos.aal = ATM_AAL5; in __vcc_connect()
428 error = adjust_tp(&vcc->qos.txtp, vcc->qos.aal); in __vcc_connect()
430 error = adjust_tp(&vcc->qos.rxtp, vcc->qos.aal); in __vcc_connect()
[all …]
Dmpc.c170 * Functions for managing QoS list
176 struct atm_mpoa_qos *atm_mpoa_add_qos(__be32 dst_ip, struct atm_qos *qos) in atm_mpoa_add_qos() argument
182 entry->qos = *qos; in atm_mpoa_add_qos()
193 entry->qos = *qos; in atm_mpoa_add_qos()
203 struct atm_mpoa_qos *qos; in atm_mpoa_search_qos() local
205 qos = qos_head; in atm_mpoa_search_qos()
206 while (qos) { in atm_mpoa_search_qos()
207 if (qos->ipaddr == dst_ip) in atm_mpoa_search_qos()
209 qos = qos->next; in atm_mpoa_search_qos()
212 return qos; in atm_mpoa_search_qos()
[all …]
Dmpoa_proc.c252 struct atm_qos qos; in parse_qos() local
254 memset(&qos, 0, sizeof(struct atm_qos)); in parse_qos()
271 qos.txtp.traffic_class = ATM_CBR; in parse_qos()
272 qos.txtp.max_pcr = tx_pcr; in parse_qos()
273 qos.txtp.max_sdu = tx_sdu; in parse_qos()
274 qos.rxtp.traffic_class = ATM_CBR; in parse_qos()
275 qos.rxtp.max_pcr = rx_pcr; in parse_qos()
276 qos.rxtp.max_sdu = rx_sdu; in parse_qos()
277 qos.aal = ATM_AAL5; in parse_qos()
278 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()
253 struct atm_mpoa_qos *qos; in check_resolving_entries() local
287 qos = atm_mpoa_search_qos(entry->ctrl_info.in_dst_ip); in check_resolving_entries()
288 if (qos != NULL) in check_resolving_entries()
[all …]
/kernel/linux/linux-4.19/Documentation/power/
Dpm_qos_interface.txt7 Two different PM QoS frameworks are available:
8 1. PM QoS classes for cpu_dma_latency, network_latency, network_throughput,
10 2. the per-device PM QoS framework provides the API to manage the per-device latency
11 constraints and PM QoS flags.
20 1. PM QoS framework
40 Will insert an element into the list for that identified PM QoS class with the
57 Returns the aggregated value for a given PM QoS class.
61 PM QoS class constraints list.
64 Adds a notification callback function to the PM QoS class. The callback is
65 called when the aggregated value for the PM QoS class is changed.
[all …]
/kernel/linux/linux-4.19/kernel/power/
Dqos.c3 * QoS dependencies. It provides infrastructure for registration of:
5 * Dependents on a QoS value : register requests
6 * Watchers of QoS value : get notified when target QoS value changes
8 * This QoS design is best effort based. Dependents register their QoS needs.
9 * Watchers register to keep track of the current QoS needs of the system.
11 * There are 3 basic classes of QoS parameter: latency, timeout, throughput
19 * User mode requests on a QOS parameter register themselves to the
23 * request is removed and a new qos target is computed. This way when the
189 struct pm_qos_object *qos = (struct pm_qos_object *)s->private; in pm_qos_dbg_show_requests() local
197 if (IS_ERR_OR_NULL(qos)) { in pm_qos_dbg_show_requests()
[all …]
/kernel/linux/linux-5.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 …]
/kernel/linux/linux-5.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 …]
/kernel/linux/linux-4.19/drivers/staging/octeon/
Dethernet-tx.c85 int qos, queues_per_port; in cvm_oct_free_tx_skbs() local
93 for (qos = 0; qos < queues_per_port; qos++) { in cvm_oct_free_tx_skbs()
94 if (skb_queue_len(&priv->tx_free_list[qos]) == 0) in cvm_oct_free_tx_skbs()
96 skb_to_free = cvmx_fau_fetch_and_add32(priv->fau + qos * 4, in cvm_oct_free_tx_skbs()
99 priv->fau + qos * 4); in cvm_oct_free_tx_skbs()
104 spin_lock_irqsave(&priv->tx_free_list[qos].lock, flags); in cvm_oct_free_tx_skbs()
108 t = __skb_dequeue(&priv->tx_free_list[qos]); in cvm_oct_free_tx_skbs()
113 spin_unlock_irqrestore(&priv->tx_free_list[qos].lock, in cvm_oct_free_tx_skbs()
123 total_remaining += skb_queue_len(&priv->tx_free_list[qos]); in cvm_oct_free_tx_skbs()
144 int qos; in cvm_oct_xmit() local
[all …]
/kernel/linux/linux-5.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 …]
/kernel/linux/linux-4.19/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 …]
/kernel/linux/linux-5.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.
/kernel/linux/linux-4.19/Documentation/trace/
Devents-power.rst72 4. PM QoS events
74 The PM QoS events are used for QoS add/update/remove request and for
83 The first parameter gives the QoS class name (e.g. "CPU_DMA_LATENCY").
91 The first parameter gives the QoS action name (e.g. "ADD_REQ").
92 The second parameter is the previous QoS value.
93 The third parameter is the current QoS value to update.
95 And, there are also events used for device PM QoS add/update/remove request.
103 QoS requests.
/kernel/linux/linux-5.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 …]
/kernel/linux/linux-4.19/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 …]
/kernel/linux/linux-5.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 …]

12345678910>>...40