2020-10-12 19:42:54

by Georgi Djakov

[permalink] [raw]
Subject: [PATCH] interconnect: qcom: sdm845: Enable keepalive for the MM1 BCM

After enabling interconect scaling for display on the db845c board,
in certain configurations the board hangs, while the following errors
are observed on the console:

Error sending AMC RPMH requests (-110)
qcom_rpmh TCS Busy, retrying RPMH message send: addr=0x50000
qcom_rpmh TCS Busy, retrying RPMH message send: addr=0x50000
qcom_rpmh TCS Busy, retrying RPMH message send: addr=0x50000
...

In this specific case, the above is related to one of the sequencers
being stuck, while client drivers are returning from probe and trying
to disable the currently unused clock and interconnect resources.
Generally we want to keep the multimedia NoC enabled like the rest of
the NoCs, so let's set the keepalive flag on it too.

Fixes: aae57773fbe0 ("interconnect: qcom: sdm845: Split qnodes into their respective NoCs")
Reported-by: Amit Pundir <[email protected]>
Signed-off-by: Georgi Djakov <[email protected]>
---
drivers/interconnect/qcom/sdm845.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/interconnect/qcom/sdm845.c b/drivers/interconnect/qcom/sdm845.c
index 47556dc12ec0..5304aea3b058 100644
--- a/drivers/interconnect/qcom/sdm845.c
+++ b/drivers/interconnect/qcom/sdm845.c
@@ -151,7 +151,7 @@ DEFINE_QBCM(bcm_mc0, "MC0", true, &ebi);
DEFINE_QBCM(bcm_sh0, "SH0", true, &qns_llcc);
DEFINE_QBCM(bcm_mm0, "MM0", false, &qns_mem_noc_hf);
DEFINE_QBCM(bcm_sh1, "SH1", false, &qns_apps_io);
-DEFINE_QBCM(bcm_mm1, "MM1", false, &qxm_camnoc_hf0_uncomp, &qxm_camnoc_hf1_uncomp, &qxm_camnoc_sf_uncomp, &qxm_camnoc_hf0, &qxm_camnoc_hf1, &qxm_mdp0, &qxm_mdp1);
+DEFINE_QBCM(bcm_mm1, "MM1", true, &qxm_camnoc_hf0_uncomp, &qxm_camnoc_hf1_uncomp, &qxm_camnoc_sf_uncomp, &qxm_camnoc_hf0, &qxm_camnoc_hf1, &qxm_mdp0, &qxm_mdp1);
DEFINE_QBCM(bcm_sh2, "SH2", false, &qns_memnoc_snoc);
DEFINE_QBCM(bcm_mm2, "MM2", false, &qns2_mem_noc);
DEFINE_QBCM(bcm_sh3, "SH3", false, &acm_tcu);


2020-10-14 08:18:08

by Mike Tipton

[permalink] [raw]
Subject: Re: [PATCH] interconnect: qcom: sdm845: Enable keepalive for the MM1 BCM

On 10/12/2020 12:40 PM, Georgi Djakov wrote:
> After enabling interconect scaling for display on the db845c board,
s/interconect/interconnect/

> in certain configurations the board hangs, while the following errors
> are observed on the console:
>
> Error sending AMC RPMH requests (-110)
> qcom_rpmh TCS Busy, retrying RPMH message send: addr=0x50000
> qcom_rpmh TCS Busy, retrying RPMH message send: addr=0x50000
> qcom_rpmh TCS Busy, retrying RPMH message send: addr=0x50000
> ...
>
> In this specific case, the above is related to one of the sequencers
> being stuck, while client drivers are returning from probe and trying
> to disable the currently unused clock and interconnect resources.
> Generally we want to keep the multimedia NoC enabled like the rest of
> the NoCs, so let's set the keepalive flag on it too.
>
> Fixes: aae57773fbe0 ("interconnect: qcom: sdm845: Split qnodes into their respective NoCs")
> Reported-by: Amit Pundir <[email protected]>
> Signed-off-by: Georgi Djakov <[email protected]>
> ---
> drivers/interconnect/qcom/sdm845.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>

Reviewed-by: Mike Tipton <[email protected]>