[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1484f6d6-0eac-b3e0-57e5-0443043debd1@codeaurora.org>
Date: Tue, 17 Aug 2021 21:43:25 -0700
From: Mike Tipton <mdtipton@...eaurora.org>
To: Bjorn Andersson <bjorn.andersson@...aro.org>,
Stephen Boyd <swboyd@...omium.org>
Cc: djakov@...nel.org, agross@...nel.org, saravanak@...gle.com,
okukatla@...eaurora.org, linux-pm@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org,
Alex Elder <elder@...aro.org>
Subject: Re: [PATCH v2 4/4] interconnect: qcom: icc-rpmh: Add BCMs to commit
list in pre_aggregate
On 8/10/2021 5:18 PM, Bjorn Andersson wrote:
> On Tue 10 Aug 18:31 CDT 2021, Stephen Boyd wrote:
>
>> Quoting Mike Tipton (2021-07-21 10:54:32)
>>> We're only adding BCMs to the commit list in aggregate(), but there are
>>> cases where pre_aggregate() is called without subsequently calling
>>> aggregate(). In particular, in icc_sync_state() when a node with initial
>>> BW has zero requests. Since BCMs aren't added to the commit list in
>>> these cases, we don't actually send the zero BW request to HW. So the
>>> resources remain on unnecessarily.
>>>
>>> Add BCMs to the commit list in pre_aggregate() instead, which is always
>>> called even when there are no requests.
>>>
>>> Fixes: 976daac4a1c5 ("interconnect: qcom: Consolidate interconnect RPMh support")
>>> Signed-off-by: Mike Tipton <mdtipton@...eaurora.org>
>>> ---
>>
>> This patch breaks reboot for me on sc7180 Lazor
>>
>
> FWIW, it prevents at least SM8150 from booting (need to check my other
> boards as well), because its no longer okay to have the interconnect
> providers defined without having all client paths specified.
My testing was limited to sdm845, which didn't show any boot issues. But
it's not terribly surprising for this to cause problems on some targets.
Previously every node was enabled by default and left on permanently if
nobody explicitly voted for them. This would happen even if these nodes
weren't enabled in bootloaders, since most of the qcom providers aren't
defining a get_bw() callback and thus the framework defaults
init_avg/init_peak to INT_MAX. So any drivers relying on this default-on
behavior would break.
We can try to get dumps of the NOC error registers at the time of
failure to pinpoint the problematic access. Or we could try to narrow it
down by marking more BCMs as keepalive. If they're marked as keepalive
then we won't let them turn off even with this patch.
>
> Regards,
> Bjorn
>
Powered by blists - more mailing lists