|
@@ -2378,11 +2378,10 @@ intel_pin_and_fence_fb_obj(struct drm_plane *plane,
|
|
*/
|
|
*/
|
|
intel_runtime_pm_get(dev_priv);
|
|
intel_runtime_pm_get(dev_priv);
|
|
|
|
|
|
- dev_priv->mm.interruptible = false;
|
|
|
|
ret = i915_gem_object_pin_to_display_plane(obj, alignment, pipelined,
|
|
ret = i915_gem_object_pin_to_display_plane(obj, alignment, pipelined,
|
|
pipelined_request, &view);
|
|
pipelined_request, &view);
|
|
if (ret)
|
|
if (ret)
|
|
- goto err_interruptible;
|
|
|
|
|
|
+ goto err_pm;
|
|
|
|
|
|
/* Install a fence for tiled scan-out. Pre-i965 always needs a
|
|
/* Install a fence for tiled scan-out. Pre-i965 always needs a
|
|
* fence, whereas 965+ only requires a fence if using
|
|
* fence, whereas 965+ only requires a fence if using
|
|
@@ -2406,14 +2405,12 @@ intel_pin_and_fence_fb_obj(struct drm_plane *plane,
|
|
|
|
|
|
i915_gem_object_pin_fence(obj);
|
|
i915_gem_object_pin_fence(obj);
|
|
|
|
|
|
- dev_priv->mm.interruptible = true;
|
|
|
|
intel_runtime_pm_put(dev_priv);
|
|
intel_runtime_pm_put(dev_priv);
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
err_unpin:
|
|
err_unpin:
|
|
i915_gem_object_unpin_from_display_plane(obj, &view);
|
|
i915_gem_object_unpin_from_display_plane(obj, &view);
|
|
-err_interruptible:
|
|
|
|
- dev_priv->mm.interruptible = true;
|
|
|
|
|
|
+err_pm:
|
|
intel_runtime_pm_put(dev_priv);
|
|
intel_runtime_pm_put(dev_priv);
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
@@ -13341,7 +13338,9 @@ intel_prepare_plane_fb(struct drm_plane *plane,
|
|
if (!obj && !old_obj)
|
|
if (!obj && !old_obj)
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
- mutex_lock(&dev->struct_mutex);
|
|
|
|
|
|
+ ret = i915_mutex_lock_interruptible(dev);
|
|
|
|
+ if (ret)
|
|
|
|
+ return ret;
|
|
|
|
|
|
if (!obj) {
|
|
if (!obj) {
|
|
ret = 0;
|
|
ret = 0;
|