Re: [PATCH 1/2] ARM: dts: rockchip: Limit GPU frequency on veyron mickey to 300 MHz when the CPU gets very hot

From: Heiko Stübner
Date: Mon May 20 2019 - 16:30:33 EST


Am Montag, 20. Mai 2019, 22:16:46 CEST schrieb Doug Anderson:
> Hi,
>
> On Mon, May 20, 2019 at 10:01 AM Matthias Kaehlcke <mka@xxxxxxxxxxxx> wrote:
> >
> > On rk3288 the CPU and GPU temperatures are correlated. Limit the GPU
> > frequency on veyron mickey to 300 MHz for CPU temperatures >= 85°C.
> >
> > This matches the configuration of the downstream Chrome OS 3.14 kernel,
> > the 'official' kernel for mickey.
> >
> > Signed-off-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>
> > ---
> > Note: this patch depends on "ARM: dts: rockchip: Add #cooling-cells
> > entry for rk3288 GPU" (https://lore.kernel.org/patchwork/patch/1075005/)
> > ---
> > arch/arm/boot/dts/rk3288-veyron-mickey.dts | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/rk3288-veyron-mickey.dts b/arch/arm/boot/dts/rk3288-veyron-mickey.dts
> > index d889ab3c8235..f118d92a49d0 100644
> > --- a/arch/arm/boot/dts/rk3288-veyron-mickey.dts
> > +++ b/arch/arm/boot/dts/rk3288-veyron-mickey.dts
> > @@ -125,6 +125,12 @@
> > <&cpu2 8 THERMAL_NO_LIMIT>,
> > <&cpu3 8 THERMAL_NO_LIMIT>;
> > };
> > +
> > + /* At very hot, don't let GPU go over 300 MHz */
> > + cpu_very_hot_limit_gpu {
> > + trip = <&cpu_alert_very_hot>;
> > + cooling-device = <&gpu 2 2>;
> > + };
>
> Two things:
>
> A) If I'm reading things properly, you're actually limiting things to
> 400 MHz. This is because you don't have <https://crrev.com/c/1574579>
> which deletes the 500 MHz GPU operating point. So on upstream the
> available points are:
>
> 0: 600 MHz
> 1: 500 MHz
> 2: 400 MHz
> 3: 300 MHz
> 4: 200 MHz
> 5: 100 MHz
>
> ...and downstream:
>
> 0: 600 MHz
> 1: 400 MHz
> 2: 300 MHz
> 3: 200 MHz
> 4: 100 MHz
>
> Thinking about it more, I bet Heiko would actually be OK deleting the
> 500 MHz GPU operating point for veyron. Technically it's not needed
> upstream because upstream doesn't have our hacks to allow re-purposing
> NPLL for HDMI (so they _can_ make 500 MHz) but maybe we can make the
> argument that these laptops have only ever been tested with the 500
> MHz operating point removed and also that eventually someonje will
> probably figure out a way to re-purpose NPLL for HDMI even upstream...

Yeah. Dropping the opp sounds sensible ... for the npll-related thing
and also if you're really running into thermal constraints it might be
good to give the system a bit more breathing room?


Heiko


> B) It seems like in the same patch you'd want to introduce
> "cpu_warm_limit_gpu", AKA:
>
> cpu_warm_limit_gpu {
> trip = <&cpu_alert_warm>;
> cooling-device =
> <&gpu 1 1>;
> };
>
>
> -Doug