Merge "interconnect: qcom: Don't vote using unrelated voters in sync_state"

This commit is contained in:
qctecmdr 2020-03-27 03:47:18 -07:00 • committed by Gerrit - the friendly Code Review server
commit b0205cb659

View file

@ -1042,6 +1042,8 @@ static void qnoc_sync_state(struct device *dev)
struct qcom_icc_provider *qp = platform_get_drvdata(pdev);
struct icc_provider *provider = &qp->provider;
struct qcom_icc_node *qnode;
struct qcom_icc_bcm *bcm;
struct bcm_voter *voter;
struct icc_node *node;
mutex_lock(&probe_list_lock);
@ -1064,17 +1066,22 @@ static void qnoc_sync_state(struct device *dev)
}
list_for_each_entry(qp, &qnoc_probe_list, probe_list) {
int i, j;
for (i = 0; i < qp->num_voters; i++) {
for (j = 0; j < qp->num_bcms; j++)
qcom_icc_bcm_voter_add(qp->voters[i],
qp->bcms[j]);
int i;
for (i = 0; i < qp->num_voters; i++)
qcom_icc_bcm_voter_clear_init(qp->voters[i]);
qcom_icc_bcm_voter_commit(qp->voters[i]);
for (i = 0; i < qp->num_bcms; i++) {
bcm = qp->bcms[i];
if (!bcm->keepalive)
continue;
voter = qp->voters[bcm->voter_idx];
qcom_icc_bcm_voter_add(voter, bcm);
qcom_icc_bcm_voter_commit(voter);
}
}
mutex_unlock(&probe_list_lock);
}