Home
last modified time | relevance | path

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

12345678910>>...19

/linux/kernel/power/
H A 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/drivers/base/power/
H A 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/Documentation/power/
H A 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/net/atm/
H A 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 …]
H A 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 …]
H A Dmpoa_proc.c250 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 …]
H A 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 …]
/linux/drivers/interconnect/qcom/
H A Dicc-rpm.c19 /* QNOC QoS */
26 /* BIMC QoS */
39 /* NoC QoS */
58 struct qcom_icc_qos *qos = &qn->qos; in qcom_icc_set_qnoc_qos() local
62 qp->qos_offset + QNOC_QOS_MCTL_LOWn_ADDR(qos->qos_port), in qcom_icc_set_qnoc_qos()
64 qos->areq_prio << QNOC_QOS_MCTL_DFLT_PRIO_SHIFT); in qcom_icc_set_qnoc_qos()
69 qp->qos_offset + QNOC_QOS_MCTL_LOWn_ADDR(qos->qos_port), in qcom_icc_set_qnoc_qos()
71 !!qos->urg_fwd_en << QNOC_QOS_MCTL_URGFWD_EN_SHIFT); in qcom_icc_set_qnoc_qos()
75 struct qcom_icc_qos *qos, in qcom_icc_bimc_set_qos_health() argument
81 val = qos->prio_level; in qcom_icc_bimc_set_qos_health()
[all …]
H A Dicc-rpmh.c20 /* QNOC QoS */
27 * qcom_icc_set_qos - initialize static QoS configurations
34 const struct qcom_icc_qosbox *qos = node->qosbox; in qcom_icc_set_qos() local
37 for (port = 0; port < qos->num_ports; port++) { in qcom_icc_set_qos()
38 regmap_update_bits(qp->regmap, QOSGEN_MAINCTL_LO(qos, port), in qcom_icc_set_qos()
40 FIELD_PREP(QOS_DISABLE_MASK, qos->prio_fwd_disable)); in qcom_icc_set_qos()
42 regmap_update_bits(qp->regmap, QOSGEN_MAINCTL_LO(qos, port), in qcom_icc_set_qos()
44 FIELD_PREP(QOS_DFLT_PRIO_MASK, qos->prio)); in qcom_icc_set_qos()
46 regmap_update_bits(qp->regmap, QOSGEN_MAINCTL_LO(qos, port), in qcom_icc_set_qos()
48 FIELD_PREP(QOS_SLV_URG_MSG_EN_MASK, qos->urg_fwd)); in qcom_icc_set_qos()
[all …]
H A Dicc-rpm.h45 * @regmap: regmap for QoS registers read/write access
46 * @qos_offset: offset to QoS registers
73 * struct qcom_icc_qos - Qualcomm specific interconnect QoS parameters
78 * @qos_mode: default qos mode for this node
79 * @qos_port: qos port number for finding qos registers of this node
105 * @qos: NoC QoS setting parameters
122 struct qcom_icc_qos qos; member
/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/
H A Dqos.c6 #include "esw/qos.h"
16 /* Serializes access to all qos changes in the qos domain. */
24 mutex_lock(&esw->qos.domain->lock); in esw_qos_lock()
29 mutex_unlock(&esw->qos.domain->lock); in esw_qos_unlock()
34 lockdep_assert_held(&esw->qos.domain->lock); in esw_assert_qos_lock_held()
53 esw->qos.domain = esw_qos_domain_alloc(); in esw_qos_domain_init()
55 return esw->qos.domain ? 0 : -ENOMEM; in esw_qos_domain_init()
60 kfree(esw->qos.domain); in esw_qos_domain_release()
61 esw->qos.domain = NULL; in esw_qos_domain_release()
114 list_add_tail(&node->entry, &node->esw->qos.domain->nodes); in esw_qos_node_attach_to_parent()
[all …]
/linux/drivers/infiniband/hw/irdma/
H A Dws.c46 node->traffic_class = vsi->qos[user_pri].traffic_class; in irdma_alloc_node()
48 node->rel_bw = vsi->qos[user_pri].rel_bw; in irdma_alloc_node()
52 node->lan_qs_handle = vsi->qos[user_pri].lan_qos_handle; in irdma_alloc_node()
113 vsi->qos[node->user_pri].qs_handle = node_info.qs_handle; in irdma_ws_cqp_cmd()
160 mutex_lock(&vsi->qos[user_pri].qos_mutex); in irdma_tc_in_use()
161 if (!list_empty(&vsi->qos[user_pri].qplist)) { in irdma_tc_in_use()
162 mutex_unlock(&vsi->qos[user_pri].qos_mutex); in irdma_tc_in_use()
170 if (vsi->qos[i].traffic_class == vsi->qos[user_pri].traffic_class && in irdma_tc_in_use()
171 !list_empty(&vsi->qos[i].qplist)) { in irdma_tc_in_use()
172 mutex_unlock(&vsi->qos[user_pri].qos_mutex); in irdma_tc_in_use()
[all …]
/linux/drivers/net/ethernet/ti/
H A Dam65-cpsw-qos.c2 /* Texas Instruments K3 AM65 Ethernet QoS submodule
18 #include "am65-cpsw-qos.h"
54 struct am65_cpsw_mqprio *p_mqprio = &port->qos.mqprio; in am65_cpsw_tx_pn_shaper_apply()
63 if (p_mqprio->max_rate_total > port->qos.link_speed) in am65_cpsw_tx_pn_shaper_apply()
106 struct am65_cpsw_mqprio *p_mqprio = &port->qos.mqprio; in am65_cpsw_mqprio_verify_shaper()
189 struct am65_cpsw_mqprio *p_mqprio = &port->qos.mqprio; in am65_cpsw_reset_tc_mqprio()
206 struct am65_cpsw_mqprio *p_mqprio = &port->qos.mqprio; in am65_cpsw_setup_mqprio()
273 int verify_time_ms = port->qos.iet.verify_time_ms; in am65_cpsw_iet_set_verify_timeout_count()
312 msleep(port->qos.iet.verify_time_ms); in am65_cpsw_iet_verify_wait()
388 if (port->qos.link_speed == SPEED_UNKNOWN) in am65_cpsw_iet_commit_preemptible_tcs()
[all …]
/linux/net/bluetooth/
H A Dhci_conn.c1475 static int qos_set_big(struct hci_dev *hdev, struct bt_iso_qos *qos) in qos_set_big() argument
1481 if (qos->bcast.big == BT_ISO_QOS_BIG_UNSET) { in qos_set_big()
1493 qos->bcast.big = big; in qos_set_big()
1499 static int qos_set_bis(struct hci_dev *hdev, struct bt_iso_qos *qos) in qos_set_bis() argument
1505 if (qos->bcast.bis == BT_ISO_QOS_BIS_UNSET) { in qos_set_bis()
1506 if (qos->bcast.big != BT_ISO_QOS_BIG_UNSET) { in qos_set_bis()
1507 conn = hci_conn_hash_lookup_big(hdev, qos->bcast.big); in qos_set_bis()
1513 qos->bcast.bis = conn->iso_qos.bcast.bis; in qos_set_bis()
1533 qos->bcast.bis = bis; in qos_set_bis()
1541 __u8 sid, struct bt_iso_qos *qos, in hci_add_bis() argument
[all …]
H A Diso.c71 struct bt_iso_qos qos; member
80 static bool check_ucast_qos(struct bt_iso_qos *qos);
81 static bool check_bcast_qos(struct bt_iso_qos *qos);
355 /* Fail if user set invalid QoS */ in iso_connect_bis()
356 if (iso_pi(sk)->qos_user_set && !check_bcast_qos(&iso_pi(sk)->qos)) { in iso_connect_bis()
357 iso_pi(sk)->qos = default_qos; in iso_connect_bis()
363 if (!iso_pi(sk)->qos.bcast.out.phy) { in iso_connect_bis()
371 &iso_pi(sk)->qos, iso_pi(sk)->base_len, in iso_connect_bis()
381 iso_pi(sk)->bc_sid, &iso_pi(sk)->qos, in iso_connect_bis()
452 /* Fail if user set invalid QoS */ in iso_connect_cis()
529 struct bt_iso_qos *qos = iso_sock_get_qos(sk); iso_send_frame() local
1559 check_io_qos(struct bt_iso_io_qos * qos) check_io_qos() argument
1577 check_ucast_qos(struct bt_iso_qos * qos) check_ucast_qos() argument
1603 check_bcast_qos(struct bt_iso_qos * qos) check_bcast_qos() argument
1655 struct bt_iso_qos qos = default_qos; iso_sock_setsockopt() local
1754 struct bt_iso_qos *qos; iso_sock_getsockopt() local
[all...]
/linux/Documentation/devicetree/bindings/power/
H A Drockchip,power-controller.yaml145 A number of phandles to qos blocks which need to be saved and restored
167 qos_hdcp: qos@ffa90000 {
168 compatible = "rockchip,rk3399-qos", "syscon";
172 qos_iep: qos@ffa98000 {
173 compatible = "rockchip,rk3399-qos", "syscon";
177 qos_rga_r: qos@ffab0000 {
178 compatible = "rockchip,rk3399-qos", "syscon";
182 qos_rga_w: qos@ffab0080 {
183 compatible = "rockchip,rk3399-qos", "syscon";
187 qos_video_m0: qos@ffab8000 {
[all …]
/linux/arch/arm64/boot/dts/rockchip/
H A Drk3562.dtsi386 qos_dma2ddr: qos@fee03800 {
387 compatible = "rockchip,rk3562-qos", "syscon";
391 qos_mcu: qos@fee10000 {
392 compatible = "rockchip,rk3562-qos", "syscon";
396 qos_dft_apb: qos@fee10100 {
397 compatible = "rockchip,rk3562-qos", "syscon";
401 qos_gmac: qos@fee10200 {
402 compatible = "rockchip,rk3562-qos", "syscon";
406 qos_mac100: qos@fee10300 {
407 compatible = "rockchip,rk3562-qos", "syscon";
[all …]
/linux/drivers/net/ethernet/microchip/lan966x/
H A Dlan966x_dcb.c52 struct lan966x_port_qos qos = {0}; in lan966x_dcb_app_update() local
58 for (int i = 0; i < ARRAY_SIZE(qos.pcp.map); i++) { in lan966x_dcb_app_update()
61 qos.pcp.map[i] = dcb_getapp(dev, &app_itr); in lan966x_dcb_app_update()
65 for (int i = 0; i < ARRAY_SIZE(qos.dscp.map); i++) { in lan966x_dcb_app_update()
68 qos.dscp.map[i] = dcb_getapp(dev, &app_itr); in lan966x_dcb_app_update()
72 qos.default_prio = dcb_ieee_getapp_default_prio_mask(dev); in lan966x_dcb_app_update()
73 if (qos.default_prio) in lan966x_dcb_app_update()
74 qos.default_prio = fls(qos.default_prio) - 1; in lan966x_dcb_app_update()
83 qos.pcp_rewr.map[i] = fls(pcp_rewr_map.map[i]) - 1; in lan966x_dcb_app_update()
93 qos.dscp_rewr.map[i] = fls64(dscp_rewr_map.map[i]) - 1; in lan966x_dcb_app_update()
[all …]
/linux/Documentation/devicetree/bindings/net/
H A 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/Documentation/trace/
H A 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/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dqos.c14 #include "qos.h"
31 qos_txqs = bitmap_weight(pfvf->qos.qos_sq_bmap, in otx2_qos_update_tx_netdev_queues()
160 if (level == pfvf->qos.link_cfg_lvl) { in __otx2_qos_txschq_cfg()
174 if (level == pfvf->qos.link_cfg_lvl) { in __otx2_qos_txschq_cfg()
262 mutex_lock(&pfvf->qos.qos_lock); in otx2_qos_free_hw_cfg()
271 mutex_unlock(&pfvf->qos.qos_lock); in otx2_qos_free_hw_cfg()
280 __clear_bit(node->qid, pfvf->qos.qos_sq_bmap); in otx2_qos_sw_node_delete()
314 mutex_lock(&pfvf->qos.qos_lock); in otx2_qos_free_sw_node()
320 mutex_unlock(&pfvf->qos.qos_lock); in otx2_qos_free_sw_node()
360 mutex_lock(&pfvf->qos.qos_lock); in otx2_qos_prepare_txschq_cfg()
[all …]
/linux/include/linux/
H A 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/arch/mips/include/asm/octeon/
H A 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 …]
/linux/tools/testing/selftests/drivers/net/ocelot/
H A Dbasic_qos.sh55 egress-qos-map 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7 \
56 ingress-qos-map 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7
74 egress-qos-map 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7 \
75 ingress-qos-map 0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7
208 run_test "Port-default QoS classification" ${h1} 5 0
217 run_test "Trusted VLAN PCP QoS classification" ${h1}.100 3 0
228 run_test "Trusted DSCP QoS classification" ${h1} 4 ${tos}
232 run_test "Untrusted DSCP QoS classification follows VLAN PCP" \
236 run_test "Untrusted DSCP QoS classification follows port default" \
/linux/drivers/net/ethernet/microchip/sparx5/
H A Dsparx5_port.c1227 struct sparx5_port_qos *qos) in sparx5_port_qos_set() argument
1229 sparx5_port_qos_dscp_set(port, &qos->dscp); in sparx5_port_qos_set()
1230 sparx5_port_qos_pcp_set(port, &qos->pcp); in sparx5_port_qos_set()
1231 sparx5_port_qos_pcp_rewr_set(port, &qos->pcp_rewr); in sparx5_port_qos_set()
1232 sparx5_port_qos_dscp_rewr_set(port, &qos->dscp_rewr); in sparx5_port_qos_set()
1233 sparx5_port_qos_default_set(port, qos); in sparx5_port_qos_set()
1239 struct sparx5_port_qos_pcp_rewr *qos) in sparx5_port_qos_pcp_rewr_set() argument
1245 /* Use mapping table, with classified QoS as index, to map QoS and DP in sparx5_port_qos_pcp_rewr_set()
1249 if (qos->enable) in sparx5_port_qos_pcp_rewr_set()
1257 for (i = 0; i < ARRAY_SIZE(qos->map.map); i++) { in sparx5_port_qos_pcp_rewr_set()
[all …]

12345678910>>...19