PM: devfreq: init performance/powersave governor
MyungJoo Ham
Acked-byQuoted 6 lines
Performance and powersave governor's
get_target_freqis not called if driver chooses one of these two governors. Add init function in governor profile to callupdate_devfreqwhich will callget_target_freqsubsequently.Signed-off-by Xiaoguang Chen <[email protected]>
Hello Xiaoguang,
Yes, if we do not call any QoS, min/max, OPP interfaces or enable polling, we need to call this at init. In fact, this is a bugfix patch.
Thank you!
Cheers!
MyungJoo.
Quoted 63 lines
--- drivers/devfreq/governor_performance.c | 7 +++++++ drivers/devfreq/governor_powersave.c | 7 +++++++ 2 files changed, 14 insertions(+), 0 deletions(-)drivers/devfreq/governor_performance.c +7
-0@@ -10,6 +10,7 @@*/ #include <linux/devfreq.h> +#include "governor.h" static int devfreq_performance_func (struct devfreq *df,unsigned long *freq)@@ -25,8 +26,14 @@ static int devfreq_performance_func(struct devfreq *df,return 0 ; } +static int performance_init (struct devfreq *devfreq) +{ +return update_devfreq (devfreq); +} +const struct devfreq_governor devfreq_performance = { .name ="performance" , + .init = performance_init, .get_target_freq = devfreq_performance_func, .no_central_polling = true, };drivers/devfreq/governor_powersave.c +7
-0@@ -10,6 +10,7 @@*/ #include <linux/devfreq.h> +#include "governor.h" static int devfreq_powersave_func (struct devfreq *df,unsigned long *freq)@@ -22,8 +23,14 @@ static int devfreq_powersave_func(struct devfreq *df,return 0 ; } +static int powersave_init (struct devfreq *devfreq) +{ +return update_devfreq (devfreq); +} +const struct devfreq_governor devfreq_powersave = { .name ="powersave" , + .init = powersave_init, .get_target_freq = devfreq_powersave_func, .no_central_polling = true, };Signature · 1 line
1.7.0.4
�淸�{.n�+돴윯돪�+%듚�깁負쪐w��{.n�+돴쪐{깸G쳺��{ay����,j�f"톒쉹��묎�z_溫(�쉸듶줷"얎�m����G쳺�◀?솳鈺�&x�~뤳턨O뺞촾퇉v�^�m����띠�◀?뻀�
Rafael J. Wysocki
AppliedQuoted 7 lines · MyungJoo Ham
Quoted 6 lines
Performance and powersave governor's
get_target_freqis not called if driver chooses one of these two governors. Add init function in governor profile to callupdate_devfreqwhich will callget_target_freqsubsequently.Signed-off-by Xiaoguang Chen <[email protected]>Acked-by MyungJoo Ham <[email protected]>
Applied to linux-pm/linux-next.
Thanks,
Rafael
Quoted 72 lines
Hello Xiaoguang,
Yes, if we do not call any QoS, min/max, OPP interfaces or enable polling, we need to call this at init. In fact, this is a bugfix patch.
Thank you!
Cheers!
MyungJoo.Quoted 59 lines
--- drivers/devfreq/governor_performance.c | 7 +++++++ drivers/devfreq/governor_powersave.c | 7 +++++++ 2 files changed, 14 insertions(+), 0 deletions(-)drivers/devfreq/governor_performance.c +7
-0@@ -10,6 +10,7 @@*/ #include <linux/devfreq.h> +#include "governor.h" static int devfreq_performance_func (struct devfreq *df,unsigned long *freq)@@ -25,8 +26,14 @@ static int devfreq_performance_func(struct devfreq *df,return 0 ; } +static int performance_init (struct devfreq *devfreq) +{ +return update_devfreq (devfreq); +} +const struct devfreq_governor devfreq_performance = { .name ="performance" , + .init = performance_init, .get_target_freq = devfreq_performance_func, .no_central_polling = true, };drivers/devfreq/governor_powersave.c +7
-0@@ -10,6 +10,7 @@*/ #include <linux/devfreq.h> +#include "governor.h" static int devfreq_powersave_func (struct devfreq *df,unsigned long *freq)@@ -22,8 +23,14 @@ static int devfreq_powersave_func(struct devfreq *df,return 0 ; } +static int powersave_init (struct devfreq *devfreq) +{ +return update_devfreq (devfreq); +} +const struct devfreq_governor devfreq_powersave = { .name ="powersave" , + .init = powersave_init, .get_target_freq = devfreq_powersave_func, .no_central_polling = true, };