diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_debugfs.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_debugfs.c | 12 |
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); |