interconnect: qcom: qnoc-qos: Add prio_fwd_disable support

Add prio_fwd_disable flag support to stop forwarding QoS information
from the master. So respective noc will ignore master's claimed priority
and send out the default priortiy.

Change-Id: I21ca11b44f200453c70c02f195779ef583a90e8c
Signed-off-by: Vivek Aknurwar <quic_viveka@quicinc.com>
This commit is contained in:
Vivek Aknurwar 2022-01-28 13:52:54 -08:00 committed by Mike Tipton
parent fd8e26e71e
commit bba0dddd2a
2 changed files with 7 additions and 0 deletions

View File

@ -16,6 +16,8 @@
#define QOS_SLV_URG_MSG_EN_SHFT 3
# define QOS_DFLT_PRIO_MASK 0x7
# define QOS_DFLT_PRIO_SHFT 4
#define QOS_DISABLE_SHIFT 24
const u8 icc_qnoc_qos_regs[][QOSGEN_OFF_MAX_REGS] = {
[ICC_QNOC_QOSGEN_TYPE_RPMH] = {
@ -45,6 +47,10 @@ static void qcom_icc_set_qos(struct qcom_icc_node *node)
return;
for (port = 0; port < qos->num_ports; port++) {
regmap_update_bits(node->regmap, QOSGEN_MAINCTL_LO(qos, port),
BIT(QOS_DISABLE_SHIFT),
qos->config->prio_fwd_disable << QOS_DISABLE_SHIFT);
regmap_update_bits(node->regmap, QOSGEN_MAINCTL_LO(qos, port),
QOS_DFLT_PRIO_MASK << QOS_DFLT_PRIO_SHFT,
qos->config->prio << QOS_DFLT_PRIO_SHFT);

View File

@ -32,6 +32,7 @@ struct qcom_icc_noc_ops {
struct qos_config {
u32 prio;
u32 urg_fwd;
bool prio_fwd_disable;
};
struct qcom_icc_qosbox {