Lines Matching full:qos
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, \
263 .qos.qos_mode = _qos_mode, \
264 .qos.areq_prio = _qos_prio, \
265 .qos.prio_level = _qos_prio, \
266 .qos.qos_port = _qos_port, \
569 struct qcom_icc_qos *qos, in qcom_icc_bimc_set_qos_health() argument
575 val = qos->prio_level; in qcom_icc_bimc_set_qos_health()
578 val |= qos->areq_prio << M_BKE_HEALTH_CFG_AREQPRIO_SHIFT; in qcom_icc_bimc_set_qos_health()
583 val |= qos->limit_commands << M_BKE_HEALTH_CFG_LIMITCMDS_SHIFT; in qcom_icc_bimc_set_qos_health()
588 M_BKE_HEALTH_CFG_ADDR(regnum, qos->qos_port), in qcom_icc_bimc_set_qos_health()
606 if (qn->qos.qos_mode != -1) in qcom_icc_set_bimc_qos()
607 mode = qn->qos.qos_mode; in qcom_icc_set_bimc_qos()
609 /* QoS Priority: The QoS Health parameters are getting considered in qcom_icc_set_bimc_qos()
615 &qn->qos, i); in qcom_icc_set_bimc_qos()
624 return regmap_update_bits(qp->regmap, M_BKE_EN_ADDR(qn->qos.qos_port), in qcom_icc_set_bimc_qos()
629 struct qcom_icc_qos *qos) in qcom_icc_noc_set_qos_priority() argument
635 val = qos->areq_prio << NOC_QOS_PRIORITY_P1_SHIFT; in qcom_icc_noc_set_qos_priority()
636 rc = regmap_update_bits(rmap, NOC_QOS_PRIORITYn_ADDR(qos->qos_port), in qcom_icc_noc_set_qos_priority()
641 return regmap_update_bits(rmap, NOC_QOS_PRIORITYn_ADDR(qos->qos_port), in qcom_icc_noc_set_qos_priority()
642 NOC_QOS_PRIORITY_P0_MASK, qos->prio_level); in qcom_icc_noc_set_qos_priority()
657 if (qn->qos.qos_port < 0) { in qcom_icc_set_noc_qos()
659 "NoC QoS: Skipping %s: vote aggregated on parent.\n", in qcom_icc_set_noc_qos()
664 if (qn->qos.qos_mode != -1) in qcom_icc_set_noc_qos()
665 mode = qn->qos.qos_mode; in qcom_icc_set_noc_qos()
668 dev_dbg(src->provider->dev, "NoC QoS: %s: Set Fixed mode\n", in qcom_icc_set_noc_qos()
670 rc = qcom_icc_noc_set_qos_priority(qp->regmap, &qn->qos); in qcom_icc_set_noc_qos()
674 dev_dbg(src->provider->dev, "NoC QoS: %s: Set Bypass mode\n", in qcom_icc_set_noc_qos()
679 NOC_QOS_MODEn_ADDR(qn->qos.qos_port), in qcom_icc_set_noc_qos()
688 dev_dbg(node->provider->dev, "Setting QoS for %s\n", qn->name); in qcom_icc_qos_set()
692 (qn->qos.qos_mode == NOC_QOS_MODE_BYPASS)); in qcom_icc_qos_set()
752 if (!qn->qos.ap_owned) { in qcom_icc_set()
757 } else if (qn->qos.qos_mode != -1) { in qcom_icc_set()