On Wed, 2015-09-23 at 13:27 +0200, Maarten Lankhorst wrote: > Now that we agreed on not preserving framebuffers pinning is finally > allowed to fail because of signals. Use this to make pinning > and acquire the mutex in an interruptible way too. > > Unpinning is still uninterruptible, because it happens as a cleanup > of old state, or undoing pins after one of the pins failed. > > The intel_pin_and_fence_fb_obj in page_flip will also wait interruptibly, > and can be aborted now. > > Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_display.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c > b/drivers/gpu/drm/i915/intel_display.c > index ac97af69be62..25e1eac260fd 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -2349,11 +2349,10 @@ intel_pin_and_fence_fb_obj(struct drm_plane *plane, > */ > intel_runtime_pm_get(dev_priv); > > - dev_priv->mm.interruptible = false; > ret = i915_gem_object_pin_to_display_plane(obj, alignment, pipelined, > pipelined_request, &view); > if (ret) > - goto err_interruptible; > + goto err_pm; > > /* Install a fence for tiled scan-out. Pre-i965 always needs a > * fence, whereas 965+ only requires a fence if using > @@ -2377,14 +2376,12 @@ intel_pin_and_fence_fb_obj(struct drm_plane *plane, > > i915_gem_object_pin_fence(obj); > > - dev_priv->mm.interruptible = true; > intel_runtime_pm_put(dev_priv); > return 0; > > err_unpin: > i915_gem_object_unpin_from_display_plane(obj, &view); > -err_interruptible: > - dev_priv->mm.interruptible = true; > +err_pm: > intel_runtime_pm_put(dev_priv); > return ret; > } > @@ -13305,7 +13302,9 @@ intel_prepare_plane_fb(struct drm_plane *plane, > if (!obj && !old_obj) > return 0; > > - mutex_lock(&dev->struct_mutex); > + ret = i915_mutex_lock_interruptible(dev); > + if (ret) > + return ret; > > if (!obj) { > ret = 0; _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx