projects
/
firefly-linux-kernel-4.4.55.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
cbb5c1f
)
gpu: midgard: mali_kbase_pm_metrics.c init hrtimer once, fix resume bug
author
黄涛
<huangtao@rock-chips.com>
Wed, 9 Apr 2014 13:34:12 +0000
(21:34 +0800)
committer
黄涛
<huangtao@rock-chips.com>
Wed, 9 Apr 2014 13:34:12 +0000
(21:34 +0800)
drivers/gpu/arm/midgard/mali_kbase_pm_metrics.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/arm/midgard/mali_kbase_pm_metrics.c
b/drivers/gpu/arm/midgard/mali_kbase_pm_metrics.c
index 50450ed6dc3aac776acf33f2e1a76e01960ff6f1..191fd33d4117adcdfae94002f4693fd045aa9370 100755
(executable)
--- a/
drivers/gpu/arm/midgard/mali_kbase_pm_metrics.c
+++ b/
drivers/gpu/arm/midgard/mali_kbase_pm_metrics.c
@@
-62,6
+62,8
@@
static enum hrtimer_restart dvfs_callback(struct hrtimer *timer)
mali_error kbasep_pm_metrics_init(kbase_device *kbdev)
{
mali_error kbasep_pm_metrics_init(kbase_device *kbdev)
{
+ static bool timer_inited = false;
+
KBASE_DEBUG_ASSERT(kbdev != NULL);
kbdev->pm.metrics.kbdev = kbdev;
KBASE_DEBUG_ASSERT(kbdev != NULL);
kbdev->pm.metrics.kbdev = kbdev;
@@
-76,7
+78,10
@@
mali_error kbasep_pm_metrics_init(kbase_device *kbdev)
spin_lock_init(&kbdev->pm.metrics.lock);
spin_lock_init(&kbdev->pm.metrics.lock);
- hrtimer_init(&kbdev->pm.metrics.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
+ if (!timer_inited) {
+ hrtimer_init(&kbdev->pm.metrics.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
+ timer_inited = true;
+ }
kbdev->pm.metrics.timer.function = dvfs_callback;
hrtimer_start(&kbdev->pm.metrics.timer, HR_TIMER_DELAY_MSEC(kbdev->pm.platform_dvfs_frequency), HRTIMER_MODE_REL);
kbdev->pm.metrics.timer.function = dvfs_callback;
hrtimer_start(&kbdev->pm.metrics.timer, HR_TIMER_DELAY_MSEC(kbdev->pm.platform_dvfs_frequency), HRTIMER_MODE_REL);