mirror of
https://github.com/torvalds/linux.git
synced 2026-07-31 11:37:06 +02:00
interconnect: qcom: icc-rpmh: Add skip-qos node property
Add skip-qos node property to skip qos settings which happens on each provider probe. Early in presil this property is useful to skip qos settings as not all needed clocks are voted/set on and device ends up unclocked access. This property will help to deliver interconnect earlier without qos settings which can be enabled when things are ready before bring up. Change-Id: I9619f651f40f49ec03d9ea0dc7c45b3b13ffae6c Signed-off-by: Vivek Aknurwar <viveka@codeaurora.org> Signed-off-by: Mike Tipton <quic_mdtipton@quicinc.com>
This commit is contained in:
parent
796c5f9e43
commit
d9aae10c87
|
|
@ -330,6 +330,7 @@ int qcom_icc_rpmh_probe(struct platform_device *pdev)
|
|||
return -ENOMEM;
|
||||
|
||||
qp->stub = of_property_read_bool(pdev->dev.of_node, "qcom,stub");
|
||||
qp->skip_qos = of_property_read_bool(pdev->dev.of_node, "qcom,skip-qos");
|
||||
|
||||
provider = &qp->provider;
|
||||
provider->dev = dev;
|
||||
|
|
@ -376,9 +377,11 @@ int qcom_icc_rpmh_probe(struct platform_device *pdev)
|
|||
for (i = 0; i < qp->num_bcms; i++)
|
||||
qcom_icc_bcm_init(qp->bcms[i], dev);
|
||||
|
||||
ret = enable_qos_deps(qp);
|
||||
if (ret)
|
||||
return ret;
|
||||
if (!qp->skip_qos) {
|
||||
ret = enable_qos_deps(qp);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
for (i = 0; i < num_nodes; i++) {
|
||||
qn = qnodes[i];
|
||||
|
|
@ -393,7 +396,7 @@ int qcom_icc_rpmh_probe(struct platform_device *pdev)
|
|||
goto err;
|
||||
}
|
||||
|
||||
if (qn->qosbox)
|
||||
if (qn->qosbox && !qp->skip_qos)
|
||||
qn->noc_ops->set_qos(qn);
|
||||
|
||||
node->name = qn->name;
|
||||
|
|
@ -406,7 +409,8 @@ int qcom_icc_rpmh_probe(struct platform_device *pdev)
|
|||
data->nodes[i] = node;
|
||||
}
|
||||
|
||||
disable_qos_deps(qp);
|
||||
if (!qp->skip_qos)
|
||||
disable_qos_deps(qp);
|
||||
|
||||
data->num_nodes = num_nodes;
|
||||
platform_set_drvdata(pdev, qp);
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ struct qcom_icc_provider {
|
|||
struct bcm_voter **voters;
|
||||
size_t num_voters;
|
||||
bool stub;
|
||||
bool skip_qos;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user