On 16.05.2023 23:01, Bjorn Andersson wrote: > On Mon, May 15, 2023 at 11:34:45AM +0200, Konrad Dybcio wrote: >> >> >> On 15.05.2023 04:38, Bjorn Andersson wrote: >>> On Sat, May 13, 2023 at 11:09:07AM +0200, Konrad Dybcio wrote: >>>> >>>> >>>> On 12.05.2023 17:04, Bjorn Andersson wrote: >>>>> The rpmh driver will cache sleep and wake votes until the cluster >>>>> power-domain is about to enter idle, to avoid unnecessary writes. So >>>>> associate the apps_rsc with the cluster pd, so that it can be notified >>>>> about this event. >>>>> >>>>> Without this, only AMC votes are being commited. >>>> Ouch. >>>> >>>> Should we make this required: in bindings and add it to all >>>> platforms? >>>> >>> >>> I though this was an optimization and in the absence of this callback >>> the driver would just write out wake and sleep sets as well. But per the >>> current implementation (and perhaps some underlying cause?) it is indeed >>> required, if you care about power consumption. >> Hm.. since it's not strictly required for operation, would something >> like this be fitting?: >> > > I don't think it's required for operation, but the current > implementation does require it. > > So I think we should either require it in the binding to mimic the > implementation, or the implementation should handle either case (only > with a performance impact) Let's just require it then. Konrad > >> oneOf: >> - required: >> [...] >> - power-domains >> >> - required: >> [...] >> deprecated: true >> >> (if it even works this way) > > I don't think it's worth supporting the combinations. > > Regards, > Bjorn > >> >> Konrad >>> >>>>> >>>>> Signed-off-by: Bjorn Andersson <quic_bjorande@xxxxxxxxxxx> >>>>> --- >>>> Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> >>>> Fixes: 152d1faf1e2f ("arm64: dts: qcom: add SC8280XP platform") >>>> >>> >>> The Fixes sounds reasonable. >>> >>> Thanks, >>> Bjorn >>> >>>> Konrad >>>>> arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 1 + >>>>> 1 file changed, 1 insertion(+) >>>>> >>>>> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi >>>>> index 8fa9fbfe5d00..5c68f2182c2f 100644 >>>>> --- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi >>>>> +++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi >>>>> @@ -3982,6 +3982,7 @@ apps_rsc: rsc@18200000 { >>>>> qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 3>, >>>>> <WAKE_TCS 3>, <CONTROL_TCS 1>; >>>>> label = "apps_rsc"; >>>>> + power-domains = <&CLUSTER_PD>; >>>>> >>>>> apps_bcm_voter: bcm-voter { >>>>> compatible = "qcom,bcm-voter";