Message ID | 20220821173051.155038-5-peron.clem@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Allwinner H6 GPU devfreq | expand |
On 8/21/22 12:30 PM, Clément Péron wrote: > Enable GPU OPP table for Beelink GS1 > > Signed-off-by: Clément Péron <peron.clem@gmail.com> > --- > arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > index 6249e9e02928..20fc0584d1c6 100644 > --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > @@ -5,6 +5,7 @@ > > #include "sun50i-h6.dtsi" > #include "sun50i-h6-cpu-opp.dtsi" > +#include "sun50i-h6-gpu-opp.dtsi" > > #include <dt-bindings/gpio/gpio.h> > > @@ -261,6 +262,7 @@ reg_dcdca: dcdca { > }; > > reg_dcdcc: dcdcc { > + regulator-always-on; Why is this necessary? This file already has: &gpu { mali-supply = <®_dcdcc>; status = "okay"; }; So there is a consumer for this regulator. Regards, Samuel > regulator-enable-ramp-delay = <32000>; > regulator-min-microvolt = <810000>; > regulator-max-microvolt = <1080000>; >
Hi Samuel, On Tue, 23 Aug 2022 at 05:07, Samuel Holland <samuel@sholland.org> wrote: > > On 8/21/22 12:30 PM, Clément Péron wrote: > > Enable GPU OPP table for Beelink GS1 > > > > Signed-off-by: Clément Péron <peron.clem@gmail.com> > > --- > > arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > index 6249e9e02928..20fc0584d1c6 100644 > > --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > @@ -5,6 +5,7 @@ > > > > #include "sun50i-h6.dtsi" > > #include "sun50i-h6-cpu-opp.dtsi" > > +#include "sun50i-h6-gpu-opp.dtsi" > > > > #include <dt-bindings/gpio/gpio.h> > > > > @@ -261,6 +262,7 @@ reg_dcdca: dcdca { > > }; > > > > reg_dcdcc: dcdcc { > > + regulator-always-on; > > Why is this necessary? This file already has: This is a relica from the first serie at this time the OPP doesn't properly enable the regulator it's now fixed since: https://patchwork.kernel.org/project/linux-pm/patch/81eb2efeeed1556d124065252f32777838a6d850.1589528491.git.viresh.kumar@linaro.org/ I will drop it. Thanks for the review. Regards, Clement > > &gpu { > mali-supply = <®_dcdcc>; > status = "okay"; > }; > > So there is a consumer for this regulator. > > Regards, > Samuel > > > regulator-enable-ramp-delay = <32000>; > > regulator-min-microvolt = <810000>; > > regulator-max-microvolt = <1080000>; > > >
Hi Samuel, On Sat, 3 Sept 2022 at 20:41, Clément Péron <peron.clem@gmail.com> wrote: > > Hi Samuel, > > On Tue, 23 Aug 2022 at 05:07, Samuel Holland <samuel@sholland.org> wrote: > > > > On 8/21/22 12:30 PM, Clément Péron wrote: > > > Enable GPU OPP table for Beelink GS1 > > > > > > Signed-off-by: Clément Péron <peron.clem@gmail.com> > > > --- > > > arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 ++ > > > 1 file changed, 2 insertions(+) > > > > > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > > index 6249e9e02928..20fc0584d1c6 100644 > > > --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > > @@ -5,6 +5,7 @@ > > > > > > #include "sun50i-h6.dtsi" > > > #include "sun50i-h6-cpu-opp.dtsi" > > > +#include "sun50i-h6-gpu-opp.dtsi" > > > > > > #include <dt-bindings/gpio/gpio.h> > > > > > > @@ -261,6 +262,7 @@ reg_dcdca: dcdca { > > > }; > > > > > > reg_dcdcc: dcdcc { > > > + regulator-always-on; > > > > Why is this necessary? This file already has: > > This is a relica from the first serie at this time the OPP doesn't > properly enable the regulator it's now fixed since: > https://patchwork.kernel.org/project/linux-pm/patch/81eb2efeeed1556d124065252f32777838a6d850.1589528491.git.viresh.kumar@linaro.org/ > > I will drop it. After retesting it, it seems to still no take the regulator and make my board hang... :( [ 17.698597] sun8i-dw-hdmi 6000000.hdmi: registered DesignWare HDMI I2C bus driver [ 17.708475] sun4i-drm display-engine: bound 6000000.hdmi (ops sun8i_dw_hdmi_ops [sun8i_drm_hdmi]) [ 17.718350] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 1 [ 17.877443] Console: switching to colour frame buffer device 320x90 [ 17.936050] sun4i-drm display-engine: [drm] fb0: sun4i-drmdrmfb frame buffer device [ 17.961881] platform 5200000.usb: deferred probe pending >>>> [ 31.710731] vdd-gpu: disabling <<<<< > > Thanks for the review. > Regards, > Clement > > > > > > > > &gpu { > > mali-supply = <®_dcdcc>; > > status = "okay"; > > }; > > > > So there is a consumer for this regulator. > > > > Regards, > > Samuel > > > > > regulator-enable-ramp-delay = <32000>; > > > regulator-min-microvolt = <810000>; > > > regulator-max-microvolt = <1080000>; > > > > >
On 9/3/22 2:06 PM, Clément Péron wrote: > Hi Samuel, > > On Sat, 3 Sept 2022 at 20:41, Clément Péron <peron.clem@gmail.com> wrote: >> >> Hi Samuel, >> >> On Tue, 23 Aug 2022 at 05:07, Samuel Holland <samuel@sholland.org> wrote: >>> >>> On 8/21/22 12:30 PM, Clément Péron wrote: >>>> Enable GPU OPP table for Beelink GS1 >>>> >>>> Signed-off-by: Clément Péron <peron.clem@gmail.com> >>>> --- >>>> arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 ++ >>>> 1 file changed, 2 insertions(+) >>>> >>>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts >>>> index 6249e9e02928..20fc0584d1c6 100644 >>>> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts >>>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts >>>> @@ -5,6 +5,7 @@ >>>> >>>> #include "sun50i-h6.dtsi" >>>> #include "sun50i-h6-cpu-opp.dtsi" >>>> +#include "sun50i-h6-gpu-opp.dtsi" >>>> >>>> #include <dt-bindings/gpio/gpio.h> >>>> >>>> @@ -261,6 +262,7 @@ reg_dcdca: dcdca { >>>> }; >>>> >>>> reg_dcdcc: dcdcc { >>>> + regulator-always-on; >>> >>> Why is this necessary? This file already has: >> >> This is a relica from the first serie at this time the OPP doesn't >> properly enable the regulator it's now fixed since: >> https://patchwork.kernel.org/project/linux-pm/patch/81eb2efeeed1556d124065252f32777838a6d850.1589528491.git.viresh.kumar@linaro.org/ This should have nothing to do with the OPP driver; lima already has a "mali" regulator consumer that should be enabled whenever the GPU is in use. _Adding_ a regulator consumer from the OPP driver should not somehow decrease the refcount. >> I will drop it. > > After retesting it, it seems to still no take the regulator and make > my board hang... :( > > [ 17.698597] sun8i-dw-hdmi 6000000.hdmi: registered DesignWare HDMI > I2C bus driver > [ 17.708475] sun4i-drm display-engine: bound 6000000.hdmi (ops > sun8i_dw_hdmi_ops [sun8i_drm_hdmi]) > [ 17.718350] [drm] Initialized sun4i-drm 1.0.0 20150629 for > display-engine on minor 1 > [ 17.877443] Console: switching to colour frame buffer device 320x90 > [ 17.936050] sun4i-drm display-engine: [drm] fb0: sun4i-drmdrmfb > frame buffer device > [ 17.961881] platform 5200000.usb: deferred probe pending >>>>> [ 31.710731] vdd-gpu: disabling <<<<< Are there any messages from lima, especially about mali-supply? Can you provide regulators_summary from debugfs? Regards, Samuel
Hi Samuel, On Sun, 4 Sept 2022 at 05:32, Samuel Holland <samuel@sholland.org> wrote: > > On 9/3/22 2:06 PM, Clément Péron wrote: > > Hi Samuel, > > > > On Sat, 3 Sept 2022 at 20:41, Clément Péron <peron.clem@gmail.com> wrote: > >> > >> Hi Samuel, > >> > >> On Tue, 23 Aug 2022 at 05:07, Samuel Holland <samuel@sholland.org> wrote: > >>> > >>> On 8/21/22 12:30 PM, Clément Péron wrote: > >>>> Enable GPU OPP table for Beelink GS1 > >>>> > >>>> Signed-off-by: Clément Péron <peron.clem@gmail.com> > >>>> --- > >>>> arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 ++ > >>>> 1 file changed, 2 insertions(+) > >>>> > >>>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > >>>> index 6249e9e02928..20fc0584d1c6 100644 > >>>> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > >>>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > >>>> @@ -5,6 +5,7 @@ > >>>> > >>>> #include "sun50i-h6.dtsi" > >>>> #include "sun50i-h6-cpu-opp.dtsi" > >>>> +#include "sun50i-h6-gpu-opp.dtsi" > >>>> > >>>> #include <dt-bindings/gpio/gpio.h> > >>>> > >>>> @@ -261,6 +262,7 @@ reg_dcdca: dcdca { > >>>> }; > >>>> > >>>> reg_dcdcc: dcdcc { > >>>> + regulator-always-on; > >>> > >>> Why is this necessary? This file already has: > >> > >> This is a relica from the first serie at this time the OPP doesn't > >> properly enable the regulator it's now fixed since: > >> https://patchwork.kernel.org/project/linux-pm/patch/81eb2efeeed1556d124065252f32777838a6d850.1589528491.git.viresh.kumar@linaro.org/ > > This should have nothing to do with the OPP driver; lima already has a "mali" > regulator consumer that should be enabled whenever the GPU is in use. Okay so you propose to add a regulator_enable() in the panfrost drivers in addition to the OPP consumer right? I will send a patch to add this and see what's panfrost maintainer think about it. Regards, Clement > > _Adding_ a regulator consumer from the OPP driver should not somehow decrease > the refcount. > > >> I will drop it. > > > > After retesting it, it seems to still no take the regulator and make > > my board hang... :( > > > > [ 17.698597] sun8i-dw-hdmi 6000000.hdmi: registered DesignWare HDMI > > I2C bus driver > > [ 17.708475] sun4i-drm display-engine: bound 6000000.hdmi (ops > > sun8i_dw_hdmi_ops [sun8i_drm_hdmi]) > > [ 17.718350] [drm] Initialized sun4i-drm 1.0.0 20150629 for > > display-engine on minor 1 > > [ 17.877443] Console: switching to colour frame buffer device 320x90 > > [ 17.936050] sun4i-drm display-engine: [drm] fb0: sun4i-drmdrmfb > > frame buffer device > > [ 17.961881] platform 5200000.usb: deferred probe pending > >>>>> [ 31.710731] vdd-gpu: disabling <<<<< > > Are there any messages from lima, especially about mali-supply? Can you provide > regulators_summary from debugfs? > > Regards, > Samuel
Hi Samuel, On Sun, 4 Sept 2022 at 16:23, Clément Péron <peron.clem@gmail.com> wrote: > > Hi Samuel, > > On Sun, 4 Sept 2022 at 05:32, Samuel Holland <samuel@sholland.org> wrote: > > > > On 9/3/22 2:06 PM, Clément Péron wrote: > > > Hi Samuel, > > > > > > On Sat, 3 Sept 2022 at 20:41, Clément Péron <peron.clem@gmail.com> wrote: > > >> > > >> Hi Samuel, > > >> > > >> On Tue, 23 Aug 2022 at 05:07, Samuel Holland <samuel@sholland.org> wrote: > > >>> > > >>> On 8/21/22 12:30 PM, Clément Péron wrote: > > >>>> Enable GPU OPP table for Beelink GS1 > > >>>> > > >>>> Signed-off-by: Clément Péron <peron.clem@gmail.com> > > >>>> --- > > >>>> arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 ++ > > >>>> 1 file changed, 2 insertions(+) > > >>>> > > >>>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > >>>> index 6249e9e02928..20fc0584d1c6 100644 > > >>>> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > >>>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts > > >>>> @@ -5,6 +5,7 @@ > > >>>> > > >>>> #include "sun50i-h6.dtsi" > > >>>> #include "sun50i-h6-cpu-opp.dtsi" > > >>>> +#include "sun50i-h6-gpu-opp.dtsi" > > >>>> > > >>>> #include <dt-bindings/gpio/gpio.h> > > >>>> > > >>>> @@ -261,6 +262,7 @@ reg_dcdca: dcdca { > > >>>> }; > > >>>> > > >>>> reg_dcdcc: dcdcc { > > >>>> + regulator-always-on; > > >>> > > >>> Why is this necessary? This file already has: > > >> > > >> This is a relica from the first serie at this time the OPP doesn't > > >> properly enable the regulator it's now fixed since: > > >> https://patchwork.kernel.org/project/linux-pm/patch/81eb2efeeed1556d124065252f32777838a6d850.1589528491.git.viresh.kumar@linaro.org/ > > > > This should have nothing to do with the OPP driver; lima already has a "mali" > > regulator consumer that should be enabled whenever the GPU is in use. > > Okay so you propose to add a regulator_enable() in the panfrost > drivers in addition to the OPP consumer right? After a quick look it seems that it's explicit that we don't want two consumer for the same regulator and OPP should handle the enabling of the regulator. /* OPP will handle regulators */ if (!pfdev->pfdevfreq.opp_of_table_added) { err = panfrost_regulator_init(pfdev); if (err) goto out_devfreq; } > > I will send a patch to add this and see what's panfrost maintainer > think about it. > > Regards, > Clement > > > > > _Adding_ a regulator consumer from the OPP driver should not somehow decrease > > the refcount. > > > > >> I will drop it. > > > > > > After retesting it, it seems to still no take the regulator and make > > > my board hang... :( > > > > > > [ 17.698597] sun8i-dw-hdmi 6000000.hdmi: registered DesignWare HDMI > > > I2C bus driver > > > [ 17.708475] sun4i-drm display-engine: bound 6000000.hdmi (ops > > > sun8i_dw_hdmi_ops [sun8i_drm_hdmi]) > > > [ 17.718350] [drm] Initialized sun4i-drm 1.0.0 20150629 for > > > display-engine on minor 1 > > > [ 17.877443] Console: switching to colour frame buffer device 320x90 > > > [ 17.936050] sun4i-drm display-engine: [drm] fb0: sun4i-drmdrmfb > > > frame buffer device > > > [ 17.961881] platform 5200000.usb: deferred probe pending > > >>>>> [ 31.710731] vdd-gpu: disabling <<<<< > > > > Are there any messages from lima, especially about mali-supply? Can you provide > > regulators_summary from debugfs? > > > > Regards, > > Samuel
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts index 6249e9e02928..20fc0584d1c6 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts @@ -5,6 +5,7 @@ #include "sun50i-h6.dtsi" #include "sun50i-h6-cpu-opp.dtsi" +#include "sun50i-h6-gpu-opp.dtsi" #include <dt-bindings/gpio/gpio.h> @@ -261,6 +262,7 @@ reg_dcdca: dcdca { }; reg_dcdcc: dcdcc { + regulator-always-on; regulator-enable-ramp-delay = <32000>; regulator-min-microvolt = <810000>; regulator-max-microvolt = <1080000>;
Enable GPU OPP table for Beelink GS1 Signed-off-by: Clément Péron <peron.clem@gmail.com> --- arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 ++ 1 file changed, 2 insertions(+)