mirror of https://gitee.com/openkylin/linux.git
PM / devfreq: tegra: Avoid inconsistency of current frequency value
The frequency value potentially could change in-between. It doesn't cause any real problem at all right now, but that could change in the future. Hence let's avoid the inconsistency. Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Acked-by: Thierry Reding <treding@nvidia.com> Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
This commit is contained in:
parent
8fda5c1fab
commit
151531f79a
|
@ -497,13 +497,15 @@ static int tegra_devfreq_get_dev_status(struct device *dev,
|
|||
{
|
||||
struct tegra_devfreq *tegra = dev_get_drvdata(dev);
|
||||
struct tegra_devfreq_device *actmon_dev;
|
||||
unsigned long cur_freq;
|
||||
|
||||
stat->current_frequency = tegra->cur_freq * KHZ;
|
||||
cur_freq = READ_ONCE(tegra->cur_freq);
|
||||
|
||||
/* To be used by the tegra governor */
|
||||
stat->private_data = tegra;
|
||||
|
||||
/* The below are to be used by the other governors */
|
||||
stat->current_frequency = cur_freq * KHZ;
|
||||
|
||||
actmon_dev = &tegra->devices[MCALL];
|
||||
|
||||
|
@ -514,7 +516,7 @@ static int tegra_devfreq_get_dev_status(struct device *dev,
|
|||
stat->busy_time *= 100 / BUS_SATURATION_RATIO;
|
||||
|
||||
/* Number of cycles in a sampling period */
|
||||
stat->total_time = ACTMON_SAMPLING_PERIOD * tegra->cur_freq;
|
||||
stat->total_time = ACTMON_SAMPLING_PERIOD * cur_freq;
|
||||
|
||||
stat->busy_time = min(stat->busy_time, stat->total_time);
|
||||
|
||||
|
|
Loading…
Reference in New Issue