Re: [PATCH RFC 2/2] arm64: dts: qcom: msm8953: Add GPU

From: Luca Weiss
Date: Sat Jan 27 2024 - 12:33:00 EST


On Freitag, 26. Jänner 2024 00:50:43 CET Konrad Dybcio wrote:
> On 1/25/24 22:56, Luca Weiss wrote:
> > From: Vladimir Lypak <vladimir.lypak@xxxxxxxxx>
> >
> > Add the GPU node for the Adreno 506 found on this family of SoCs. The
> > clock speeds are a bit different per SoC variant, SDM450 maxes out at
> > 600MHz while MSM8953 (= SDM625) goes up to 650MHz and SDM632 goes up to
> > 725MHz.
> >
> > To achieve this, create a new sdm450.dtsi to hold the 600MHz OPP and
> > use the new dtsi for sdm450-motorola-ali.
> >
> > Signed-off-by: Vladimir Lypak <vladimir.lypak@xxxxxxxxx>
> > Co-developed-by: Luca Weiss <luca@xxxxxxxxx>
> > Signed-off-by: Luca Weiss <luca@xxxxxxxxx>
> > ---
> >
> > arch/arm64/boot/dts/qcom/msm8953.dtsi | 115
> > +++++++++++++++++++++++
> > arch/arm64/boot/dts/qcom/sdm450-motorola-ali.dts | 2 +-
> > arch/arm64/boot/dts/qcom/sdm450.dtsi | 14 +++
> > arch/arm64/boot/dts/qcom/sdm632.dtsi | 8 ++
> > 4 files changed, 138 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/msm8953.dtsi
> > b/arch/arm64/boot/dts/qcom/msm8953.dtsi index 91d083871ab0..1fe0c0c4fd15
> > 100644
> > --- a/arch/arm64/boot/dts/qcom/msm8953.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/msm8953.dtsi
> > @@ -1046,6 +1046,94 @@ mdss_dsi1_phy: phy@1a96400 {
> >
> > };
> >
> > };
> >
> > + gpu: gpu@1c00000 {
> > + compatible = "qcom,adreno-506.0", "qcom,adreno";
> > + reg = <0x01c00000 0x40000>;
> > + reg-names = "kgsl_3d0_reg_memory";
> > + interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
> > +
> > + clocks = <&gcc GCC_OXILI_GFX3D_CLK>,
> > + <&gcc GCC_OXILI_AHB_CLK>,
> > + <&gcc GCC_BIMC_GFX_CLK>,
> > + <&gcc GCC_BIMC_GPU_CLK>,
> > + <&gcc GCC_OXILI_TIMER_CLK>,
> > + <&gcc GCC_OXILI_AON_CLK>;
> > + clock-names = "core",
> > + "iface",
> > + "mem_iface",
> > + "alt_mem_iface",
> > + "rbbmtimer",
> > + "alwayson";
> > + power-domains = <&gcc OXILI_GX_GDSC>;
> > +
> > + iommus = <&gpu_iommu 0>;
> > + operating-points-v2 = <&gpu_opp_table>;
> > +
> > + #cooling-cells = <2>;
> > +
> > + status = "disabled";
> > +
> > + zap-shader {
> > + memory-region = <&zap_shader_region>;
> > + };
> > +
> > + gpu_opp_table: opp-table {
> > + compatible = "operating-points-v2";
> > +
> > + opp-19200000 {
> > + opp-hz = /bits/ 64 <19200000>;
> > + opp-supported-hw = <0xff>;
> > + required-opps = <&rpmpd_opp_min_svs>;
> > + };
>
> If you remove all OPPs but this one, can the GPU still spit out pixels?

Yep, phosh is starting and is rendering at a few fps.

fairphone-fp3:~$ cat /sys/devices/platform/soc@0/1c00000.gpu/devfreq/1c00000.gpu/min_freq
19200000
fairphone-fp3:~$ cat /sys/devices/platform/soc@0/1c00000.gpu/devfreq/1c00000.gpu/max_freq
19200000
fairphone-fp3:~$ cat /sys/devices/platform/soc@0/1c00000.gpu/devfreq/1c00000.gpu/cur_freq
19200000

Regards
Luca

>
> Konrad