Re: [PATCH] interconnect: qcom: sdm660: Enable keep_alive and sync_state

From: Dmitry Baryshkov

Date: Fri Oct 09 2026 - 19:07:48 EST


On Fri, Oct 09, 2026 at 05:45:41PM -0300, Fabricio Akio via B4 Relay wrote:
> From: Fabricio Akio <fabricioakio@xxxxxxxxx>
>
> The interconnect core starts every node at INT_MAX and only lowers it in
> icc_sync_state(), which this driver never hooks up. Every bus therefore
> stays at its maximum rate, in the active and the sleep set.
>
> Hook up icc_sync_state(). Releasing those votes also drops buses that no
> driver votes for, so enable keep_alive on the providers with a bus clock,
> as QCM2290 does: it keeps a minimum active-set vote and leaves the sleep
> set free.
>
> On a Motorola Moto X4 (SDM630) with the screen off, this takes the
> battery current from 117 mA to 68 mA.
>
> Fixes: f80a1d414328 ("interconnect: qcom: Add SDM660 interconnect provider driver")
> Signed-off-by: Fabricio Akio <fabricioakio@xxxxxxxxx>
> ---
> Konrad Dybcio included the sync_state hook-up for this driver in a 2021
> fix of its paths [1], Marijn Suijten posted it alone the same year [2],
> and Krzysztof Kozlowski for eight Qualcomm drivers in 2022 [3]. Georgi's
> concern then was that buses with no bandwidth user would be turned off
> at sync state. keep_alive, added since for that case, keeps a minimum
> active-set vote on them; QCM2290 and SM6115 use it on all their buses.

I think, at some point we should get sort out if we really need keep
alives on all the busses, but it sounds good for now.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>

>
> Tested on a Motorola Moto X4 (SDM630), whose board file is not in
> mainline yet, on the sdm660-mainline tree, with sdm630.dtsi's
> interconnect paths as they are in mainline: all six providers synced;
> the eMMC, the SD card and the USB gadget worked, and the phone
> suspended and resumed.
>
> [1] https://lore.kernel.org/r/20210728222033.52500-1-konrad.dybcio@xxxxxxxxxxxxxx
> [2] https://lore.kernel.org/r/20210904111452.248804-1-marijn.suijten@xxxxxxxxxxxxxx
> [3] https://lore.kernel.org/r/20220427145616.523557-1-krzysztof.kozlowski@xxxxxxxxxx
> ---
> drivers/interconnect/qcom/sdm660.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>

--
With best wishes
Dmitry