diff mbox series

interconnect: qcom: sdm845: Enable keepalive for the MM1 BCM

Message ID 20201012194034.26944-1-georgi.djakov@linaro.org
State Accepted
Commit 5be1805dc3961ce0465bcb0beab85fe8580af08d
Headers show
Series interconnect: qcom: sdm845: Enable keepalive for the MM1 BCM | expand

Commit Message

Georgi Djakov Oct. 12, 2020, 7:40 p.m. UTC
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 <amit.pundir@linaro.org>
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
---
 drivers/interconnect/qcom/sdm845.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Mike Tipton Oct. 14, 2020, 1:10 a.m. UTC | #1
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 <amit.pundir@linaro.org>
> Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
> ---
>   drivers/interconnect/qcom/sdm845.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 

Reviewed-by: Mike Tipton <mdtipton@codeaurora.org>
patchwork-bot+linux-arm-msm@kernel.org Dec. 29, 2020, 8:15 p.m. UTC | #2
Hello:

This patch was applied to qcom/linux.git (refs/heads/for-next):

On Mon, 12 Oct 2020 22:40:34 +0300 you wrote:
> 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

>   ...

> 

> [...]


Here is the summary with links:
  - interconnect: qcom: sdm845: Enable keepalive for the MM1 BCM
    https://git.kernel.org/qcom/c/5be1805dc396

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
diff mbox series

Patch

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);