All of lore.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <k.kozlowski@samsung.com>
To: Anand Moon <linux.amoon@gmail.com>
Cc: Kukjin Kim <kgene@kernel.org>,
	Lukasz Majewski <l.majewski@samsung.com>,
	Javier Martinez Canillas <javier@osg.samsung.com>,
	devicetree <devicetree@vger.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	"linux-samsung-soc@vger.kernel.org"
	<linux-samsung-soc@vger.kernel.org>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Subject: Re: [PATCH] ARM: dts: exynos: Only Odroid XU3-family boards use DTSI with CPU thermal nodes
Date: Tue, 10 May 2016 10:15:58 +0200	[thread overview]
Message-ID: <573198BE.6020900@samsung.com> (raw)
In-Reply-To: <CANAwSgT9SY3kj8+beMpc1xGoC=rMBSya+2v2dyZQp6ykH+V0=g@mail.gmail.com>

On 05/10/2016 08:43 AM, Anand Moon wrote:
> Hi Krzysztof ,
> 
> On 9 May 2016 at 11:49, Krzysztof Kozlowski <k.kozlowski@samsung.com> wrote:
>> Include the CPU thermal nodes directly in Odroid XU3-family common DTS
>> because it is the only user of it. Keeping it in separate DTSI node does
>> not bring benefits because:
>> 1. It is not re-usable on other non-fan boards (fan is referenced),
>> 2. It won't be re-used on future Odroid XU board because different
>>    CPU cluster behavior.
>>
>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>> ---
>>  arch/arm/boot/dts/exynos5422-cpu-thermal.dtsi      | 103 ---------------------
>>  arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi |  94 ++++++++++++++++++-
>>  2 files changed, 92 insertions(+), 105 deletions(-)
>>  delete mode 100644 arch/arm/boot/dts/exynos5422-cpu-thermal.dtsi
>>
>> diff --git a/arch/arm/boot/dts/exynos5422-cpu-thermal.dtsi b/arch/arm/boot/dts/exynos5422-cpu-thermal.dtsi
>> deleted file mode 100644
>> index 3e4c4ad96d63..000000000000
>> --- a/arch/arm/boot/dts/exynos5422-cpu-thermal.dtsi
>> +++ /dev/null
>> @@ -1,103 +0,0 @@
>> -/*
>> - * Device tree sources for Exynos5422 thermal zone
>> - *
>> - * Copyright (c) 2015 Lukasz Majewski <l.majewski@samsung.com>
>> - *                     Anand Moon <linux.amoon@gmail.com>
>> - *
>> - * This program is free software; you can redistribute it and/or modify
>> - * it under the terms of the GNU General Public License version 2 as
>> - * published by the Free Software Foundation.
>> - *
>> - */
>> -
>> -#include <dt-bindings/thermal/thermal.h>
>> -
>> -/ {
>> -       thermal-zones {
>> -               cpu0_thermal: cpu0-thermal {
>> -                       thermal-sensors = <&tmu_cpu0 0>;
>> -                       polling-delay-passive = <250>;
>> -                       polling-delay = <0>;
>> -                       trips {
>> -                               cpu_alert0: cpu-alert-0 {
>> -                                       temperature = <50000>; /* millicelsius */
>> -                                       hysteresis = <5000>; /* millicelsius */
>> -                                       type = "active";
>> -                               };
>> -                               cpu_alert1: cpu-alert-1 {
>> -                                       temperature = <60000>; /* millicelsius */
>> -                                       hysteresis = <5000>; /* millicelsius */
>> -                                       type = "active";
>> -                               };
>> -                               cpu_alert2: cpu-alert-2 {
>> -                                       temperature = <70000>; /* millicelsius */
>> -                                       hysteresis = <5000>; /* millicelsius */
>> -                                       type = "active";
>> -                               };
>> -                               cpu_crit0: cpu-crit-0 {
>> -                                       temperature = <120000>; /* millicelsius */
>> -                                       hysteresis = <0>; /* millicelsius */
>> -                                       type = "critical";
>> -                               };
>> -                               /*
>> -                                * Exyunos542x support only 4 trip-points
>> -                                * so for these polling mode is required.
>> -                                * Start polling at temperature level of last
>> -                                * interrupt-driven trip: cpu_alert2
>> -                                */
>> -                               cpu_alert3: cpu-alert-3 {
>> -                                       temperature = <70000>; /* millicelsius */
>> -                                       hysteresis = <10000>; /* millicelsius */
>> -                                       type = "passive";
>> -                               };
>> -                               cpu_alert4: cpu-alert-4 {
>> -                                       temperature = <85000>; /* millicelsius */
>> -                                       hysteresis = <10000>; /* millicelsius */
>> -                                       type = "passive";
>> -                               };
>> -
>> -                       };
>> -                       cooling-maps {
>> -                               map0 {
>> -                                    trip = <&cpu_alert0>;
>> -                                    cooling-device = <&fan0 0 1>;
>> -                               };
>> -                               map1 {
>> -                                    trip = <&cpu_alert1>;
>> -                                    cooling-device = <&fan0 1 2>;
>> -                               };
>> -                               map2 {
>> -                                    trip = <&cpu_alert2>;
>> -                                    cooling-device = <&fan0 2 3>;
>> -                               };
>> -                               /*
>> -                                * When reaching cpu_alert3, reduce CPU
>> -                                * by 2 steps. On Exynos5422/5800 that would
>> -                                * be: 1500 MHz and 1100 MHz.
>> -                                */
>> -                               map3 {
>> -                                    trip = <&cpu_alert3>;
>> -                                    cooling-device = <&cpu0 0 2>;
>> -                               };
>> -                               map4 {
>> -                                    trip = <&cpu_alert3>;
>> -                                    cooling-device = <&cpu4 0 2>;
>> -                               };
>> -
>> -                               /*
>> -                                * When reaching cpu_alert4, reduce CPU
>> -                                * further, down to 600 MHz (11 steps for big,
>> -                                * 7 steps for LITTLE).
>> -                                */
>> -                               map5 {
>> -                                    trip = <&cpu_alert4>;
>> -                                    cooling-device = <&cpu0 3 7>;
>> -                               };
>> -                               map6 {
>> -                                    trip = <&cpu_alert4>;
>> -                                    cooling-device = <&cpu4 3 11>;
>> -                               };
>> -                       };
>> -               };
>> -       };
>> -};
>> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>> index 2a4e10bc8801..ff05041835e5 100644
>> --- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>> @@ -1,9 +1,11 @@
>>  /*
>>   * Hardkernel Odroid XU3 board device tree source
>>   *
>> - * Copyright (c) 2014 Collabora Ltd.
>>   * Copyright (c) 2013 Samsung Electronics Co., Ltd.
>>   *             http://www.samsung.com
>> + * Copyright (c) 2014 Collabora Ltd.
>> + * Copyright (c) 2015 Lukasz Majewski <l.majewski@samsung.com>
>> + *                    Anand Moon <linux.amoon@gmail.com>
>>   *
>>   * This program is free software; you can redistribute it and/or modify
>>   * it under the terms of the GNU General Public License version 2 as
>> @@ -16,7 +18,6 @@
>>  #include <dt-bindings/sound/samsung-i2s.h>
>>  #include "exynos5800.dtsi"
>>  #include "exynos5422-cpus.dtsi"
>> -#include "exynos5422-cpu-thermal.dtsi"
>>
>>  / {
>>         memory {
>> @@ -54,6 +55,95 @@
>>                 #cooling-cells = <2>;
>>                 cooling-levels = <0 130 170 230>;
>>         };
>> +
>> +       thermal-zones {
>> +               cpu0_thermal: cpu0-thermal {
>> +                       thermal-sensors = <&tmu_cpu0 0>;
>> +                       polling-delay-passive = <250>;
>> +                       polling-delay = <0>;
>> +                       trips {
>> +                               cpu_alert0: cpu-alert-0 {
>> +                                       temperature = <50000>; /* millicelsius */
>> +                                       hysteresis = <5000>; /* millicelsius */
>> +                                       type = "active";
>> +                               };
>> +                               cpu_alert1: cpu-alert-1 {
>> +                                       temperature = <60000>; /* millicelsius */
>> +                                       hysteresis = <5000>; /* millicelsius */
>> +                                       type = "active";
>> +                               };
>> +                               cpu_alert2: cpu-alert-2 {
>> +                                       temperature = <70000>; /* millicelsius */
>> +                                       hysteresis = <5000>; /* millicelsius */
>> +                                       type = "active";
>> +                               };
>> +                               cpu_crit0: cpu-crit-0 {
>> +                                       temperature = <120000>; /* millicelsius */
>> +                                       hysteresis = <0>; /* millicelsius */
>> +                                       type = "critical";
>> +                               };
>> +                               /*
>> +                                * Exynos542x supports only 4 trip-points
>> +                                * so for these polling mode is required.
>> +                                * Start polling at temperature level of last
>> +                                * interrupt-driven trip: cpu_alert2
>> +                                */
>> +                               cpu_alert3: cpu-alert-3 {
>> +                                       temperature = <70000>; /* millicelsius */
>> +                                       hysteresis = <10000>; /* millicelsius */
>> +                                       type = "passive";
>> +                               };
>> +                               cpu_alert4: cpu-alert-4 {
>> +                                       temperature = <85000>; /* millicelsius */
>> +                                       hysteresis = <10000>; /* millicelsius */
>> +                                       type = "passive";
>> +                               };
>> +
>> +                       };
>> +                       cooling-maps {
>> +                               map0 {
>> +                                    trip = <&cpu_alert0>;
>> +                                    cooling-device = <&fan0 0 1>;
>> +                               };
>> +                               map1 {
>> +                                    trip = <&cpu_alert1>;
>> +                                    cooling-device = <&fan0 1 2>;
>> +                               };
>> +                               map2 {
>> +                                    trip = <&cpu_alert2>;
>> +                                    cooling-device = <&fan0 2 3>;
>> +                               };
>> +                               /*
>> +                                * When reaching cpu_alert3, reduce CPU
>> +                                * by 2 steps. On Exynos5422/5800 that would
>> +                                * be: 1500 MHz and 1100 MHz.
>> +                                */
>> +                               map3 {
>> +                                    trip = <&cpu_alert3>;
>> +                                    cooling-device = <&cpu0 0 2>;
>> +                               };
>> +                               map4 {
>> +                                    trip = <&cpu_alert3>;
>> +                                    cooling-device = <&cpu4 0 2>;
>> +                               };
>> +
>> +                               /*
>> +                                * When reaching cpu_alert4, reduce CPU
>> +                                * further, down to 600 MHz (11 steps for big,
>> +                                * 7 steps for LITTLE).
>> +                                */
>> +                               map5 {
>> +                                    trip = <&cpu_alert4>;
>> +                                    cooling-device = <&cpu0 3 7>;
>> +                               };
>> +                               map6 {
>> +                                    trip = <&cpu_alert4>;
>> +                                    cooling-device = <&cpu4 3 11>;
>> +                               };
>> +                       };
>> +               };
>> +       };
>> +
>>  };
>>
>>  &bus_wcore {
>> --
>> 1.9.1
>>
> 
> Could you defer this patch, during my testing with pm-qa from linaro.
> 
> git://git.linaro.org/tools/pm-qa.git
> 
> When their is running of thermal test case cpu usage reaches around
> 300+ percentage
> and some time's the Odroid XU4 hang down.
> -------------------------------------------------------------------------
> [ 1028.056619] CPU4: shutdown
> [ 1148.510372] IRQ54 no longer affine to CPU5
> [ 1148.511864] CPU5: shutdown
> [ 1268.921073] IRQ55 no longer affine to CPU6
> [ 1268.922564] CPU6: shutdown
> [ 1389.271930] cpu cpu4: Failed to find opp_table: -19
> [ 1389.301668] IRQ56 no longer affine to CPU7
> [ 1389.303132] CPU7: shutdown
> [ 1510.538424] cpu cpu4: opp_list_debug_create_link: Failed to create link
> [ 1510.543762] cpu cpu4: _add_opp_dev: Failed to register opp debugfs (-12)
> [ 1510.550625] cpu cpu7: opp_list_debug_create_link: Failed to create link
> [ 1510.557037] cpu cpu7: _add_opp_dev: Failed to register opp debugfs (-12)
> [ 1510.664649] cpu cpu5: cpufreq_init: failed to get clk: -2
> [ 1510.720567] cpu cpu6: cpufreq_init: failed to get clk: -2
> [ 1510.788280] cpu cpu7: cpufreq_init: failed to get clk: -2
> root@odroidxu4l:/home/odroid/study/linaro/pm-qa# killall heat_cpu
> 
> -------------------------------------------------------------------------
> And some time I observed that the board will poweroff on reaching
> temperature 120 degree C.
> when I am compiling the kernel with or above. make -j8
> -------------------------------------------------------------------------
> root@odroidxu4l:~#  * Starting NTP server ntpd                           [ OK ]
> saned disabled; edit /etc/default/saned
> [ 4118.924470] thermal thermal_zone3: critical temperature reached(121
> C),shutting down
> [ 4119.014327] thermal thermal_zone3: critical temperature reached(121
> C),shutting down
> 
> Broadcast message from root@odroidxu4l
>         (unknown) at 20:41 ...
> 
> The system is going down for power off NOW!
> 
> Broadcast message from root@odroidxu4l
>         (unknown) at 20:41 ...
> 
> The system is going down for power off NOW!
> [ 4119.431386] thermal thermal_zone3: critical temperature reached(121
> C),shutting down
> [ 4120.206709] thermal thermal_zone3: critical temperature reached(120
> C),shutting down
> 
> Broadcast message from root@odroidxu4l
>         (unknown) at 20:41 ...
> 
> The system is going down for power off NOW!
> wait-for-state stop/waiting
> [ 4157.574406] reboo
> 
> U-Boot 2016.03-00665-g563d8d9-dirty (Apr 04 2016 - 22:27:07 +0930) for
> ODROID-XU3
> 
> CPU:   Exynos5422 @ 800 MHz
> Model: Odroid XU3 based on EXYNOS5422
> Board: Odroid XU3 based on EXYNOS5422
> Type:  xu4
> DRAM:  2 GiB
> MMC:   EXYNOS DWMMC: 0, EXYNOS DWMMC: 1
> *** Warning - bad CRC, using default environment
> -------------------------------------------------------------------------
> Once the thermal issue is fixed we can redo this changes.

I am sorry but I do not understand.
1. Are you saying that my patch causes the issue?
2. Are you saying that I should not send some patches because of
conflicting work? (that would be peculiar...)
3. Are you saying that I should not apply this patch to me tree because
of conflicting work?
4. Other?

Best regards.
Krzysztof

WARNING: multiple messages have this Message-ID (diff)
From: k.kozlowski@samsung.com (Krzysztof Kozlowski)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: dts: exynos: Only Odroid XU3-family boards use DTSI with CPU thermal nodes
Date: Tue, 10 May 2016 10:15:58 +0200	[thread overview]
Message-ID: <573198BE.6020900@samsung.com> (raw)
In-Reply-To: <CANAwSgT9SY3kj8+beMpc1xGoC=rMBSya+2v2dyZQp6ykH+V0=g@mail.gmail.com>

On 05/10/2016 08:43 AM, Anand Moon wrote:
> Hi Krzysztof ,
> 
> On 9 May 2016 at 11:49, Krzysztof Kozlowski <k.kozlowski@samsung.com> wrote:
>> Include the CPU thermal nodes directly in Odroid XU3-family common DTS
>> because it is the only user of it. Keeping it in separate DTSI node does
>> not bring benefits because:
>> 1. It is not re-usable on other non-fan boards (fan is referenced),
>> 2. It won't be re-used on future Odroid XU board because different
>>    CPU cluster behavior.
>>
>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>> ---
>>  arch/arm/boot/dts/exynos5422-cpu-thermal.dtsi      | 103 ---------------------
>>  arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi |  94 ++++++++++++++++++-
>>  2 files changed, 92 insertions(+), 105 deletions(-)
>>  delete mode 100644 arch/arm/boot/dts/exynos5422-cpu-thermal.dtsi
>>
>> diff --git a/arch/arm/boot/dts/exynos5422-cpu-thermal.dtsi b/arch/arm/boot/dts/exynos5422-cpu-thermal.dtsi
>> deleted file mode 100644
>> index 3e4c4ad96d63..000000000000
>> --- a/arch/arm/boot/dts/exynos5422-cpu-thermal.dtsi
>> +++ /dev/null
>> @@ -1,103 +0,0 @@
>> -/*
>> - * Device tree sources for Exynos5422 thermal zone
>> - *
>> - * Copyright (c) 2015 Lukasz Majewski <l.majewski@samsung.com>
>> - *                     Anand Moon <linux.amoon@gmail.com>
>> - *
>> - * This program is free software; you can redistribute it and/or modify
>> - * it under the terms of the GNU General Public License version 2 as
>> - * published by the Free Software Foundation.
>> - *
>> - */
>> -
>> -#include <dt-bindings/thermal/thermal.h>
>> -
>> -/ {
>> -       thermal-zones {
>> -               cpu0_thermal: cpu0-thermal {
>> -                       thermal-sensors = <&tmu_cpu0 0>;
>> -                       polling-delay-passive = <250>;
>> -                       polling-delay = <0>;
>> -                       trips {
>> -                               cpu_alert0: cpu-alert-0 {
>> -                                       temperature = <50000>; /* millicelsius */
>> -                                       hysteresis = <5000>; /* millicelsius */
>> -                                       type = "active";
>> -                               };
>> -                               cpu_alert1: cpu-alert-1 {
>> -                                       temperature = <60000>; /* millicelsius */
>> -                                       hysteresis = <5000>; /* millicelsius */
>> -                                       type = "active";
>> -                               };
>> -                               cpu_alert2: cpu-alert-2 {
>> -                                       temperature = <70000>; /* millicelsius */
>> -                                       hysteresis = <5000>; /* millicelsius */
>> -                                       type = "active";
>> -                               };
>> -                               cpu_crit0: cpu-crit-0 {
>> -                                       temperature = <120000>; /* millicelsius */
>> -                                       hysteresis = <0>; /* millicelsius */
>> -                                       type = "critical";
>> -                               };
>> -                               /*
>> -                                * Exyunos542x support only 4 trip-points
>> -                                * so for these polling mode is required.
>> -                                * Start polling at temperature level of last
>> -                                * interrupt-driven trip: cpu_alert2
>> -                                */
>> -                               cpu_alert3: cpu-alert-3 {
>> -                                       temperature = <70000>; /* millicelsius */
>> -                                       hysteresis = <10000>; /* millicelsius */
>> -                                       type = "passive";
>> -                               };
>> -                               cpu_alert4: cpu-alert-4 {
>> -                                       temperature = <85000>; /* millicelsius */
>> -                                       hysteresis = <10000>; /* millicelsius */
>> -                                       type = "passive";
>> -                               };
>> -
>> -                       };
>> -                       cooling-maps {
>> -                               map0 {
>> -                                    trip = <&cpu_alert0>;
>> -                                    cooling-device = <&fan0 0 1>;
>> -                               };
>> -                               map1 {
>> -                                    trip = <&cpu_alert1>;
>> -                                    cooling-device = <&fan0 1 2>;
>> -                               };
>> -                               map2 {
>> -                                    trip = <&cpu_alert2>;
>> -                                    cooling-device = <&fan0 2 3>;
>> -                               };
>> -                               /*
>> -                                * When reaching cpu_alert3, reduce CPU
>> -                                * by 2 steps. On Exynos5422/5800 that would
>> -                                * be: 1500 MHz and 1100 MHz.
>> -                                */
>> -                               map3 {
>> -                                    trip = <&cpu_alert3>;
>> -                                    cooling-device = <&cpu0 0 2>;
>> -                               };
>> -                               map4 {
>> -                                    trip = <&cpu_alert3>;
>> -                                    cooling-device = <&cpu4 0 2>;
>> -                               };
>> -
>> -                               /*
>> -                                * When reaching cpu_alert4, reduce CPU
>> -                                * further, down to 600 MHz (11 steps for big,
>> -                                * 7 steps for LITTLE).
>> -                                */
>> -                               map5 {
>> -                                    trip = <&cpu_alert4>;
>> -                                    cooling-device = <&cpu0 3 7>;
>> -                               };
>> -                               map6 {
>> -                                    trip = <&cpu_alert4>;
>> -                                    cooling-device = <&cpu4 3 11>;
>> -                               };
>> -                       };
>> -               };
>> -       };
>> -};
>> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>> index 2a4e10bc8801..ff05041835e5 100644
>> --- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
>> @@ -1,9 +1,11 @@
>>  /*
>>   * Hardkernel Odroid XU3 board device tree source
>>   *
>> - * Copyright (c) 2014 Collabora Ltd.
>>   * Copyright (c) 2013 Samsung Electronics Co., Ltd.
>>   *             http://www.samsung.com
>> + * Copyright (c) 2014 Collabora Ltd.
>> + * Copyright (c) 2015 Lukasz Majewski <l.majewski@samsung.com>
>> + *                    Anand Moon <linux.amoon@gmail.com>
>>   *
>>   * This program is free software; you can redistribute it and/or modify
>>   * it under the terms of the GNU General Public License version 2 as
>> @@ -16,7 +18,6 @@
>>  #include <dt-bindings/sound/samsung-i2s.h>
>>  #include "exynos5800.dtsi"
>>  #include "exynos5422-cpus.dtsi"
>> -#include "exynos5422-cpu-thermal.dtsi"
>>
>>  / {
>>         memory {
>> @@ -54,6 +55,95 @@
>>                 #cooling-cells = <2>;
>>                 cooling-levels = <0 130 170 230>;
>>         };
>> +
>> +       thermal-zones {
>> +               cpu0_thermal: cpu0-thermal {
>> +                       thermal-sensors = <&tmu_cpu0 0>;
>> +                       polling-delay-passive = <250>;
>> +                       polling-delay = <0>;
>> +                       trips {
>> +                               cpu_alert0: cpu-alert-0 {
>> +                                       temperature = <50000>; /* millicelsius */
>> +                                       hysteresis = <5000>; /* millicelsius */
>> +                                       type = "active";
>> +                               };
>> +                               cpu_alert1: cpu-alert-1 {
>> +                                       temperature = <60000>; /* millicelsius */
>> +                                       hysteresis = <5000>; /* millicelsius */
>> +                                       type = "active";
>> +                               };
>> +                               cpu_alert2: cpu-alert-2 {
>> +                                       temperature = <70000>; /* millicelsius */
>> +                                       hysteresis = <5000>; /* millicelsius */
>> +                                       type = "active";
>> +                               };
>> +                               cpu_crit0: cpu-crit-0 {
>> +                                       temperature = <120000>; /* millicelsius */
>> +                                       hysteresis = <0>; /* millicelsius */
>> +                                       type = "critical";
>> +                               };
>> +                               /*
>> +                                * Exynos542x supports only 4 trip-points
>> +                                * so for these polling mode is required.
>> +                                * Start polling at temperature level of last
>> +                                * interrupt-driven trip: cpu_alert2
>> +                                */
>> +                               cpu_alert3: cpu-alert-3 {
>> +                                       temperature = <70000>; /* millicelsius */
>> +                                       hysteresis = <10000>; /* millicelsius */
>> +                                       type = "passive";
>> +                               };
>> +                               cpu_alert4: cpu-alert-4 {
>> +                                       temperature = <85000>; /* millicelsius */
>> +                                       hysteresis = <10000>; /* millicelsius */
>> +                                       type = "passive";
>> +                               };
>> +
>> +                       };
>> +                       cooling-maps {
>> +                               map0 {
>> +                                    trip = <&cpu_alert0>;
>> +                                    cooling-device = <&fan0 0 1>;
>> +                               };
>> +                               map1 {
>> +                                    trip = <&cpu_alert1>;
>> +                                    cooling-device = <&fan0 1 2>;
>> +                               };
>> +                               map2 {
>> +                                    trip = <&cpu_alert2>;
>> +                                    cooling-device = <&fan0 2 3>;
>> +                               };
>> +                               /*
>> +                                * When reaching cpu_alert3, reduce CPU
>> +                                * by 2 steps. On Exynos5422/5800 that would
>> +                                * be: 1500 MHz and 1100 MHz.
>> +                                */
>> +                               map3 {
>> +                                    trip = <&cpu_alert3>;
>> +                                    cooling-device = <&cpu0 0 2>;
>> +                               };
>> +                               map4 {
>> +                                    trip = <&cpu_alert3>;
>> +                                    cooling-device = <&cpu4 0 2>;
>> +                               };
>> +
>> +                               /*
>> +                                * When reaching cpu_alert4, reduce CPU
>> +                                * further, down to 600 MHz (11 steps for big,
>> +                                * 7 steps for LITTLE).
>> +                                */
>> +                               map5 {
>> +                                    trip = <&cpu_alert4>;
>> +                                    cooling-device = <&cpu0 3 7>;
>> +                               };
>> +                               map6 {
>> +                                    trip = <&cpu_alert4>;
>> +                                    cooling-device = <&cpu4 3 11>;
>> +                               };
>> +                       };
>> +               };
>> +       };
>> +
>>  };
>>
>>  &bus_wcore {
>> --
>> 1.9.1
>>
> 
> Could you defer this patch, during my testing with pm-qa from linaro.
> 
> git://git.linaro.org/tools/pm-qa.git
> 
> When their is running of thermal test case cpu usage reaches around
> 300+ percentage
> and some time's the Odroid XU4 hang down.
> -------------------------------------------------------------------------
> [ 1028.056619] CPU4: shutdown
> [ 1148.510372] IRQ54 no longer affine to CPU5
> [ 1148.511864] CPU5: shutdown
> [ 1268.921073] IRQ55 no longer affine to CPU6
> [ 1268.922564] CPU6: shutdown
> [ 1389.271930] cpu cpu4: Failed to find opp_table: -19
> [ 1389.301668] IRQ56 no longer affine to CPU7
> [ 1389.303132] CPU7: shutdown
> [ 1510.538424] cpu cpu4: opp_list_debug_create_link: Failed to create link
> [ 1510.543762] cpu cpu4: _add_opp_dev: Failed to register opp debugfs (-12)
> [ 1510.550625] cpu cpu7: opp_list_debug_create_link: Failed to create link
> [ 1510.557037] cpu cpu7: _add_opp_dev: Failed to register opp debugfs (-12)
> [ 1510.664649] cpu cpu5: cpufreq_init: failed to get clk: -2
> [ 1510.720567] cpu cpu6: cpufreq_init: failed to get clk: -2
> [ 1510.788280] cpu cpu7: cpufreq_init: failed to get clk: -2
> root at odroidxu4l:/home/odroid/study/linaro/pm-qa# killall heat_cpu
> 
> -------------------------------------------------------------------------
> And some time I observed that the board will poweroff on reaching
> temperature 120 degree C.
> when I am compiling the kernel with or above. make -j8
> -------------------------------------------------------------------------
> root at odroidxu4l:~#  * Starting NTP server ntpd                           [ OK ]
> saned disabled; edit /etc/default/saned
> [ 4118.924470] thermal thermal_zone3: critical temperature reached(121
> C),shutting down
> [ 4119.014327] thermal thermal_zone3: critical temperature reached(121
> C),shutting down
> 
> Broadcast message from root at odroidxu4l
>         (unknown) at 20:41 ...
> 
> The system is going down for power off NOW!
> 
> Broadcast message from root at odroidxu4l
>         (unknown) at 20:41 ...
> 
> The system is going down for power off NOW!
> [ 4119.431386] thermal thermal_zone3: critical temperature reached(121
> C),shutting down
> [ 4120.206709] thermal thermal_zone3: critical temperature reached(120
> C),shutting down
> 
> Broadcast message from root at odroidxu4l
>         (unknown) at 20:41 ...
> 
> The system is going down for power off NOW!
> wait-for-state stop/waiting
> [ 4157.574406] reboo
> 
> U-Boot 2016.03-00665-g563d8d9-dirty (Apr 04 2016 - 22:27:07 +0930) for
> ODROID-XU3
> 
> CPU:   Exynos5422 @ 800 MHz
> Model: Odroid XU3 based on EXYNOS5422
> Board: Odroid XU3 based on EXYNOS5422
> Type:  xu4
> DRAM:  2 GiB
> MMC:   EXYNOS DWMMC: 0, EXYNOS DWMMC: 1
> *** Warning - bad CRC, using default environment
> -------------------------------------------------------------------------
> Once the thermal issue is fixed we can redo this changes.

I am sorry but I do not understand.
1. Are you saying that my patch causes the issue?
2. Are you saying that I should not send some patches because of
conflicting work? (that would be peculiar...)
3. Are you saying that I should not apply this patch to me tree because
of conflicting work?
4. Other?

Best regards.
Krzysztof

  reply	other threads:[~2016-05-10  8:16 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-09  6:19 [PATCH] ARM: dts: exynos: Only Odroid XU3-family boards use DTSI with CPU thermal nodes Krzysztof Kozlowski
2016-05-09  6:19 ` Krzysztof Kozlowski
2016-05-09 16:44 ` Javier Martinez Canillas
2016-05-09 16:44   ` Javier Martinez Canillas
2016-05-10  6:43 ` Anand Moon
2016-05-10  6:43   ` Anand Moon
2016-05-10  8:15   ` Krzysztof Kozlowski [this message]
2016-05-10  8:15     ` Krzysztof Kozlowski
2016-05-10  9:29     ` Anand Moon
2016-05-10  9:29       ` Anand Moon
2016-05-10 12:43       ` Krzysztof Kozlowski
2016-05-10 12:43         ` Krzysztof Kozlowski
2016-05-10 14:00         ` Anand Moon
2016-05-10 14:00           ` Anand Moon
2016-05-10 14:03           ` Krzysztof Kozlowski
2016-05-10 14:03             ` Krzysztof Kozlowski
     [not found]             ` <5731EA1B.4070201-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2016-05-10 19:45               ` Anand Moon
2016-05-10 19:45                 ` Anand Moon
2016-05-10 19:45                 ` Anand Moon
2016-05-11  5:49                 ` Krzysztof Kozlowski
2016-05-11  5:49                   ` Krzysztof Kozlowski
2016-05-11  7:28                   ` Anand Moon
2016-05-11  7:28                     ` Anand Moon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=573198BE.6020900@samsung.com \
    --to=k.kozlowski@samsung.com \
    --cc=b.zolnierkie@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=javier@osg.samsung.com \
    --cc=kgene@kernel.org \
    --cc=l.majewski@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux.amoon@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.