]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/gpu/drm/i915/display/intel_overlay.c
drm/i915: Avoid calling i915_gem_object_unbind holding object lock
[linux.git] / drivers / gpu / drm / i915 / display / intel_overlay.c
index 2360f19f96945f79952f5d59b9361d4245273745..2a44b3be2600c7a1b94f38a7f53bcc3b5a1b0453 100644 (file)
@@ -30,6 +30,7 @@
 #include <drm/i915_drm.h>
 
 #include "gem/i915_gem_pm.h"
+#include "gt/intel_ring.h"
 
 #include "i915_drv.h"
 #include "i915_reg.h"
@@ -667,8 +668,8 @@ static void update_colorkey(struct intel_overlay *overlay,
        if (overlay->color_key_enabled)
                flags |= DST_KEY_ENABLE;
 
-       if (state->base.visible)
-               format = state->base.fb->format->format;
+       if (state->uapi.visible)
+               format = state->hw.fb->format->format;
 
        switch (format) {
        case DRM_FORMAT_C8:
@@ -757,10 +758,8 @@ static int intel_overlay_do_put_image(struct intel_overlay *overlay,
 
        atomic_inc(&dev_priv->gpu_error.pending_fb_pin);
 
-       i915_gem_object_lock(new_bo);
        vma = i915_gem_object_pin_to_display_plane(new_bo,
                                                   0, NULL, PIN_MAPPABLE);
-       i915_gem_object_unlock(new_bo);
        if (IS_ERR(vma)) {
                ret = PTR_ERR(vma);
                goto out_pin_section;