aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_debugfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/i915_debugfs.c')
-rw-r--r--drivers/gpu/drm/i915/i915_debugfs.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 5fd6a5db6eb5..a569597125db 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -847,6 +847,8 @@ static int i915_cur_delayinfo(struct seq_file *m, void *unused)
847 drm_i915_private_t *dev_priv = dev->dev_private; 847 drm_i915_private_t *dev_priv = dev->dev_private;
848 int ret; 848 int ret;
849 849
850 flush_delayed_work(&dev_priv->rps.delayed_resume_work);
851
850 if (IS_GEN5(dev)) { 852 if (IS_GEN5(dev)) {
851 u16 rgvswctl = I915_READ16(MEMSWCTL); 853 u16 rgvswctl = I915_READ16(MEMSWCTL);
852 u16 rgvstat = I915_READ16(MEMSTAT_ILK); 854 u16 rgvstat = I915_READ16(MEMSTAT_ILK);
@@ -1325,6 +1327,8 @@ static int i915_ring_freq_table(struct seq_file *m, void *unused)
1325 return 0; 1327 return 0;
1326 } 1328 }
1327 1329
1330 flush_delayed_work(&dev_priv->rps.delayed_resume_work);
1331
1328 ret = mutex_lock_interruptible(&dev_priv->rps.hw_lock); 1332 ret = mutex_lock_interruptible(&dev_priv->rps.hw_lock);
1329 if (ret) 1333 if (ret)
1330 return ret; 1334 return ret;
@@ -1940,6 +1944,8 @@ i915_max_freq_get(void *data, u64 *val)
1940 if (!(IS_GEN6(dev) || IS_GEN7(dev))) 1944 if (!(IS_GEN6(dev) || IS_GEN7(dev)))
1941 return -ENODEV; 1945 return -ENODEV;
1942 1946
1947 flush_delayed_work(&dev_priv->rps.delayed_resume_work);
1948
1943 ret = mutex_lock_interruptible(&dev_priv->rps.hw_lock); 1949 ret = mutex_lock_interruptible(&dev_priv->rps.hw_lock);
1944 if (ret) 1950 if (ret)
1945 return ret; 1951 return ret;
@@ -1964,6 +1970,8 @@ i915_max_freq_set(void *data, u64 val)
1964 if (!(IS_GEN6(dev) || IS_GEN7(dev))) 1970 if (!(IS_GEN6(dev) || IS_GEN7(dev)))
1965 return -ENODEV; 1971 return -ENODEV;
1966 1972
1973 flush_delayed_work(&dev_priv->rps.delayed_resume_work);
1974
1967 DRM_DEBUG_DRIVER("Manually setting max freq to %llu\n", val); 1975 DRM_DEBUG_DRIVER("Manually setting max freq to %llu\n", val);
1968 1976
1969 ret = mutex_lock_interruptible(&dev_priv->rps.hw_lock); 1977 ret = mutex_lock_interruptible(&dev_priv->rps.hw_lock);
@@ -2002,6 +2010,8 @@ i915_min_freq_get(void *data, u64 *val)
2002 if (!(IS_GEN6(dev) || IS_GEN7(dev))) 2010 if (!(IS_GEN6(dev) || IS_GEN7(dev)))
2003 return -ENODEV; 2011 return -ENODEV;
2004 2012
2013 flush_delayed_work(&dev_priv->rps.delayed_resume_work);
2014
2005 ret = mutex_lock_interruptible(&dev_priv->rps.hw_lock); 2015 ret = mutex_lock_interruptible(&dev_priv->rps.hw_lock);
2006 if (ret) 2016 if (ret)
2007 return ret; 2017 return ret;
@@ -2026,6 +2036,8 @@ i915_min_freq_set(void *data, u64 val)
2026 if (!(IS_GEN6(dev) || IS_GEN7(dev))) 2036 if (!(IS_GEN6(dev) || IS_GEN7(dev)))
2027 return -ENODEV; 2037 return -ENODEV;
2028 2038
2039 flush_delayed_work(&dev_priv->rps.delayed_resume_work);
2040
2029 DRM_DEBUG_DRIVER("Manually setting min freq to %llu\n", val); 2041 DRM_DEBUG_DRIVER("Manually setting min freq to %llu\n", val);
2030 2042
2031 ret = mutex_lock_interruptible(&dev_priv->rps.hw_lock); 2043 ret = mutex_lock_interruptible(&dev_priv->rps.hw_lock);