On 16/11/2018 11:04, Viresh Kumar wrote:
> Each CPU can (and does) participate in cooling down the system but the
> DT only captures a handful of them, normally CPU0, in the cooling maps.
> Things work by chance currently as under normal circumstances its the
> first CPU of each cluster which is used by the operating systems to
> probe the cooling devices. But as soon as this CPU ordering changes and
> any other CPU is used to bring up the cooling device, we will start
> seeing failures.
> 
> Also the DT is rather incomplete when we list only one CPU in the
> cooling maps, as the hardware doesn't have any such limitations.
> 
> Update cooling maps to include all devices affected by individual trip
> points.
> 
> Signed-off-by: Viresh Kumar <[email protected]>
> ---
>  .../dts/amlogic/meson-gxm-khadas-vim2.dts     | 22 ++++++++-----------
>  1 file changed, 9 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts 
> b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
> index 313f88f8759e..cfc92d06a28f 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
> +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
> @@ -132,19 +132,15 @@
>  
>                               map1 {
>                                       trip = <&cpu_alert1>;
> -                                     cooling-device = <&gpio_fan 2 
> THERMAL_NO_LIMIT>;
> -                             };
> -
> -                             map2 {
> -                                     trip = <&cpu_alert1>;
> -                                     cooling-device =
> -                                             <&cpu0 THERMAL_NO_LIMIT 
> THERMAL_NO_LIMIT>;
> -                             };
> -
> -                             map3 {
> -                                     trip = <&cpu_alert1>;
> -                                     cooling-device =
> -                                             <&cpu4 THERMAL_NO_LIMIT 
> THERMAL_NO_LIMIT>;
> +                                     cooling-device = <&gpio_fan 2 
> THERMAL_NO_LIMIT>,
> +                                                      <&cpu0 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +                                                      <&cpu1 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +                                                      <&cpu2 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +                                                      <&cpu3 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +                                                      <&cpu4 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +                                                      <&cpu5 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +                                                      <&cpu6 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
> +                                                      <&cpu7 
> THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
>                               };
>                       };
>               };
> 

Acked-by: Neil Armstrong <[email protected]>

Reply via email to