[PATCH V2 0/6] PM / devfreq: a few small fixes and improvements

STALE1957d

Revision v2 of 4 in this series.

11 messages, 3 authors, 2021-03-23 · open the first message on its own page

[PATCH V2 0/6] PM / devfreq: a few small fixes and improvements

From: Dong Aisheng <aisheng.dong@nxp.com>
Date: 2021-03-23 03:13:42

A few small fixes and improvements

ChangeLog:
v1->v2:
 * squash a few patches
 * rebase to devfreq-testing
 * drop two patches which are already in devfreq-next

Dong Aisheng (6):
  PM / devfreq: fix build error when DEVFREQ_GOV_PASSIVE enabled
  PM / devfreq: Use more accurate returned new_freq as resume_freq
  PM / devfreq: Remove the invalid description for get_target_freq
  PM / devfreq: bail out early if no freq changes in devfreq_set_target
  PM / devfreq: governor: optimize simpleondemand get_target_freq
  PM / devfreq: imx8m-ddrc: remove imx8m_ddrc_get_dev_status

 Documentation/ABI/testing/sysfs-class-devfreq |  5 +--
 drivers/devfreq/devfreq.c                     | 37 +++++++------------
 drivers/devfreq/governor.h                    |  2 -
 drivers/devfreq/governor_simpleondemand.c     | 31 ++++++++++------
 drivers/devfreq/imx8m-ddrc.c                  | 14 -------
 5 files changed, 35 insertions(+), 54 deletions(-)

-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

[PATCH V2 4/6] PM / devfreq: bail out early if no freq changes in devfreq_set_target

From: Dong Aisheng <aisheng.dong@nxp.com>
Date: 2021-03-23 03:13:41

It's unnecessary to set the same freq again and run notifier calls.

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
---
 drivers/devfreq/devfreq.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
index b537fd9602cd..cacda7d1f858 100644
--- a/drivers/devfreq/devfreq.c
+++ b/drivers/devfreq/devfreq.c
@@ -403,13 +403,16 @@ static int devfreq_set_target(struct devfreq *devfreq, unsigned long new_freq,
 {
 	struct devfreq_freqs freqs;
 	unsigned long cur_freq;
-	int err = 0;
+	int err;
 
 	if (devfreq->profile->get_cur_freq)
 		devfreq->profile->get_cur_freq(devfreq->dev.parent, &cur_freq);
 	else
 		cur_freq = devfreq->previous_freq;
 
+	if (new_freq == cur_freq)
+		return 0;
+
 	freqs.old = cur_freq;
 	freqs.new = new_freq;
 	devfreq_notify_transition(devfreq, &freqs, DEVFREQ_PRECHANGE);
@@ -426,7 +429,7 @@ static int devfreq_set_target(struct devfreq *devfreq, unsigned long new_freq,
 	 * and DEVFREQ_POSTCHANGE because for showing the correct frequency
 	 * change order of between devfreq device and passive devfreq device.
 	 */
-	if (trace_devfreq_frequency_enabled() && new_freq != cur_freq)
+	if (trace_devfreq_frequency_enabled())
 		trace_devfreq_frequency(devfreq, new_freq, cur_freq);
 
 	devfreq_update_transitions(devfreq, cur_freq, new_freq,
@@ -445,7 +448,7 @@ static int devfreq_set_target(struct devfreq *devfreq, unsigned long new_freq,
 	if (devfreq->suspend_freq)
 		devfreq->resume_freq = new_freq;
 
-	return err;
+	return 0;
 }
 
 /**
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

[PATCH V2 2/6] PM / devfreq: Use more accurate returned new_freq as resume_freq

From: Dong Aisheng <aisheng.dong@nxp.com>
Date: 2021-03-23 03:13:42

Use the more accurate returned new_freq as resume_freq.
It's the same as how devfreq->previous_freq was updated.

Fixes: 83f8ca45afbf0 ("PM / devfreq: add support for suspend/resume of a
devfreq device")
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
---
 drivers/devfreq/devfreq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
index 107badfc6b2b..b537fd9602cd 100644
--- a/drivers/devfreq/devfreq.c
+++ b/drivers/devfreq/devfreq.c
@@ -443,7 +443,7 @@ static int devfreq_set_target(struct devfreq *devfreq, unsigned long new_freq,
 	devfreq->previous_freq = new_freq;
 
 	if (devfreq->suspend_freq)
-		devfreq->resume_freq = cur_freq;
+		devfreq->resume_freq = new_freq;
 
 	return err;
 }
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

[PATCH V2 3/6] PM / devfreq: Remove the invalid description for get_target_freq

From: Dong Aisheng <aisheng.dong@nxp.com>
Date: 2021-03-23 03:13:42

First of all, no_central_polling was removed since
commit 7e6fdd4bad03 ("PM / devfreq: Core updates to support devices
which can idle")
Secondly, get_target_freq() is not only called only with update_devfreq()
notified by OPP now, but also min/max freq qos notifier.

So remove this invalid description now to avoid confusing.

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
---
 Documentation/ABI/testing/sysfs-class-devfreq | 5 +----
 drivers/devfreq/governor.h                    | 2 --
 2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/Documentation/ABI/testing/sysfs-class-devfreq b/Documentation/ABI/testing/sysfs-class-devfreq
index 22408cfa7ed2..e71595c84f22 100644
--- a/Documentation/ABI/testing/sysfs-class-devfreq
+++ b/Documentation/ABI/testing/sysfs-class-devfreq
@@ -97,10 +97,7 @@ Description:
 		object. The values are represented in ms. If the value is
 		less than 1 jiffy, it is considered to be 0, which means
 		no polling. This value is meaningless if the governor is
-		not polling; thus. If the governor is not using
-		devfreq-provided central polling
-		(/sys/class/devfreq/.../central_polling is 0), this value
-		may be useless.
+		not polling.
 
 		A list of governors that support the node:
 		- simple_ondmenad
diff --git a/drivers/devfreq/governor.h b/drivers/devfreq/governor.h
index 48736a2ae970..9d72f5b66bfa 100644
--- a/drivers/devfreq/governor.h
+++ b/drivers/devfreq/governor.h
@@ -67,8 +67,6 @@
  *			Basically, get_target_freq will run
  *			devfreq_dev_profile.get_dev_status() to get the
  *			status of the device (load = busy_time / total_time).
- *			If no_central_polling is set, this callback is called
- *			only with update_devfreq() notified by OPP.
  * @event_handler:      Callback for devfreq core framework to notify events
  *                      to governors. Events include per device governor
  *                      init and exit, opp changes out of devfreq, suspend
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

[PATCH V2 1/6] PM / devfreq: fix build error when DEVFREQ_GOV_PASSIVE enabled

From: Dong Aisheng <aisheng.dong@nxp.com>
Date: 2021-03-23 03:13:42

drivers/devfreq/devfreq.c: In function ‘devfreq_transitions_show’:
drivers/devfreq/devfreq.c:2188:25: error: ‘struct devfreq’ has no member named ‘governor_name’; did you mean ‘governor’?
 2188 |   if (!strncmp(devfreq->governor_name,
      |                         ^~~~~~~~~~~~~
      |                         governor

Fixes: 5cc75e9252e9 ("PM / devfreq: Add devfreq_transitions debugfs file")
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
---
 drivers/devfreq/devfreq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
index d625b268adf2..107badfc6b2b 100644
--- a/drivers/devfreq/devfreq.c
+++ b/drivers/devfreq/devfreq.c
@@ -2185,7 +2185,7 @@ static int devfreq_transitions_show(struct seq_file *s, void *data)
 			continue;
 
 #if IS_ENABLED(CONFIG_DEVFREQ_GOV_PASSIVE)
-		if (!strncmp(devfreq->governor_name,
+		if (!strncmp(devfreq->governor->name,
 				DEVFREQ_GOV_PASSIVE, DEVFREQ_NAME_LEN)) {
 			struct devfreq_passive_data *data = devfreq->data;
 
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

[PATCH V2 6/6] PM / devfreq: imx8m-ddrc: remove imx8m_ddrc_get_dev_status

From: Dong Aisheng <aisheng.dong@nxp.com>
Date: 2021-03-23 03:14:14

Current driver actually does not support simple ondemand governor
as it's unable to provide device load information. So removing
the unnecessary callback to avoid confusing.
Right now the driver is using userspace governor by default.

polling_ms was also dropped as it's not needed for non-ondemand
governor.

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
---
 drivers/devfreq/imx8m-ddrc.c | 14 --------------
 1 file changed, 14 deletions(-)
diff --git a/drivers/devfreq/imx8m-ddrc.c b/drivers/devfreq/imx8m-ddrc.c
index bc82d3653bff..ecb9375aa877 100644
--- a/drivers/devfreq/imx8m-ddrc.c
+++ b/drivers/devfreq/imx8m-ddrc.c
@@ -280,18 +280,6 @@ static int imx8m_ddrc_get_cur_freq(struct device *dev, unsigned long *freq)
 	return 0;
 }
 
-static int imx8m_ddrc_get_dev_status(struct device *dev,
-				     struct devfreq_dev_status *stat)
-{
-	struct imx8m_ddrc *priv = dev_get_drvdata(dev);
-
-	stat->busy_time = 0;
-	stat->total_time = 0;
-	stat->current_frequency = clk_get_rate(priv->dram_core);
-
-	return 0;
-}
-
 static int imx8m_ddrc_init_freq_info(struct device *dev)
 {
 	struct imx8m_ddrc *priv = dev_get_drvdata(dev);
@@ -429,9 +417,7 @@ static int imx8m_ddrc_probe(struct platform_device *pdev)
 	if (ret < 0)
 		goto err;
 
-	priv->profile.polling_ms = 1000;
 	priv->profile.target = imx8m_ddrc_target;
-	priv->profile.get_dev_status = imx8m_ddrc_get_dev_status;
 	priv->profile.exit = imx8m_ddrc_exit;
 	priv->profile.get_cur_freq = imx8m_ddrc_get_cur_freq;
 	priv->profile.initial_freq = clk_get_rate(priv->dram_core);
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

[PATCH V2 5/6] PM / devfreq: governor: optimize simpleondemand get_target_freq

From: Dong Aisheng <aisheng.dong@nxp.com>
Date: 2021-03-23 03:14:14

The device profile up_threshold/down_differential only needs to be
initialized once when calling devm_devfreq_add_device. It's unnecessary
to put the data check logic in the hot path (.get_target_freq()) where it
will be called all the time during polling. Instead, we only check and
initialize it one time during DEVFREQ_GOV_START.

This also helps check data validability in advance during DEVFREQ_GOV_START
rather than checking it later when running .get_target_freq().

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
---
Change Log:
v1->v2:
 * rebase to devfreq-testing
---
 drivers/devfreq/devfreq.c                 | 24 +++++-------------
 drivers/devfreq/governor_simpleondemand.c | 31 +++++++++++++++--------
 2 files changed, 26 insertions(+), 29 deletions(-)
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
index cacda7d1f858..270e51f5318f 100644
--- a/drivers/devfreq/devfreq.c
+++ b/drivers/devfreq/devfreq.c
@@ -1908,9 +1908,7 @@ static ssize_t up_threshold_show(struct device *dev,
 	if (!df->profile)
 		return -EINVAL;
 
-	return sprintf(buf, "%d\n", df->profile->up_threshold
-					? df->profile->up_threshold
-					: DEVFREQ_UP_THRESHOLD);
+	return sprintf(buf, "%d\n", df->profile->up_threshold);
 }
 
 static ssize_t up_threshold_store(struct device *dev,
@@ -1934,9 +1932,7 @@ static ssize_t up_threshold_store(struct device *dev,
 	if (value > 100)
 		value = 100;
 
-	down_differential = df->profile->down_differential
-				? df->profile->down_differential
-				: DEVFREQ_DOWN_DIFFERENCTIAL;
+	down_differential = df->profile->down_differential;
 	if (value < down_differential)
 		value = down_differential;
 
@@ -1961,9 +1957,7 @@ static ssize_t down_differential_show(struct device *dev,
 	if (!df->profile)
 		return -EINVAL;
 
-	return sprintf(buf, "%d\n", df->profile->down_differential
-					? df->profile->down_differential
-					: DEVFREQ_DOWN_DIFFERENCTIAL);
+	return sprintf(buf, "%d\n", df->profile->down_differential);
 }
 
 static ssize_t down_differential_store(struct device *dev,
@@ -1984,9 +1978,7 @@ static ssize_t down_differential_store(struct device *dev,
 	if (ret != 1)
 		return -EINVAL;
 
-	up_threshold = df->profile->up_threshold
-				? df->profile->up_threshold
-				: DEVFREQ_UP_THRESHOLD;
+	up_threshold = df->profile->up_threshold;
 	if (value > up_threshold)
 		value = up_threshold;
 
@@ -2113,16 +2105,12 @@ static int devfreq_summary_show(struct seq_file *s, void *data)
 			polling_ms = 0;
 
 		if (IS_SUPPORTED_ATTR(devfreq->governor->attrs, UP_THRESHOLD))
-			up_threshold = devfreq->profile->up_threshold
-					? devfreq->profile->up_threshold
-					: DEVFREQ_UP_THRESHOLD;
+			up_threshold = devfreq->profile->up_threshold;
 		else
 			up_threshold = 0;
 
 		if (IS_SUPPORTED_ATTR(devfreq->governor->attrs, DOWN_DIFF))
-			down_differential = devfreq->profile->down_differential
-					? devfreq->profile->down_differential
-					: DEVFREQ_DOWN_DIFFERENCTIAL;
+			down_differential = devfreq->profile->down_differential;
 		else
 			down_differential = 0;
 		mutex_unlock(&devfreq->lock);
diff --git a/drivers/devfreq/governor_simpleondemand.c b/drivers/devfreq/governor_simpleondemand.c
index 93f6061667d9..3e195b46554a 100644
--- a/drivers/devfreq/governor_simpleondemand.c
+++ b/drivers/devfreq/governor_simpleondemand.c
@@ -18,8 +18,8 @@ static int devfreq_simple_ondemand_func(struct devfreq *df,
 	int err;
 	struct devfreq_dev_status *stat;
 	unsigned long long a, b;
-	unsigned int dfso_upthreshold = DEVFREQ_UP_THRESHOLD;
-	unsigned int dfso_downdifferential = DEVFREQ_DOWN_DIFFERENCTIAL;
+	unsigned int dfso_upthreshold = df->profile->up_threshold;
+	unsigned int dfso_downdifferential = df->profile->down_differential;
 
 	err = devfreq_update_stats(df);
 	if (err)
@@ -27,15 +27,6 @@ static int devfreq_simple_ondemand_func(struct devfreq *df,
 
 	stat = &df->last_status;
 
-	if (df->profile->up_threshold)
-		dfso_upthreshold = df->profile->up_threshold;
-	if (df->profile->down_differential)
-		dfso_downdifferential = df->profile->down_differential;
-
-	if (dfso_upthreshold > 100 ||
-	    dfso_upthreshold < dfso_downdifferential)
-		return -EINVAL;
-
 	/* Assume MAX if it is going to be divided by zero */
 	if (stat->total_time == 0) {
 		*freq = DEVFREQ_MAX_FREQ;
@@ -79,11 +70,29 @@ static int devfreq_simple_ondemand_func(struct devfreq *df,
 	return 0;
 }
 
+static int devfreq_simple_ondemand_check_od(struct devfreq *df)
+{
+	if (!df->profile->up_threshold)
+		df->profile->up_threshold = DEVFREQ_UP_THRESHOLD;
+
+	if (!df->profile->down_differential)
+		df->profile->down_differential = DEVFREQ_DOWN_DIFFERENCTIAL;
+
+	if (df->profile->up_threshold > 100 ||
+	    df->profile->up_threshold < df->profile->down_differential)
+		return -EINVAL;
+
+	return 0;
+}
+
 static int devfreq_simple_ondemand_handler(struct devfreq *devfreq,
 				unsigned int event, void *data)
 {
 	switch (event) {
 	case DEVFREQ_GOV_START:
+		if (devfreq_simple_ondemand_check_od(devfreq))
+			return -EINVAL;
+
 		devfreq_monitor_start(devfreq);
 		break;
 
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCH V2 0/6] PM / devfreq: a few small fixes and improvements

From: Dong Aisheng <hidden>
Date: 2021-03-23 03:26:15

Hi Chanwoo,

On Tue, Mar 23, 2021 at 11:13 AM Dong Aisheng [off-list ref] wrote:
A few small fixes and improvements

ChangeLog:
v1->v2:
 * squash a few patches
 * rebase to devfreq-testing
I have to rebase to devfreq-testing instead of devfreq-next because
below two patches
only exist in devfreq-testing.
5cc75e9252e9 (devfreq/devfreq-testing) PM / devfreq: Add
devfreq_transitions debugfs file
dc9e557845c1 PM / devfreq: Add new up_threshold and down_differential
sysfs attrs
My patch 5 needs change based on it according to your suggestion. So i have to
rebase to that branch.

However, i found devfreq-testing can't build with GOV_PASSVIE enabled.
Patch 1 fixed it. You can squash to the original one when apply.

Please help take a look at this new series.
Thanks

Regards
Aisheng
 * drop two patches which are already in devfreq-next

Dong Aisheng (6):
  PM / devfreq: fix build error when DEVFREQ_GOV_PASSIVE enabled
  PM / devfreq: Use more accurate returned new_freq as resume_freq
  PM / devfreq: Remove the invalid description for get_target_freq
  PM / devfreq: bail out early if no freq changes in devfreq_set_target
  PM / devfreq: governor: optimize simpleondemand get_target_freq
  PM / devfreq: imx8m-ddrc: remove imx8m_ddrc_get_dev_status

 Documentation/ABI/testing/sysfs-class-devfreq |  5 +--
 drivers/devfreq/devfreq.c                     | 37 +++++++------------
 drivers/devfreq/governor.h                    |  2 -
 drivers/devfreq/governor_simpleondemand.c     | 31 ++++++++++------
 drivers/devfreq/imx8m-ddrc.c                  | 14 -------
 5 files changed, 35 insertions(+), 54 deletions(-)

--
2.25.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCH V2 0/6] PM / devfreq: a few small fixes and improvements

From: Chanwoo Choi <cw00.choi@samsung.com>
Date: 2021-03-23 03:54:56

Hi,

On 3/23/21 12:25 PM, Dong Aisheng wrote:
Hi Chanwoo,

On Tue, Mar 23, 2021 at 11:13 AM Dong Aisheng [off-list ref] wrote:
quoted
A few small fixes and improvements

ChangeLog:
v1->v2:
 * squash a few patches
 * rebase to devfreq-testing
I have to rebase to devfreq-testing instead of devfreq-next because
below two patches
only exist in devfreq-testing.
5cc75e9252e9 (devfreq/devfreq-testing) PM / devfreq: Add
devfreq_transitions debugfs file
dc9e557845c1 PM / devfreq: Add new up_threshold and down_differential
sysfs attrs
My patch 5 needs change based on it according to your suggestion. So i have to
rebase to that branch.

However, i found devfreq-testing can't build with GOV_PASSVIE enabled.
Patch 1 fixed it. You can squash to the original one when apply.

Please help take a look at this new series.
Please rebase your patches either devfreq-next or linux-next.git
Because devfreq-testing branch is not official. 
Thanks

Regards
Aisheng
quoted
 * drop two patches which are already in devfreq-next

Dong Aisheng (6):
  PM / devfreq: fix build error when DEVFREQ_GOV_PASSIVE enabled
  PM / devfreq: Use more accurate returned new_freq as resume_freq
  PM / devfreq: Remove the invalid description for get_target_freq
  PM / devfreq: bail out early if no freq changes in devfreq_set_target
  PM / devfreq: governor: optimize simpleondemand get_target_freq
  PM / devfreq: imx8m-ddrc: remove imx8m_ddrc_get_dev_status

 Documentation/ABI/testing/sysfs-class-devfreq |  5 +--
 drivers/devfreq/devfreq.c                     | 37 +++++++------------
 drivers/devfreq/governor.h                    |  2 -
 drivers/devfreq/governor_simpleondemand.c     | 31 ++++++++++------
 drivers/devfreq/imx8m-ddrc.c                  | 14 -------
 5 files changed, 35 insertions(+), 54 deletions(-)

--
2.25.1

-- 
Best Regards,
Chanwoo Choi
Samsung Electronics

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

RE: [PATCH V2 0/6] PM / devfreq: a few small fixes and improvements

From: Aisheng Dong <aisheng.dong@nxp.com>
Date: 2021-03-23 06:12:28

From: Chanwoo Choi <cw00.choi@samsung.com>
Sent: Tuesday, March 23, 2021 12:11 PM

Hi,

On 3/23/21 12:25 PM, Dong Aisheng wrote:
quoted
Hi Chanwoo,

On Tue, Mar 23, 2021 at 11:13 AM Dong Aisheng [off-list ref]
wrote:
quoted
quoted
A few small fixes and improvements

ChangeLog:
v1->v2:
 * squash a few patches
 * rebase to devfreq-testing
I have to rebase to devfreq-testing instead of devfreq-next because
below two patches only exist in devfreq-testing.
5cc75e9252e9 (devfreq/devfreq-testing) PM / devfreq: Add
devfreq_transitions debugfs file
dc9e557845c1 PM / devfreq: Add new up_threshold and down_differential
sysfs attrs My patch 5 needs change based on it according to your
suggestion. So i have to rebase to that branch.

However, i found devfreq-testing can't build with GOV_PASSVIE enabled.
Patch 1 fixed it. You can squash to the original one when apply.

Please help take a look at this new series.
Please rebase your patches either devfreq-next or linux-next.git Because
devfreq-testing branch is not official.
Okay, then how about the patch 5 below?
[PATCH V2 5/6] PM / devfreq: governor: optimize simpleondemand get_target_freq

Should I also rebase it to devfreq-next or drop it first and then resend when your patch
merged into mainline?
https://patchwork.kernel.org/project/linux-arm-kernel/patch/1615294733-22761-10-git-send-email-aisheng.dong@nxp.com/

Regards
Aisheng
quoted
Thanks

Regards
Aisheng
quoted
 * drop two patches which are already in devfreq-next

Dong Aisheng (6):
  PM / devfreq: fix build error when DEVFREQ_GOV_PASSIVE enabled
  PM / devfreq: Use more accurate returned new_freq as resume_freq
  PM / devfreq: Remove the invalid description for get_target_freq
  PM / devfreq: bail out early if no freq changes in devfreq_set_target
  PM / devfreq: governor: optimize simpleondemand get_target_freq
  PM / devfreq: imx8m-ddrc: remove imx8m_ddrc_get_dev_status

 Documentation/ABI/testing/sysfs-class-devfreq |  5 +--
 drivers/devfreq/devfreq.c                     | 37 +++++++------------
 drivers/devfreq/governor.h                    |  2 -
 drivers/devfreq/governor_simpleondemand.c     | 31 ++++++++++------
 drivers/devfreq/imx8m-ddrc.c                  | 14 -------
 5 files changed, 35 insertions(+), 54 deletions(-)

--
2.25.1

--
Best Regards,
Chanwoo Choi
Samsung Electronics
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCH V2 0/6] PM / devfreq: a few small fixes and improvements

From: Chanwoo Choi <cw00.choi@samsung.com>
Date: 2021-03-23 07:10:46

Hi,

On 3/23/21 3:11 PM, Aisheng Dong wrote:
quoted
From: Chanwoo Choi <cw00.choi@samsung.com>
Sent: Tuesday, March 23, 2021 12:11 PM

Hi,

On 3/23/21 12:25 PM, Dong Aisheng wrote:
quoted
Hi Chanwoo,

On Tue, Mar 23, 2021 at 11:13 AM Dong Aisheng [off-list ref]
wrote:
quoted
quoted
A few small fixes and improvements

ChangeLog:
v1->v2:
 * squash a few patches
 * rebase to devfreq-testing
I have to rebase to devfreq-testing instead of devfreq-next because
below two patches only exist in devfreq-testing.
5cc75e9252e9 (devfreq/devfreq-testing) PM / devfreq: Add
devfreq_transitions debugfs file
dc9e557845c1 PM / devfreq: Add new up_threshold and down_differential
sysfs attrs My patch 5 needs change based on it according to your
suggestion. So i have to rebase to that branch.

However, i found devfreq-testing can't build with GOV_PASSVIE enabled.
Patch 1 fixed it. You can squash to the original one when apply.

Please help take a look at this new series.
Please rebase your patches either devfreq-next or linux-next.git Because
devfreq-testing branch is not official.
Okay, then how about the patch 5 below?
[PATCH V2 5/6] PM / devfreq: governor: optimize simpleondemand get_target_freq

Should I also rebase it to devfreq-next or drop it first and then resend when your patch
merged into mainline?
Yes. Thanks.

[snip]

-- 
Best Regards,
Chanwoo Choi
Samsung Electronics

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help