mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 20:07:46 +09:00
PM / devfreq: Fix wrong trans_stat of passive devfreq device
commit30582c25a4upstream. Until now, the trans_stat information of passive devfreq is not updated. This patch updates the trans_stat information after setting the target frequency of passive devfreq device. Fixes:996133119f("PM / devfreq: Add new passive governor") Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
2294b771a4
commit
fe8f92c7be
@@ -130,7 +130,7 @@ static void devfreq_set_freq_table(struct devfreq *devfreq)
|
|||||||
* @devfreq: the devfreq instance
|
* @devfreq: the devfreq instance
|
||||||
* @freq: the update target frequency
|
* @freq: the update target frequency
|
||||||
*/
|
*/
|
||||||
static int devfreq_update_status(struct devfreq *devfreq, unsigned long freq)
|
int devfreq_update_status(struct devfreq *devfreq, unsigned long freq)
|
||||||
{
|
{
|
||||||
int lev, prev_lev, ret = 0;
|
int lev, prev_lev, ret = 0;
|
||||||
unsigned long cur_time;
|
unsigned long cur_time;
|
||||||
@@ -166,6 +166,7 @@ out:
|
|||||||
devfreq->last_stat_updated = cur_time;
|
devfreq->last_stat_updated = cur_time;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(devfreq_update_status);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* find_devfreq_governor() - find devfreq governor from name
|
* find_devfreq_governor() - find devfreq governor from name
|
||||||
|
|||||||
@@ -38,4 +38,6 @@ extern void devfreq_interval_update(struct devfreq *devfreq,
|
|||||||
extern int devfreq_add_governor(struct devfreq_governor *governor);
|
extern int devfreq_add_governor(struct devfreq_governor *governor);
|
||||||
extern int devfreq_remove_governor(struct devfreq_governor *governor);
|
extern int devfreq_remove_governor(struct devfreq_governor *governor);
|
||||||
|
|
||||||
|
extern int devfreq_update_status(struct devfreq *devfreq, unsigned long freq);
|
||||||
|
|
||||||
#endif /* _GOVERNOR_H */
|
#endif /* _GOVERNOR_H */
|
||||||
|
|||||||
@@ -112,6 +112,11 @@ static int update_devfreq_passive(struct devfreq *devfreq, unsigned long freq)
|
|||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
if (devfreq->profile->freq_table
|
||||||
|
&& (devfreq_update_status(devfreq, freq)))
|
||||||
|
dev_err(&devfreq->dev,
|
||||||
|
"Couldn't update frequency transition information.\n");
|
||||||
|
|
||||||
devfreq->previous_freq = freq;
|
devfreq->previous_freq = freq;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
|||||||
Reference in New Issue
Block a user