Re: [PATCH 3/4] arm64: dts: qcom: msm8996: Improve GPU OPP table

From: Konrad Dybcio
Date: Thu Mar 30 2023 - 06:57:27 EST




On 29.03.2023 23:32, Dmitry Baryshkov wrote:
> On Wed, 29 Mar 2023 at 22:17, Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> wrote:
>>
>> Remove the self-explanatory comment about opp-supported-hw contents,
>> add required-opps to ensure reasonable power domain levels are voted
>> for (currently we've been piggybacking off of miracles and MDP votes)
>> and add newlines between each subnode.
>
> I'm not sure this is 100% correct. The values that you add are correct
> for the voltage scaling case. However, based on the vendor kernel
> sources I think that MX should only be scaled if the voltage is scaled
> too. I might be wrong here.
MX must be >= CX (and GX), so this should bring no harm.

(citation needed, but that seems to hold true..)

Konrad
>
>>
>> Fixes: 69cc3114ab0f ("arm64: dts: Add Adreno GPU definitions")
>> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
>> ---
>> arch/arm64/boot/dts/qcom/msm8996.dtsi | 18 +++++++++++++-----
>> 1 file changed, 13 insertions(+), 5 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
>> index 4dd37f72e018..62ad30e94f40 100644
>> --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
>> @@ -1244,37 +1244,45 @@ gpu: gpu@b00000 {
>> gpu_opp_table: opp-table {
>> compatible = "operating-points-v2";
>>
>> - /*
>> - * 624Mhz is only available on speed bins 0 and 3.
>> - * 560Mhz is only available on speed bins 0, 2 and 3.
>> - * All the rest are available on all bins of the hardware.
>> - */
>> opp-624000000 {
>> opp-hz = /bits/ 64 <624000000>;
>> + required-opps = <&rpmpd_opp_turbo>;
>> opp-supported-hw = <0x09>;
>> };
>> +
>> opp-560000000 {
>> opp-hz = /bits/ 64 <560000000>;
>> + required-opps = <&rpmpd_opp_turbo>;
>> opp-supported-hw = <0x0d>;
>> };
>> +
>> opp-510000000 {
>> opp-hz = /bits/ 64 <510000000>;
>> + required-opps = <&rpmpd_opp_nom>;
>> opp-supported-hw = <0xff>;
>> };
>> +
>> opp-401800000 {
>> opp-hz = /bits/ 64 <401800000>;
>> + required-opps = <&rpmpd_opp_nom>;
>> opp-supported-hw = <0xff>;
>> };
>> +
>> opp-315000000 {
>> opp-hz = /bits/ 64 <315000000>;
>> + required-opps = <&rpmpd_opp_svs>;
>> opp-supported-hw = <0xff>;
>> };
>> +
>> opp-214000000 {
>> opp-hz = /bits/ 64 <214000000>;
>> + required-opps = <&rpmpd_opp_svs>;
>> opp-supported-hw = <0xff>;
>> };
>> +
>> opp-133000000 {
>> opp-hz = /bits/ 64 <133000000>;
>> + required-opps = <&rpmpd_opp_svs>;
>> opp-supported-hw = <0xff>;
>> };
>> };
>>
>> --
>> 2.40.0
>>
>
>