* [PATCH v3,0/8] Add Mediatek thermal dirver and dtsi
@ 2020-01-03 6:43 Michael Kao
2020-01-03 6:44 ` [PATCH v3,5/8] arm64: dts: mt8183: Increase polling frequency for CPU thermal zone Michael Kao
` (5 more replies)
0 siblings, 6 replies; 12+ messages in thread
From: Michael Kao @ 2020-01-03 6:43 UTC (permalink / raw)
To: Zhang Rui, Eduardo Valentin, Daniel Lezcano, Rob Herring,
Mark Rutland, Matthias Brugger, hsinyi, linux-pm, srv_heupstream
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek
This patchset supports for MT8183 chip to mtk_thermal.c.
Add thermal zone of all the thermal sensor in SoC for
another get temperatrue. They don't need to thermal throttle.
And we bind coolers for thermal zone nodes of cpu_thermal.
Rebase to kernel-5.5-rc1.
Update content:
[1/8]
Update sustainable power of cpu, tzts1~5 and tztsABB.
[7/8]
Bypass the failure that non cpu_thermal sensor is not find in thermal-zones
in dts, which is normal for mt8173, so prompt a warning here instead of
failing.
Return -EAGAIN instead of -EACCESS on the first read of sensor that
often are bogus values. This can avoid following warning on boot:
thermal thermal_zone6: failed to read out thermal zone (-13)
This patch series base on these patches [1][2][3][4].
[1]support for reading chip ID and efuse (https://patchwork.kernel.org/patch/10902131/)
[2]arm64: dts: mt8183: Add reset-cells in infracfg (https://patchwork.kernel.org/patch/10908653/)
[3]clk: reset: Modify reset-controller driver (https://patchwork.kernel.org/patch/10908657/)
[4]PM / AVS: SVS: Introduce SVS engine (https://patchwork.kernel.org/patch/10923289/)
Matthias Kaehlcke (2):
arm64: dts: mt8183: Configure CPU cooling
arm64: dts: mt8183: Increase polling frequency for CPU thermal zone
Michael Kao (6):
arm64: dts: mt8183: add thermal zone node
arm64: dts: mt8183: add/update dynamic power coefficients
arm64: dts: mt8183: Add #cooling-cells to CPU nodes
thermal: mediatek: mt8183: fix bank number settings
thermal: mediatek: add another get_temp ops for thermal sensors
thermal: mediatek: use spinlock to protect PTPCORESEL
arch/arm64/boot/dts/mediatek/mt8183.dtsi | 157 +++++++++++++++++++++++
drivers/thermal/mtk_thermal.c | 88 +++++++++++--
2 files changed, 231 insertions(+), 14 deletions(-)
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3,5/8] arm64: dts: mt8183: Increase polling frequency for CPU thermal zone
2020-01-03 6:43 [PATCH v3,0/8] Add Mediatek thermal dirver and dtsi Michael Kao
@ 2020-01-03 6:44 ` Michael Kao
2020-01-03 6:44 ` [PATCH v3,7/8] thermal: mediatek: add another get_temp ops for thermal sensors Michael Kao
` (4 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: Michael Kao @ 2020-01-03 6:44 UTC (permalink / raw)
To: Zhang Rui, Eduardo Valentin, Daniel Lezcano, Rob Herring,
Mark Rutland, Matthias Brugger, hsinyi, linux-pm, srv_heupstream
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek,
Matthias Kaehlcke, Michael Kao
From: Matthias Kaehlcke <mka@chromium.org>
Evaluate the thermal zone every 500ms while not cooling and every
100ms when passive cooling is performed.
Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Michael Kao <michael.kao@mediatek.com>
---
arch/arm64/boot/dts/mediatek/mt8183.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
index 78575c3183a4..042ef48f3efe 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
@@ -605,8 +605,8 @@
thermal-zones {
cpu_thermal: cpu_thermal {
- polling-delay-passive = <1000>;
- polling-delay = <1000>;
+ polling-delay-passive = <100>;
+ polling-delay = <500>;
thermal-sensors = <&thermal 0>;
sustainable-power = <5000>;
--
2.18.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v3,7/8] thermal: mediatek: add another get_temp ops for thermal sensors
2020-01-03 6:43 [PATCH v3,0/8] Add Mediatek thermal dirver and dtsi Michael Kao
2020-01-03 6:44 ` [PATCH v3,5/8] arm64: dts: mt8183: Increase polling frequency for CPU thermal zone Michael Kao
@ 2020-01-03 6:44 ` Michael Kao
[not found] ` <20200103064407.19861-7-michael.kao@mediatek.com>
` (3 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: Michael Kao @ 2020-01-03 6:44 UTC (permalink / raw)
To: Zhang Rui, Eduardo Valentin, Daniel Lezcano, Rob Herring,
Mark Rutland, Matthias Brugger, hsinyi, linux-pm, srv_heupstream
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek, Michael Kao
Provide thermal zone to read thermal sensor
in the SoC. We can read all the thermal sensors
value in the SoC by the node /sys/class/thermal/
Bypass the failure that non cpu_thermal sensor is not find in thermal-zones
in dts, which is normal for mt8173, so prompt a warning here instead of
failing.
Return -EAGAIN instead of -EACCESS on the first read of sensor that
often are bogus values. This can avoid following warning on boot:
thermal thermal_zone6: failed to read out thermal zone (-13)
Signed-off-by: Michael Kao <michael.kao@mediatek.com>
Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
---
drivers/thermal/mtk_thermal.c | 74 +++++++++++++++++++++++++++++++----
1 file changed, 66 insertions(+), 8 deletions(-)
diff --git a/drivers/thermal/mtk_thermal.c b/drivers/thermal/mtk_thermal.c
index d6fabd0a7da6..9be9fcb18d9e 100644
--- a/drivers/thermal/mtk_thermal.c
+++ b/drivers/thermal/mtk_thermal.c
@@ -225,6 +225,11 @@ enum {
struct mtk_thermal;
+struct mtk_thermal_zone {
+ struct mtk_thermal *mt;
+ int id;
+};
+
struct thermal_bank_cfg {
unsigned int num_sensors;
const int *sensors;
@@ -607,7 +612,7 @@ static int mtk_thermal_bank_temperature(struct mtk_thermal_bank *bank)
* not immediately shut down.
*/
if (temp > 200000)
- temp = 0;
+ temp = -EAGAIN;
if (temp > max)
max = temp;
@@ -618,7 +623,8 @@ static int mtk_thermal_bank_temperature(struct mtk_thermal_bank *bank)
static int mtk_read_temp(void *data, int *temperature)
{
- struct mtk_thermal *mt = data;
+ struct mtk_thermal_zone *tz = data;
+ struct mtk_thermal *mt = tz->mt;
int i;
int tempmax = INT_MIN;
@@ -631,16 +637,48 @@ static int mtk_read_temp(void *data, int *temperature)
mtk_thermal_put_bank(bank);
}
-
*temperature = tempmax;
return 0;
}
+static int mtk_read_sensor_temp(void *data, int *temperature)
+{
+ struct mtk_thermal_zone *tz = data;
+ struct mtk_thermal *mt = tz->mt;
+ const struct mtk_thermal_data *conf = mt->conf;
+ int id = tz->id - 1;
+ int temp = INT_MIN;
+ u32 raw;
+
+ if (id < 0)
+ return -EACCES;
+
+ raw = readl(mt->thermal_base + conf->msr[id]);
+
+ temp = raw_to_mcelsius(mt, id, raw);
+
+ /*
+ * The first read of a sensor often contains very high bogus
+ * temperature value. Filter these out so that the system does
+ * not immediately shut down.
+ */
+
+ if (temp > 200000)
+ return -EAGAIN;
+
+ *temperature = temp;
+ return 0;
+}
+
static const struct thermal_zone_of_device_ops mtk_thermal_ops = {
.get_temp = mtk_read_temp,
};
+static const struct thermal_zone_of_device_ops mtk_thermal_sensor_ops = {
+ .get_temp = mtk_read_sensor_temp,
+};
+
static void mtk_thermal_init_bank(struct mtk_thermal *mt, int num,
u32 apmixed_phys_base, u32 auxadc_phys_base,
int ctrl_id)
@@ -873,6 +911,7 @@ static int mtk_thermal_probe(struct platform_device *pdev)
struct resource *res;
u64 auxadc_phys_base, apmixed_phys_base;
struct thermal_zone_device *tzdev;
+ struct mtk_thermal_zone *tz;
mt = devm_kzalloc(&pdev->dev, sizeof(*mt), GFP_KERNEL);
if (!mt)
@@ -954,11 +993,30 @@ static int mtk_thermal_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, mt);
- tzdev = devm_thermal_zone_of_sensor_register(&pdev->dev, 0, mt,
- &mtk_thermal_ops);
- if (IS_ERR(tzdev)) {
- ret = PTR_ERR(tzdev);
- goto err_disable_clk_peri_therm;
+ for (i = 0; i < mt->conf->num_sensors + 1; i++) {
+ tz = kmalloc(sizeof(*tz), GFP_KERNEL);
+ if (!tz)
+ return -ENOMEM;
+
+ tz->mt = mt;
+ tz->id = i;
+
+ tzdev = devm_thermal_zone_of_sensor_register(&pdev->dev, i,
+ tz, (i == 0) ?
+ &mtk_thermal_ops : &mtk_thermal_sensor_ops);
+
+ if (IS_ERR(tzdev)) {
+ if (PTR_ERR(tzdev) == -ENODEV) {
+ dev_warn(&pdev->dev,
+ "sensor %d not registered in thermal zone in dt\n",
+ i);
+ continue;
+ }
+ if (IS_ERR(tzdev) != -EACCES) {
+ ret = PTR_ERR(tzdev);
+ goto err_disable_clk_peri_therm;
+ }
+ }
}
return 0;
--
2.18.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v3,6/8] thermal: mediatek: mt8183: fix bank number settings
[not found] ` <20200103064407.19861-7-michael.kao@mediatek.com>
@ 2020-01-08 9:58 ` Hsin-Yi Wang
0 siblings, 0 replies; 12+ messages in thread
From: Hsin-Yi Wang @ 2020-01-08 9:58 UTC (permalink / raw)
To: Michael Kao
Cc: Zhang Rui, Eduardo Valentin, Daniel Lezcano, Rob Herring,
Mark Rutland, Matthias Brugger, linux-pm, srv_heupstream,
Devicetree List, lkml,
moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
linux-mediatek
On Fri, Jan 3, 2020 at 2:44 PM Michael Kao <michael.kao@mediatek.com> wrote:
>
> MT8183_NUM_ZONES should be set to 1
> because MT8183 doesn't have multiple banks.
>
> Fixes: a4ffe6b52d27 ("thermal: mediatek: add support for MT8183")
> Signed-off-by: Michael Kao <michael.kao@mediatek.com>
> ---
Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3,1/8] arm64: dts: mt8183: add thermal zone node
[not found] ` <20200103064407.19861-2-michael.kao@mediatek.com>
@ 2020-01-09 11:31 ` Daniel Lezcano
[not found] ` <1581391046.31005.12.camel@mtksdccf07>
2020-02-20 20:56 ` Matthias Brugger
1 sibling, 1 reply; 12+ messages in thread
From: Daniel Lezcano @ 2020-01-09 11:31 UTC (permalink / raw)
To: Michael Kao, Zhang Rui, Eduardo Valentin, Rob Herring,
Mark Rutland, Matthias Brugger, hsinyi, linux-pm, srv_heupstream
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek
On 03/01/2020 07:44, Michael Kao wrote:
> From: "michael.kao" <michael.kao@mediatek.com>
>
> Add thermal zone node to Mediatek MT8183 dts file.
>
> Signed-off-by: Michael Kao <michael.kao@mediatek.com>
> ---
> arch/arm64/boot/dts/mediatek/mt8183.dtsi | 85 ++++++++++++++++++++++++
> 1 file changed, 85 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> index 10b32471bc7b..a2793cf3d994 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> @@ -570,6 +570,88 @@
> status = "disabled";
> };
>
> + thermal: thermal@1100b000 {
> + #thermal-sensor-cells = <1>;
> + compatible = "mediatek,mt8183-thermal";
> + reg = <0 0x1100b000 0 0x1000>;
> + interrupts = <0 76 IRQ_TYPE_LEVEL_LOW>;
What is this interrupt for?
> + clocks = <&infracfg CLK_INFRA_THERM>,
> + <&infracfg CLK_INFRA_AUXADC>;
> + clock-names = "therm", "auxadc";
> + resets = <&infracfg MT8183_INFRACFG_AO_THERM_SW_RST>;
> + mediatek,auxadc = <&auxadc>;
> + mediatek,apmixedsys = <&apmixedsys>;
> + mediatek,hw-reset-temp = <117000>;
> + nvmem-cells = <&thermal_calibration>;
> + nvmem-cell-names = "calibration-data";
> + };
> +
> + thermal-zones {
> + cpu_thermal: cpu_thermal {
> + polling-delay-passive = <1000>;
> + polling-delay = <1000>;
[ ... ]
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3,2/8] arm64: dts: mt8183: add/update dynamic power coefficients
[not found] ` <20200103064407.19861-3-michael.kao@mediatek.com>
@ 2020-01-10 14:40 ` Matthias Brugger
[not found] ` <1581386733.31005.6.camel@mtksdccf07>
0 siblings, 1 reply; 12+ messages in thread
From: Matthias Brugger @ 2020-01-10 14:40 UTC (permalink / raw)
To: Michael Kao, Zhang Rui, Eduardo Valentin, Daniel Lezcano,
Rob Herring, Mark Rutland, hsinyi, linux-pm, srv_heupstream
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek
On 03/01/2020 07:44, Michael Kao wrote:
> From: "michael.kao" <michael.kao@mediatek.com>
>
> Add dynamic power coefficients for all cores and update those of
> CPU0 and CPU4.
No update in this patch. I suppose it need rewording.
Regards,
Matthias
>
> Signed-off-by: Michael Kao <michael.kao@mediatek.com>
> ---
> arch/arm64/boot/dts/mediatek/mt8183.dtsi | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> index a2793cf3d994..cfb74af260e0 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> @@ -73,6 +73,7 @@
> reg = <0x000>;
> enable-method = "psci";
> capacity-dmips-mhz = <741>;
> + dynamic-power-coefficient = <84>;
> };
>
> cpu1: cpu@1 {
> @@ -81,6 +82,7 @@
> reg = <0x001>;
> enable-method = "psci";
> capacity-dmips-mhz = <741>;
> + dynamic-power-coefficient = <84>;
> };
>
> cpu2: cpu@2 {
> @@ -89,6 +91,7 @@
> reg = <0x002>;
> enable-method = "psci";
> capacity-dmips-mhz = <741>;
> + dynamic-power-coefficient = <84>;
> };
>
> cpu3: cpu@3 {
> @@ -97,6 +100,7 @@
> reg = <0x003>;
> enable-method = "psci";
> capacity-dmips-mhz = <741>;
> + dynamic-power-coefficient = <84>;
> };
>
> cpu4: cpu@100 {
> @@ -105,6 +109,7 @@
> reg = <0x100>;
> enable-method = "psci";
> capacity-dmips-mhz = <1024>;
> + dynamic-power-coefficient = <211>;
> };
>
> cpu5: cpu@101 {
> @@ -113,6 +118,7 @@
> reg = <0x101>;
> enable-method = "psci";
> capacity-dmips-mhz = <1024>;
> + dynamic-power-coefficient = <211>;
> };
>
> cpu6: cpu@102 {
> @@ -121,6 +127,7 @@
> reg = <0x102>;
> enable-method = "psci";
> capacity-dmips-mhz = <1024>;
> + dynamic-power-coefficient = <211>;
> };
>
> cpu7: cpu@103 {
> @@ -129,6 +136,7 @@
> reg = <0x103>;
> enable-method = "psci";
> capacity-dmips-mhz = <1024>;
> + dynamic-power-coefficient = <211>;
> };
> };
>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3,1/8] arm64: dts: mt8183: add thermal zone node
[not found] ` <1581391046.31005.12.camel@mtksdccf07>
@ 2020-02-20 11:52 ` Daniel Lezcano
2020-02-20 20:57 ` Matthias Brugger
0 siblings, 1 reply; 12+ messages in thread
From: Daniel Lezcano @ 2020-02-20 11:52 UTC (permalink / raw)
To: Michael Kao
Cc: Zhang Rui, Eduardo Valentin, Rob Herring, Mark Rutland,
Matthias Brugger, hsinyi, linux-pm, srv_heupstream, devicetree,
linux-mediatek, linux-kernel, linux-arm-kernel
On 11/02/2020 04:17, Michael Kao wrote:
> On Thu, 2020-01-09 at 12:31 +0100, Daniel Lezcano wrote:
>> On 03/01/2020 07:44, Michael Kao wrote:
>>> From: "michael.kao" <michael.kao@mediatek.com>
>>>
>>> Add thermal zone node to Mediatek MT8183 dts file.
>>>
>>> Signed-off-by: Michael Kao <michael.kao@mediatek.com>
>>> ---
>>> arch/arm64/boot/dts/mediatek/mt8183.dtsi | 85 ++++++++++++++++++++++++
>>> 1 file changed, 85 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
>>> index 10b32471bc7b..a2793cf3d994 100644
>>> --- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
>>> +++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
>>> @@ -570,6 +570,88 @@
>>> status = "disabled";
>>> };
>>>
>>> + thermal: thermal@1100b000 {
>>> + #thermal-sensor-cells = <1>;
>>> + compatible = "mediatek,mt8183-thermal";
>>> + reg = <0 0x1100b000 0 0x1000>;
>>> + interrupts = <0 76 IRQ_TYPE_LEVEL_LOW>;
>>
>> What is this interrupt for?
>
> The interrupts pin is designed in our SoC. But it is not used in our
> upstream thermal code now. There is also add the settings but not use
> for mt8173.dtsi. To align the thermal dtsi format, I follow the past
> experience to add the interrupt settings of this project first.
Assuming the interrupt can be set by the driver to fire when a specified
temperature is set, I suggest to change your driver to handle it so you
can get rid of the polling waking up the SoC every second.
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3,1/8] arm64: dts: mt8183: add thermal zone node
[not found] ` <20200103064407.19861-2-michael.kao@mediatek.com>
2020-01-09 11:31 ` [PATCH v3,1/8] arm64: dts: mt8183: add thermal zone node Daniel Lezcano
@ 2020-02-20 20:56 ` Matthias Brugger
1 sibling, 0 replies; 12+ messages in thread
From: Matthias Brugger @ 2020-02-20 20:56 UTC (permalink / raw)
To: Michael Kao, Zhang Rui, Eduardo Valentin, Daniel Lezcano,
Rob Herring, Mark Rutland, hsinyi, linux-pm, srv_heupstream
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek
On 03/01/2020 07:44, Michael Kao wrote:
> From: "michael.kao" <michael.kao@mediatek.com>
>
> Add thermal zone node to Mediatek MT8183 dts file.
>
> Signed-off-by: Michael Kao <michael.kao@mediatek.com>
> ---
> arch/arm64/boot/dts/mediatek/mt8183.dtsi | 85 ++++++++++++++++++++++++
> 1 file changed, 85 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> index 10b32471bc7b..a2793cf3d994 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> @@ -570,6 +570,88 @@
> status = "disabled";
> };
>
> + thermal: thermal@1100b000 {
> + #thermal-sensor-cells = <1>;
> + compatible = "mediatek,mt8183-thermal";
> + reg = <0 0x1100b000 0 0x1000>;
> + interrupts = <0 76 IRQ_TYPE_LEVEL_LOW>;
> + clocks = <&infracfg CLK_INFRA_THERM>,
> + <&infracfg CLK_INFRA_AUXADC>;
> + clock-names = "therm", "auxadc";
> + resets = <&infracfg MT8183_INFRACFG_AO_THERM_SW_RST>;
> + mediatek,auxadc = <&auxadc>;
> + mediatek,apmixedsys = <&apmixedsys>;
> + mediatek,hw-reset-temp = <117000>;
Non uptream property, please delte
> + nvmem-cells = <&thermal_calibration>;
> + nvmem-cell-names = "calibration-data";
> + };
> +
> + thermal-zones {
> + cpu_thermal: cpu_thermal {
> + polling-delay-passive = <1000>;
> + polling-delay = <1000>;
> + thermal-sensors = <&thermal 0>;
> + sustainable-power = <5000>;
> + };
> +
> + /* The tzts1 ~ tzts6 don't need to polling */
> + /* The tzts1 ~ tzts6 don't need to thermal throttle */
> +
> + tzts1: tzts1 {
> + polling-delay-passive = <0>;
> + polling-delay = <0>;
> + thermal-sensors = <&thermal 1>;
> + sustainable-power = <5000>;
> + trips {};
> + cooling-maps {};
> + };
> +
> + tzts2: tzts2 {
> + polling-delay-passive = <0>;
> + polling-delay = <0>;
> + thermal-sensors = <&thermal 2>;
> + sustainable-power = <5000>;
> + trips {};
> + cooling-maps {};
> + };
> +
> + tzts3: tzts3 {
> + polling-delay-passive = <0>;
> + polling-delay = <0>;
> + thermal-sensors = <&thermal 3>;
> + sustainable-power = <5000>;
> + trips {};
> + cooling-maps {};
> + };
> +
> + tzts4: tzts4 {
> + polling-delay-passive = <0>;
> + polling-delay = <0>;
> + thermal-sensors = <&thermal 4>;
> + sustainable-power = <5000>;
> + trips {};
> + cooling-maps {};
> + };
> +
> + tzts5: tzts5 {
> + polling-delay-passive = <0>;
> + polling-delay = <0>;
> + thermal-sensors = <&thermal 5>;
> + sustainable-power = <5000>;
> + trips {};
> + cooling-maps {};
> + };
> +
> + tztsABB: tztsABB {
> + polling-delay-passive = <0>;
> + polling-delay = <0>;
> + thermal-sensors = <&thermal 6>;
> + sustainable-power = <5000>;
> + trips {};
> + cooling-maps {};
> + };
> + };
> +
> audiosys: syscon@11220000 {
> compatible = "mediatek,mt8183-audiosys", "syscon";
> reg = <0 0x11220000 0 0x1000>;
> @@ -580,6 +662,9 @@
> compatible = "mediatek,mt8183-efuse",
> "mediatek,efuse";
> reg = <0 0x11f10000 0 0x1000>;
New line here please.
> + thermal_calibration: calib@180 {
> + reg = <0x180 0xc>;
> + };
> };
>
> mfgcfg: syscon@13000000 {
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3,1/8] arm64: dts: mt8183: add thermal zone node
2020-02-20 11:52 ` Daniel Lezcano
@ 2020-02-20 20:57 ` Matthias Brugger
2020-02-26 1:58 ` Michael Kao
0 siblings, 1 reply; 12+ messages in thread
From: Matthias Brugger @ 2020-02-20 20:57 UTC (permalink / raw)
To: Daniel Lezcano, Michael Kao
Cc: Zhang Rui, Eduardo Valentin, Rob Herring, Mark Rutland, hsinyi,
linux-pm, srv_heupstream, devicetree, linux-mediatek,
linux-kernel, linux-arm-kernel
On 20/02/2020 12:52, Daniel Lezcano wrote:
> On 11/02/2020 04:17, Michael Kao wrote:
>> On Thu, 2020-01-09 at 12:31 +0100, Daniel Lezcano wrote:
>>> On 03/01/2020 07:44, Michael Kao wrote:
>>>> From: "michael.kao" <michael.kao@mediatek.com>
>>>>
>>>> Add thermal zone node to Mediatek MT8183 dts file.
>>>>
>>>> Signed-off-by: Michael Kao <michael.kao@mediatek.com>
>>>> ---
>>>> arch/arm64/boot/dts/mediatek/mt8183.dtsi | 85 ++++++++++++++++++++++++
>>>> 1 file changed, 85 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
>>>> index 10b32471bc7b..a2793cf3d994 100644
>>>> --- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
>>>> +++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
>>>> @@ -570,6 +570,88 @@
>>>> status = "disabled";
>>>> };
>>>>
>>>> + thermal: thermal@1100b000 {
>>>> + #thermal-sensor-cells = <1>;
>>>> + compatible = "mediatek,mt8183-thermal";
>>>> + reg = <0 0x1100b000 0 0x1000>;
>>>> + interrupts = <0 76 IRQ_TYPE_LEVEL_LOW>;
>>>
>>> What is this interrupt for?
>>
>> The interrupts pin is designed in our SoC. But it is not used in our
>> upstream thermal code now. There is also add the settings but not use
>> for mt8173.dtsi. To align the thermal dtsi format, I follow the past
>> experience to add the interrupt settings of this project first.
>
> Assuming the interrupt can be set by the driver to fire when a specified
> temperature is set, I suggest to change your driver to handle it so you
> can get rid of the polling waking up the SoC every second.
>
For the record the interrupt is a required property by the binding description.
Regards,
Matthias
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3,2/8] arm64: dts: mt8183: add/update dynamic power coefficients
[not found] ` <1581386733.31005.6.camel@mtksdccf07>
@ 2020-02-20 21:06 ` Matthias Brugger
0 siblings, 0 replies; 12+ messages in thread
From: Matthias Brugger @ 2020-02-20 21:06 UTC (permalink / raw)
To: Michael Kao
Cc: Zhang Rui, Eduardo Valentin, Daniel Lezcano, Rob Herring,
Mark Rutland, hsinyi, linux-pm, srv_heupstream, devicetree,
linux-mediatek, linux-kernel, linux-arm-kernel
On 11/02/2020 03:05, Michael Kao wrote:
> On Fri, 2020-01-10 at 15:40 +0100, Matthias Brugger wrote:
>> I suppose it need rewording.
>
> Hi Matthias,
>
> This patch was resent following with the patch series,Add Mediatek
> thermal driver and dtsi.
> I have write all the changes in the cover letter.
> There is no change in this patch.
>
> Do you mean that I need to add some word to commit message or
> change the dynamic power coefficients?
>
Your commit message says:
"Add dynamic power coefficients for all cores and update those of CPU0 and CPU4."
But the power coefficients for CPU0-4 are not updated, but added.
I fixed the commit message and pushed to v5.6-next/dts64
Please double check that everything is correct.
Regards,
Matthias
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3,3/8] arm64: dts: mt8183: Add #cooling-cells to CPU nodes
[not found] ` <20200103064407.19861-4-michael.kao@mediatek.com>
@ 2020-02-20 21:59 ` Matthias Brugger
0 siblings, 0 replies; 12+ messages in thread
From: Matthias Brugger @ 2020-02-20 21:59 UTC (permalink / raw)
To: Michael Kao, Zhang Rui, Eduardo Valentin, Daniel Lezcano,
Rob Herring, Mark Rutland, hsinyi, linux-pm, srv_heupstream
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek
On 03/01/2020 07:44, Michael Kao wrote:
> From: "michael.kao" <michael.kao@mediatek.com>
>
> The #cooling-cells property needs to be specified to allow a CPU
> to be used as cooling device.
>
> Signed-off-by: Michael Kao <michael.kao@mediatek.com>
Applied to v5.6-next/dts64
Thanks
> ---
> arch/arm64/boot/dts/mediatek/mt8183.dtsi | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> index cfb74af260e0..63378ae14a16 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> @@ -9,6 +9,7 @@
> #include <dt-bindings/interrupt-controller/arm-gic.h>
> #include <dt-bindings/interrupt-controller/irq.h>
> #include "mt8183-pinfunc.h"
> +#include <dt-bindings/thermal/thermal.h>
>
> / {
> compatible = "mediatek,mt8183";
> @@ -74,6 +75,7 @@
> enable-method = "psci";
> capacity-dmips-mhz = <741>;
> dynamic-power-coefficient = <84>;
> + #cooling-cells = <2>;
> };
>
> cpu1: cpu@1 {
> @@ -83,6 +85,7 @@
> enable-method = "psci";
> capacity-dmips-mhz = <741>;
> dynamic-power-coefficient = <84>;
> + #cooling-cells = <2>;
> };
>
> cpu2: cpu@2 {
> @@ -92,6 +95,7 @@
> enable-method = "psci";
> capacity-dmips-mhz = <741>;
> dynamic-power-coefficient = <84>;
> + #cooling-cells = <2>;
> };
>
> cpu3: cpu@3 {
> @@ -101,6 +105,7 @@
> enable-method = "psci";
> capacity-dmips-mhz = <741>;
> dynamic-power-coefficient = <84>;
> + #cooling-cells = <2>;
> };
>
> cpu4: cpu@100 {
> @@ -110,6 +115,7 @@
> enable-method = "psci";
> capacity-dmips-mhz = <1024>;
> dynamic-power-coefficient = <211>;
> + #cooling-cells = <2>;
> };
>
> cpu5: cpu@101 {
> @@ -119,6 +125,7 @@
> enable-method = "psci";
> capacity-dmips-mhz = <1024>;
> dynamic-power-coefficient = <211>;
> + #cooling-cells = <2>;
> };
>
> cpu6: cpu@102 {
> @@ -128,6 +135,7 @@
> enable-method = "psci";
> capacity-dmips-mhz = <1024>;
> dynamic-power-coefficient = <211>;
> + #cooling-cells = <2>;
> };
>
> cpu7: cpu@103 {
> @@ -137,6 +145,7 @@
> enable-method = "psci";
> capacity-dmips-mhz = <1024>;
> dynamic-power-coefficient = <211>;
> + #cooling-cells = <2>;
> };
> };
>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3,1/8] arm64: dts: mt8183: add thermal zone node
2020-02-20 20:57 ` Matthias Brugger
@ 2020-02-26 1:58 ` Michael Kao
0 siblings, 0 replies; 12+ messages in thread
From: Michael Kao @ 2020-02-26 1:58 UTC (permalink / raw)
To: Matthias Brugger
Cc: Daniel Lezcano, Zhang Rui, Eduardo Valentin, Rob Herring,
Mark Rutland, hsinyi, linux-pm, srv_heupstream, devicetree,
linux-mediatek, linux-kernel, linux-arm-kernel
On Thu, 2020-02-20 at 21:57 +0100, Matthias Brugger wrote:
>
> On 20/02/2020 12:52, Daniel Lezcano wrote:
> > On 11/02/2020 04:17, Michael Kao wrote:
> >> On Thu, 2020-01-09 at 12:31 +0100, Daniel Lezcano wrote:
> >>> On 03/01/2020 07:44, Michael Kao wrote:
> >>>> From: "michael.kao" <michael.kao@mediatek.com>
> >>>>
> >>>> Add thermal zone node to Mediatek MT8183 dts file.
> >>>>
> >>>> Signed-off-by: Michael Kao <michael.kao@mediatek.com>
> >>>> ---
> >>>> arch/arm64/boot/dts/mediatek/mt8183.dtsi | 85 ++++++++++++++++++++++++
> >>>> 1 file changed, 85 insertions(+)
> >>>>
> >>>> diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> >>>> index 10b32471bc7b..a2793cf3d994 100644
> >>>> --- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> >>>> +++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> >>>> @@ -570,6 +570,88 @@
> >>>> status = "disabled";
> >>>> };
> >>>>
> >>>> + thermal: thermal@1100b000 {
> >>>> + #thermal-sensor-cells = <1>;
> >>>> + compatible = "mediatek,mt8183-thermal";
> >>>> + reg = <0 0x1100b000 0 0x1000>;
> >>>> + interrupts = <0 76 IRQ_TYPE_LEVEL_LOW>;
> >>>
> >>> What is this interrupt for?
> >>
> >> The interrupts pin is designed in our SoC. But it is not used in our
> >> upstream thermal code now. There is also add the settings but not use
> >> for mt8173.dtsi. To align the thermal dtsi format, I follow the past
> >> experience to add the interrupt settings of this project first.
> >
> > Assuming the interrupt can be set by the driver to fire when a specified
> > temperature is set, I suggest to change your driver to handle it so you
> > can get rid of the polling waking up the SoC every second.
> >
>
> For the record the interrupt is a required property by the binding description.
>
> Regards,
> Matthias
After checking with interrupt owner, it is not required property for
thermal.
I will remove the property of hw-reset-temp and interrupt.
And also I will add new line to fix format.
These three change will resend v4 to fix them.
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2020-02-26 1:58 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-03 6:43 [PATCH v3,0/8] Add Mediatek thermal dirver and dtsi Michael Kao
2020-01-03 6:44 ` [PATCH v3,5/8] arm64: dts: mt8183: Increase polling frequency for CPU thermal zone Michael Kao
2020-01-03 6:44 ` [PATCH v3,7/8] thermal: mediatek: add another get_temp ops for thermal sensors Michael Kao
[not found] ` <20200103064407.19861-7-michael.kao@mediatek.com>
2020-01-08 9:58 ` [PATCH v3,6/8] thermal: mediatek: mt8183: fix bank number settings Hsin-Yi Wang
[not found] ` <20200103064407.19861-2-michael.kao@mediatek.com>
2020-01-09 11:31 ` [PATCH v3,1/8] arm64: dts: mt8183: add thermal zone node Daniel Lezcano
[not found] ` <1581391046.31005.12.camel@mtksdccf07>
2020-02-20 11:52 ` Daniel Lezcano
2020-02-20 20:57 ` Matthias Brugger
2020-02-26 1:58 ` Michael Kao
2020-02-20 20:56 ` Matthias Brugger
[not found] ` <20200103064407.19861-3-michael.kao@mediatek.com>
2020-01-10 14:40 ` [PATCH v3,2/8] arm64: dts: mt8183: add/update dynamic power coefficients Matthias Brugger
[not found] ` <1581386733.31005.6.camel@mtksdccf07>
2020-02-20 21:06 ` Matthias Brugger
[not found] ` <20200103064407.19861-4-michael.kao@mediatek.com>
2020-02-20 21:59 ` [PATCH v3,3/8] arm64: dts: mt8183: Add #cooling-cells to CPU nodes Matthias Brugger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).