diff options
author | Paulo Zanoni <paulo.r.zanoni@intel.com> | 2013-11-27 15:20:34 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-12-10 16:47:33 -0500 |
commit | f65c9168983926962b25ae19073474d60dea0442 (patch) | |
tree | 97e73144ba856dd74424d27c2bef762f1916fcf4 /drivers/gpu/drm/i915/i915_gem_execbuffer.c | |
parent | cd2e9e908a86c44c83026acd95520a2761f0d64c (diff) |
drm/i915: add runtime put/get calls at the basic places
If I add code to enable runtime PM on my Haswell machine, start a
desktop environment, then enable runtime PM, these functions will
complain that they're trying to read/write registers while the
graphics card is suspended.
v2: - Simplify i915_gem_fault changes.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
[danvet: Drop the hunk in i915_hangcheck_elapsed, it's the wrong thing
to do.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem_execbuffer.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem_execbuffer.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c index 9282b4c411f6..bceddf5a04bc 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c | |||
@@ -1108,6 +1108,8 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data, | |||
1108 | } | 1108 | } |
1109 | } | 1109 | } |
1110 | 1110 | ||
1111 | intel_runtime_pm_get(dev_priv); | ||
1112 | |||
1111 | ret = i915_mutex_lock_interruptible(dev); | 1113 | ret = i915_mutex_lock_interruptible(dev); |
1112 | if (ret) | 1114 | if (ret) |
1113 | goto pre_mutex_err; | 1115 | goto pre_mutex_err; |
@@ -1237,6 +1239,10 @@ err: | |||
1237 | 1239 | ||
1238 | pre_mutex_err: | 1240 | pre_mutex_err: |
1239 | kfree(cliprects); | 1241 | kfree(cliprects); |
1242 | |||
1243 | /* intel_gpu_busy should also get a ref, so it will free when the device | ||
1244 | * is really idle. */ | ||
1245 | intel_runtime_pm_put(dev_priv); | ||
1240 | return ret; | 1246 | return ret; |
1241 | } | 1247 | } |
1242 | 1248 | ||