Quoting Alex Elder (2021-08-11 09:01:27) > On 8/10/21 6:31 PM, 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@xxxxxxxxxxxxxx> > >> --- > > > > This patch breaks reboot for me on sc7180 Lazor > > If I am using the interface improperly or something in the > IPA driver, please let me know. I actually plan to switch > to using the bulk interfaces soon (FYI). > I suspect I'm seeing a shutdown ordering issue, where we start dropping interconnect requests in driver shutdown callbacks and then some bus turns off and the CPU can't access a device. Maybe to fix this problem (if reverting isn't an option) would be to add a shutdown hook to rpmh-icc that effectively "props up" the bandwidth requests during shutdown so that we don't have to think about finding the place that the interconnect is turned off. We're shutting down/restarting anyway, so there isn't much point in trying to be power efficient for the last few moments of runtime.