2021-03-23 07:35:51

by Aisheng Dong

[permalink] [raw]
Subject: [PATCH V2 RESEND 0/4] PM / devfreq: a few small fixes and improvements

A few small fixes and improvements

ChangeLog:
v2 Resend:
* rebase to devfreq-next
* drop original patch 1 & 5.
Patch 5 will be re-sent later when dependent patches merged.
v1->v2:
* squash a few patches
* rebase to devfreq-testing


Dong Aisheng (4):
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: imx8m-ddrc: remove imx8m_ddrc_get_dev_status

Documentation/ABI/testing/sysfs-class-devfreq | 5 +----
drivers/devfreq/devfreq.c | 11 +++++++----
drivers/devfreq/governor.h | 2 --
drivers/devfreq/imx8m-ddrc.c | 14 --------------
4 files changed, 8 insertions(+), 24 deletions(-)

--
2.25.1


2021-03-23 07:37:47

by Aisheng Dong

[permalink] [raw]
Subject: [PATCH V2 RESEND 4/4] PM / devfreq: imx8m-ddrc: remove imx8m_ddrc_get_dev_status

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 <[email protected]>
---
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

2021-03-24 03:09:44

by Chanwoo Choi

[permalink] [raw]
Subject: Re: [PATCH V2 RESEND 4/4] PM / devfreq: imx8m-ddrc: remove imx8m_ddrc_get_dev_status

On 21. 3. 23. 오후 4:20, Dong Aisheng wrote:
> 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 <[email protected]>
> ---
> 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);
>

Applied it. Thanks.

--
Best Regards,
Samsung Electronics
Chanwoo Choi