]> www.infradead.org Git - linux-platform-drivers-x86.git/commitdiff
drm/i915: Add missing ww lock in intel_dsb_prepare.
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Tue, 23 Mar 2021 15:50:27 +0000 (16:50 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 24 Mar 2021 16:29:02 +0000 (17:29 +0100)
Because of the long lifetime of the mapping, we cannot wrap this in a
simple limited ww lock. Just use the unlocked version of pin_map,
because we'll likely release the mapping a lot later, in a different
thread.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20210323155059.628690-39-maarten.lankhorst@linux.intel.com
drivers/gpu/drm/i915/display/intel_dsb.c

index 566fa72427b33cafc9b0e0af7ac5fd96d188c9bd..857126822a88bc58dee4571755492bcfa120b5b9 100644 (file)
@@ -293,7 +293,7 @@ void intel_dsb_prepare(struct intel_crtc_state *crtc_state)
                goto out;
        }
 
-       buf = i915_gem_object_pin_map(vma->obj, I915_MAP_WC);
+       buf = i915_gem_object_pin_map_unlocked(vma->obj, I915_MAP_WC);
        if (IS_ERR(buf)) {
                drm_err(&i915->drm, "Command buffer creation failed\n");
                i915_vma_unpin_and_release(&vma, I915_VMA_RELEASE_MAP);