Hi, On Mon, May 20, 2019 at 10:01 AM Matthias Kaehlcke <mka@xxxxxxxxxxxx> wrote: > > mickey crams a lot of hardware into a tiny package, which requires > more aggressive thermal throttling than for devices with a larger > footprint. Configure the GPU thermal zone to throttle the GPU > progressively at temperatures >= 60°C. Heat dissipated by the > CPUs also affects the GPU temperature, hence we cap the CPU > frequency to 1.4 GHz for temperatures above 65°C. Further throttling > of the CPUs may be performed by the CPU thermal zone. > > The configuration matches that of the downstram Chrome OS 3.14 s/downstram/downstream > + cooling-maps { > + /* After 1st level throttle the GPU down to as low as 400 MHz */ > + gpu_warmish_limit_gpu { > + trip = <&gpu_alert_warmish>; > + cooling-device = <&gpu THERMAL_NO_LIMIT 1>; As per my comment in patch #1, you are probably ending up throttling to 500 MHz, not 400 MHz. Below will all have similar problems unless we actually delete the 500 MHz operating point. > + }; > + > + /* > + * Slightly after we throttle the GPU, we'll also make sure that > + * the CPU can't go faster than 1.4 GHz. Note that we won't > + * throttle the CPU lower than 1.4 GHz due to GPU heat--we'll > + * let the CPU do the rest itself. > + */ > + gpu_warm_limit_cpu { > + trip = <&gpu_alert_warm>; > + cooling-device = <&cpu0 4 4>; Shouldn't you list cpu1, cpu2, and cpu3 too? That'd match what upstream did elsewhere in this file?