Skip to content

Commit d5ad646

Browse files
authored
Merge pull request #365 from sgaud-quic/rb8_fix
WORKAROUND: remoteproc: qcom: Fix RB8 device hung issue
2 parents 597a977 + 3ee1514 commit d5ad646

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

drivers/remoteproc/qcom_q6v5_pas.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,18 @@ static void qcom_pas_pds_disable(struct qcom_pas *pas, struct device **pds,
184184
int i;
185185

186186
for (i = 0; i < pd_count; i++) {
187+
/*
188+
* There is a race condition which occurs sometimes for RB8 platform when APPS
189+
* removes it's vote on handover INT from fw - ADSP F/W side vote is not yet
190+
* applied on the lcx and lmx rails because of which PMIC shutdowns shut and device
191+
* goes into hung state. Carry this WA until a proper fix is finalized.
192+
*/
193+
if (of_device_is_compatible(dev_of_node(pas->dev), "qcom,sa8775p-adsp-pas")) {
194+
/* Apply SVS_L1 vote to keep lcx and lmx rails ON */
195+
dev_pm_genpd_set_performance_state(pds[i], 192);
196+
return;
197+
}
198+
187199
dev_pm_genpd_set_performance_state(pds[i], 0);
188200
pm_runtime_put(pds[i]);
189201
}

0 commit comments

Comments
 (0)