Re: [PATCH] arm64: dts: qcom: sc8280xp: Flush RSC sleep & wake votes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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)

> 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";



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux