Am Sonntag, 10. November 2024, 19:44:31 CET schrieb Dragan Simic: > The regulator-{min,max}-microvolt values for the vdd_gpu regulator in the > PinePhone Pro device dts file are too restrictive, which prevents the highest > GPU OPP from being used, slowing the GPU down unnecessarily. Let's fix that > by making the regulator-{min,max}-microvolt values less strict, using the > voltage range that the Silergy SYR838 chip used for the vdd_gpu regulator is > actually capable of producing. [1][2] > > This also eliminates the following error messages from the kernel log: > > core: _opp_supported_by_regulators: OPP minuV: 1100000 maxuV: 1150000, not supported by regulator > panfrost ff9a0000.gpu: _opp_add: OPP not supported by regulators (800000000) > > These changes to the regulator-{min,max}-microvolt values make the PinePhone > Pro device dts consistent with the dts files for other Rockchip RK3399-based > boards and devices. It's possible to be more strict here, by specifying the > regulator-{min,max}-microvolt values that don't go outside of what the GPU > actually may use, as the consumer of the vdd_gpu regulator, but those changes > are left for a later directory-wide regulator cleanup. With the Pinephone Pro using some sort of special-rk3399, how much of "the soc variant cannot use the highest gpu opp" is in there, and just the original implementation is wrong? Did you run this on actual hardware? Heiko > Fixes: 78a21c7d5952 ("arm64: dts: rockchip: Add initial support for Pine64 PinePhone Pro") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Dragan Simic <dsimic@xxxxxxxxxxx> > --- > arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts > index 1a44582a49fb..956d64f5b271 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts > @@ -410,8 +410,8 @@ vdd_gpu: regulator@41 { > pinctrl-names = "default"; > pinctrl-0 = <&vsel2_pin>; > regulator-name = "vdd_gpu"; > - regulator-min-microvolt = <875000>; > - regulator-max-microvolt = <975000>; > + regulator-min-microvolt = <712500>; > + regulator-max-microvolt = <1500000>; > regulator-ramp-delay = <1000>; > regulator-always-on; > regulator-boot-on; >