On Sun, Jan 15, 2023 at 04:13:40PM +0100, Krzysztof Kozlowski wrote: > On 13/01/2023 19:18, Matthias Kaehlcke wrote: > > Hi, > > > > On Fri, Sep 02, 2022 at 10:05:11AM +0530, Rajendra Nayak wrote: > >> Add cpu and llcc BWMON nodes and their corresponding > >> OPP tables for sc7280 SoC. > >> > >> Signed-off-by: Rajendra Nayak <quic_rjendra@xxxxxxxxxxx> > >> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> > > > > I found that with a v6.1 kernel AOSS on sc7280 doesn't reach it's low > > power state during system. This can be observed on herobrine based > > boards on which the AP_SUSPEND signal should transition to 1 during > > system suspend. If it doesn't the Embedded Controller (EC) notices > > it and wakes the system up again. > > > > Bisection points to this patch, the issue only occurs when > > CONFIG_QCOM_ICC_BWMON is *not* set. One might think the patch shouldn't > > have any impact at all when the driver is not enabled, but it does. > > > > Debugging shows that the issue is interconnect related. A bare platform > > device is created for each bwmon devices, which results in the average > > and peak bandwidth of the interconnect link to be set 'initially' to > > INT_MAX. The driver is supposed to call icc_sync_state() during probe, > > This is for interconnect providers, not consumers. Ah, thanks for the clarification. Still, for the INT_MAX bandwidth setting remains in place unless the device is probed. > > which would set the initially bandwidths to 0 and determine the actually > > needed bandwidth. But since the driver isn't probed the initial > > bandwidths stay at INT_MAX. > > > > This isn't actually an issue with this patch, but how the interconnect > > framework deals with devices that are registered on the bus, but aren't > > probed (yet). Not sure how this would be best fixed. Georgi, do you have > > any ideas? > > Why the device is not probed (yet)? If it is registered, it will come > soon during boot up. Because CONFIG_QCOM_ICC_BWMON is not enabled for the board in question (see above). It could be enabled as a short term mitigtion, however we shouldn't require drivers to be enabled just because the DT has a corresponding node.