2015-12-16 13:29:26

by Dawei Chien

[permalink] [raw]
Subject: [PATCH v6 0/3] thermal: mediatek: Add cpu dynamic power cooling model.

Use Intelligent Power Allocation (IPA) technical to add dynamic power model
for binding CPU thermal zone. The power allocator governor allocates power
budget to control CPU temperature.

Power Allocator governor is able to keep SOC temperature within a defined
temperature range to avoid SOC overheat and keep it's performance.
mt8173-cpufreq.c need to register its' own power model with power allocator
thermal governor, so that power allocator governor can allocates suitable
power budget to control CPU temperature.

Binding document is refer to this patchset
https://lkml.org/lkml/2015/11/30/239

Change since V5:
1. Remove thermal sensor ID from phandles

Change since V4:
1. Remove unnecessary error-checking for mt8173-cpufreq.c
2. Initializing variable capacitance with 0

Change since V3:
1. Remove static power model
2. Split V3's device tree in two for thermal zones and dynamic power models respectively

Change since V2:
1. Move dynamic/static power model in device tree

Change since V1:
1. Include mt8171.h and sort header file for mt8173.dtsi

Dawei Chien (3):
thermal: mediatek: Add cpu dynamic power cooling model.
arm64: dts: mt8173: Add thermal zone node.
arm64: dts: mt8173: Add dynamic power node.

arch/arm64/boot/dts/mediatek/mt8173.dtsi | 47 ++++++++++++++++++++++++++++++
drivers/cpufreq/mt8173-cpufreq.c | 12 ++++++--
2 files changed, 57 insertions(+), 2 deletions(-)

--
1.7.9.5


2015-12-16 13:30:15

by Dawei Chien

[permalink] [raw]
Subject: [PATCH v6 1/3] thermal: mediatek: Add cpu dynamic power cooling model.

MT8173 cpufreq driver select of_cpufreq_power_cooling_register registering
cooling devices with dynamic power coefficient.

Signed-off-by: Dawei Chien <[email protected]>
---
This patch is base on patchset:
https://lkml.org/lkml/2015/11/17/251
---
drivers/cpufreq/mt8173-cpufreq.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/cpufreq/mt8173-cpufreq.c b/drivers/cpufreq/mt8173-cpufreq.c
index 83001dc..d00bab5 100644
--- a/drivers/cpufreq/mt8173-cpufreq.c
+++ b/drivers/cpufreq/mt8173-cpufreq.c
@@ -263,17 +263,24 @@ static int mtk_cpufreq_set_target(struct cpufreq_policy *policy,
return 0;
}

+#define DYNAMIC_POWER "dynamic-power-coefficient"
+
static void mtk_cpufreq_ready(struct cpufreq_policy *policy)
{
struct mtk_cpu_dvfs_info *info = policy->driver_data;
struct device_node *np = of_node_get(info->cpu_dev->of_node);
+ u32 capacitance = 0;

if (WARN_ON(!np))
return;

if (of_find_property(np, "#cooling-cells", NULL)) {
- info->cdev = of_cpufreq_cooling_register(np,
- policy->related_cpus);
+ of_property_read_u32(np, DYNAMIC_POWER, &capacitance);
+
+ info->cdev = of_cpufreq_power_cooling_register(np,
+ policy->related_cpus,
+ capacitance,
+ NULL);

if (IS_ERR(info->cdev)) {
dev_err(info->cpu_dev,
--
1.7.9.5

2015-12-16 13:29:29

by Dawei Chien

[permalink] [raw]
Subject: [PATCH v6 2/3] arm64: dts: mt8173: Add thermal zone node.

This adds thermal zone node to Mediatek MT8173 dtsi file.

Signed-off-by: Dawei Chien <[email protected]>
---
This patch is base on patchset:
https://lkml.org/lkml/2015/11/30/239
---
arch/arm64/boot/dts/mediatek/mt8173.dtsi | 43 ++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)

diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
index fda805d..c962d94 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
@@ -188,6 +188,49 @@
clock-output-names = "cpum_ck";
};

+ thermal-zones {
+ cpu_thermal: cpu_thermal {
+ polling-delay-passive = <1000>; /* milliseconds */
+ polling-delay = <1000>; /* milliseconds */
+
+ thermal-sensors = <&thermal>;
+ sustainable-power = <1500>; /* milliwatts */
+
+ trips {
+ threshold: trip-point@0 {
+ temperature = <68000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
+ target: trip-point@1 {
+ temperature = <85000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
+ cpu_crit: cpu_crit@0 {
+ temperature = <115000>;
+ hysteresis = <2000>;
+ type = "critical";
+ };
+ };
+
+ cooling-maps {
+ map@0 {
+ trip = <&target>;
+ cooling-device = <&cpu0 0 0>;
+ contribution = <1024>;
+ };
+ map@1 {
+ trip = <&target>;
+ cooling-device = <&cpu2 0 0>;
+ contribution = <2048>;
+ };
+ };
+ };
+ };
+
timer {
compatible = "arm,armv8-timer";
interrupt-parent = <&gic>;
--
1.7.9.5

2015-12-16 13:29:45

by Dawei Chien

[permalink] [raw]
Subject: [PATCH v6 3/3] arm64: dts: mt8173: Add dynamic power node.

This device node is for calculating dynamic power in mW.
Since mt8173 has two clusters, there are two dynamic power
coefficient as well.

Signed-off-by: Dawei Chien <[email protected]>
---
This patch is base on patchset:
https://lkml.org/lkml/2015/11/17/251
---
arch/arm64/boot/dts/mediatek/mt8173.dtsi | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
index c962d94..b6f4ea5 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
@@ -71,6 +71,7 @@
#cooling-cells = <2>;
#cooling-min-level = <0>;
#cooling-max-level = <7>;
+ dynamic-power-coefficient = <263>;
};

cpu1: cpu@1 {
@@ -95,6 +96,7 @@
#cooling-cells = <2>;
#cooling-min-level = <0>;
#cooling-max-level = <7>;
+ dynamic-power-coefficient = <263>;
};

cpu2: cpu@100 {
@@ -119,6 +121,7 @@
#cooling-cells = <2>;
#cooling-min-level = <0>;
#cooling-max-level = <7>;
+ dynamic-power-coefficient = <530>;
};

cpu3: cpu@101 {
@@ -143,6 +146,7 @@
#cooling-cells = <2>;
#cooling-min-level = <0>;
#cooling-max-level = <7>;
+ dynamic-power-coefficient = <530>;
};

idle-states {
--
1.7.9.5

2015-12-17 01:52:39

by Viresh Kumar

[permalink] [raw]
Subject: Re: [PATCH v6 0/3] thermal: mediatek: Add cpu dynamic power cooling model.

On 16-12-15, 21:29, Dawei Chien wrote:
> Use Intelligent Power Allocation (IPA) technical to add dynamic power model
> for binding CPU thermal zone. The power allocator governor allocates power
> budget to control CPU temperature.
>
> Power Allocator governor is able to keep SOC temperature within a defined
> temperature range to avoid SOC overheat and keep it's performance.
> mt8173-cpufreq.c need to register its' own power model with power allocator
> thermal governor, so that power allocator governor can allocates suitable
> power budget to control CPU temperature.
>
> Binding document is refer to this patchset
> https://lkml.org/lkml/2015/11/30/239
>
> Change since V5:
> 1. Remove thermal sensor ID from phandles

Though you should have included this in the new version, but still

Acked-by: Viresh Kumar <[email protected]>

--
viresh

2016-03-15 04:53:50

by Dawei Chien

[permalink] [raw]
Subject: Re: [PATCH v6 0/3] thermal: mediatek: Add cpu dynamic power cooling model.

On Thu, 2015-12-17 at 09:52 +0800, Viresh Kumar wrote:
> On 16-12-15, 21:29, Dawei Chien wrote:
> > Use Intelligent Power Allocation (IPA) technical to add dynamic power model
> > for binding CPU thermal zone. The power allocator governor allocates power
> > budget to control CPU temperature.
> >
> > Power Allocator governor is able to keep SOC temperature within a defined
> > temperature range to avoid SOC overheat and keep it's performance.
> > mt8173-cpufreq.c need to register its' own power model with power allocator
> > thermal governor, so that power allocator governor can allocates suitable
> > power budget to control CPU temperature.
> >
> > Binding document is refer to this patchset
> > https://lkml.org/lkml/2015/11/30/239
> >
> > Change since V5:
> > 1. Remove thermal sensor ID from phandles
>
> Though you should have included this in the new version, but still
>
> Acked-by: Viresh Kumar <[email protected]>
>
> --
> viresh

Hi Viresh,
Would you please pull this patch to your tree since following patch
already pulled in, thank you.

https://lkml.org/lkml/2015/11/30/239

BR,
Dawei

2016-03-15 06:17:14

by Viresh Kumar

[permalink] [raw]
Subject: Re: [PATCH v6 0/3] thermal: mediatek: Add cpu dynamic power cooling model.

On 15-03-16, 12:53, dawei chien wrote:
> On Thu, 2015-12-17 at 09:52 +0800, Viresh Kumar wrote:
> > On 16-12-15, 21:29, Dawei Chien wrote:
> > > Use Intelligent Power Allocation (IPA) technical to add dynamic power model
> > > for binding CPU thermal zone. The power allocator governor allocates power
> > > budget to control CPU temperature.
> > >
> > > Power Allocator governor is able to keep SOC temperature within a defined
> > > temperature range to avoid SOC overheat and keep it's performance.
> > > mt8173-cpufreq.c need to register its' own power model with power allocator
> > > thermal governor, so that power allocator governor can allocates suitable
> > > power budget to control CPU temperature.
> > >
> > > Binding document is refer to this patchset
> > > https://lkml.org/lkml/2015/11/30/239
> > >
> > > Change since V5:
> > > 1. Remove thermal sensor ID from phandles
> >
> > Though you should have included this in the new version, but still
> >
> > Acked-by: Viresh Kumar <[email protected]>
> >
> > --
> > viresh
>
> Hi Viresh,
> Would you please pull this patch to your tree since following patch
> already pulled in, thank you.
>
> https://lkml.org/lkml/2015/11/30/239

Its Rafael, who is going to apply this one.

Can you please resend it as he may not have it in patchworks?

--
viresh

2016-03-22 05:13:16

by Dawei Chien

[permalink] [raw]
Subject: Re: [PATCH v6 0/3] thermal: mediatek: Add cpu dynamic power cooling model.

On Tue, 2016-03-15 at 13:17 +0700, Viresh Kumar wrote:
> On 15-03-16, 12:53, dawei chien wrote:
> > On Thu, 2015-12-17 at 09:52 +0800, Viresh Kumar wrote:
> > > On 16-12-15, 21:29, Dawei Chien wrote:
> > > > Use Intelligent Power Allocation (IPA) technical to add dynamic power model
> > > > for binding CPU thermal zone. The power allocator governor allocates power
> > > > budget to control CPU temperature.
> > > >
> > > > Power Allocator governor is able to keep SOC temperature within a defined
> > > > temperature range to avoid SOC overheat and keep it's performance.
> > > > mt8173-cpufreq.c need to register its' own power model with power allocator
> > > > thermal governor, so that power allocator governor can allocates suitable
> > > > power budget to control CPU temperature.
> > > >
> > > > Binding document is refer to this patchset
> > > > https://lkml.org/lkml/2015/11/30/239
> > > >
> > > > Change since V5:
> > > > 1. Remove thermal sensor ID from phandles
> > >
> > > Though you should have included this in the new version, but still
> > >
> > > Acked-by: Viresh Kumar <[email protected]>
> > >
> > > --
> > > viresh
> >
> > Hi Viresh,
> > Would you please pull this patch to your tree since following patch
> > already pulled in, thank you.
> >
> > https://lkml.org/lkml/2015/11/30/239
>
> Its Rafael, who is going to apply this one.
>
> Can you please resend it as he may not have it in patchworks?
>

Hi Rafael,
Would you merge this patch to your tee, thank you.

BR,
Dawei

2016-04-12 02:33:13

by Dawei Chien

[permalink] [raw]
Subject: Re: [PATCH v6 0/3] thermal: mediatek: Add cpu dynamic power cooling model.

On Tue, 2016-03-22 at 13:13 +0800, dawei chien wrote:
> On Tue, 2016-03-15 at 13:17 +0700, Viresh Kumar wrote:
> > On 15-03-16, 12:53, dawei chien wrote:
> > > On Thu, 2015-12-17 at 09:52 +0800, Viresh Kumar wrote:
> > > > On 16-12-15, 21:29, Dawei Chien wrote:
> > > > > Use Intelligent Power Allocation (IPA) technical to add dynamic power model
> > > > > for binding CPU thermal zone. The power allocator governor allocates power
> > > > > budget to control CPU temperature.
> > > > >
> > > > > Power Allocator governor is able to keep SOC temperature within a defined
> > > > > temperature range to avoid SOC overheat and keep it's performance.
> > > > > mt8173-cpufreq.c need to register its' own power model with power allocator
> > > > > thermal governor, so that power allocator governor can allocates suitable
> > > > > power budget to control CPU temperature.
> > > > >
> > > > > Binding document is refer to this patchset
> > > > > https://lkml.org/lkml/2015/11/30/239
> > > > >
> > > > > Change since V5:
> > > > > 1. Remove thermal sensor ID from phandles
> > > >
> > > > Though you should have included this in the new version, but still
> > > >
> > > > Acked-by: Viresh Kumar <[email protected]>
> > > >
> > > > --
> > > > viresh
> > >
> > > Hi Viresh,
> > > Would you please pull this patch to your tree since following patch
> > > already pulled in, thank you.
> > >
> > > https://lkml.org/lkml/2015/11/30/239
> >
> > Its Rafael, who is going to apply this one.
> >
> > Can you please resend it as he may not have it in patchworks?
> >
>
> Hi Rafael,
> Would you merge this patch to your tree, thank you.
>
> BR,
> Dawei

Hi Rafael,
Would you please merge this patch, or please kindly let me know for any
problem, thank you.

BR,
Dawei

2016-04-12 05:11:11

by Viresh Kumar

[permalink] [raw]
Subject: Re: [PATCH v6 0/3] thermal: mediatek: Add cpu dynamic power cooling model.

On 12-04-16, 10:32, dawei chien wrote:
> On Tue, 2016-03-22 at 13:13 +0800, dawei chien wrote:
> > On Tue, 2016-03-15 at 13:17 +0700, Viresh Kumar wrote:
> > > Its Rafael, who is going to apply this one.
> > >
> > > Can you please resend it as he may not have it in patchworks?
> > >
> >
> > Hi Rafael,
> > Would you merge this patch to your tree, thank you.
> >
> > BR,
> > Dawei
>
> Hi Rafael,
> Would you please merge this patch, or please kindly let me know for any
> problem, thank you.

Didn't I ask you earlier to resend this patch as Rafael wouldn't have
it in his queue now ?

Please resend it and that will make it earlier for Rafael to get it
applied.

--
viresh

2016-04-12 05:24:54

by Dawei Chien

[permalink] [raw]
Subject: Re: [PATCH v6 0/3] thermal: mediatek: Add cpu dynamic power cooling model.

On Tue, 2016-04-12 at 10:41 +0530, Viresh Kumar wrote:
> On 12-04-16, 10:32, dawei chien wrote:
> > On Tue, 2016-03-22 at 13:13 +0800, dawei chien wrote:
> > > On Tue, 2016-03-15 at 13:17 +0700, Viresh Kumar wrote:
> > > > Its Rafael, who is going to apply this one.
> > > >
> > > > Can you please resend it as he may not have it in patchworks?
> > > >
> > >
> > > Hi Rafael,
> > > Would you merge this patch to your tree, thank you.
> > >
> > > BR,
> > > Dawei
> >
> > Hi Rafael,
> > Would you please merge this patch, or please kindly let me know for any
> > problem, thank you.
>
> Didn't I ask you earlier to resend this patch as Rafael wouldn't have
> it in his queue now ?
>
> Please resend it and that will make it earlier for Rafael to get it
> applied.
>
Hi Viresh,
Please refer to following for my resending, thank you.

https://lkml.org/lkml/2016/3/15/101
https://patchwork.kernel.org/patch/8586131/
https://patchwork.kernel.org/patch/8586111/
https://patchwork.kernel.org/patch/8586081/

BR,
Dawei

2016-04-12 05:39:41

by Viresh Kumar

[permalink] [raw]
Subject: Re: [PATCH v6 0/3] thermal: mediatek: Add cpu dynamic power cooling model.

On 12-04-16, 13:24, dawei chien wrote:
> Please refer to following for my resending, thank you.
>
> https://lkml.org/lkml/2016/3/15/101
> https://patchwork.kernel.org/patch/8586131/
> https://patchwork.kernel.org/patch/8586111/
> https://patchwork.kernel.org/patch/8586081/

Oh, you were continuously sending new ping requests on the old thread.
You should have used the new thread instead :)

Anyway, I have pinged Rafael over the new thread now.

--
viresh