Revert "drm/i915: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN() part 2"
This reverts commit 984c9949f1
.
This patchset breaks on intel platforms and was previously NACK'd by
Ville.
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Fernando Ramos <greenfoo@u92.eu>
Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20211002154542.15800-4-sean@poorly.run
This commit is contained in:
parent
1f9e2f4421
commit
91a8fb071f
@ -1105,7 +1105,6 @@ int intel_overlay_put_image_ioctl(struct drm_device *dev, void *data,
|
||||
struct drm_crtc *drmmode_crtc;
|
||||
struct intel_crtc *crtc;
|
||||
struct drm_i915_gem_object *new_bo;
|
||||
struct drm_modeset_acquire_ctx ctx;
|
||||
int ret;
|
||||
|
||||
overlay = dev_priv->overlay;
|
||||
@ -1114,25 +1113,25 @@ int intel_overlay_put_image_ioctl(struct drm_device *dev, void *data,
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
if (params->flags & I915_OVERLAY_ENABLE) {
|
||||
|
||||
drmmode_crtc = drm_crtc_find(dev, file_priv, params->crtc_id);
|
||||
if (!drmmode_crtc)
|
||||
return -ENOENT;
|
||||
crtc = to_intel_crtc(drmmode_crtc);
|
||||
|
||||
new_bo = i915_gem_object_lookup(file_priv, params->bo_handle);
|
||||
if (!new_bo)
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, 0, ret);
|
||||
|
||||
if (!(params->flags & I915_OVERLAY_ENABLE)) {
|
||||
drm_modeset_lock_all(dev);
|
||||
ret = intel_overlay_switch_off(overlay);
|
||||
goto out_unlock;
|
||||
drm_modeset_unlock_all(dev);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
drmmode_crtc = drm_crtc_find(dev, file_priv, params->crtc_id);
|
||||
if (!drmmode_crtc)
|
||||
return -ENOENT;
|
||||
crtc = to_intel_crtc(drmmode_crtc);
|
||||
|
||||
new_bo = i915_gem_object_lookup(file_priv, params->bo_handle);
|
||||
if (!new_bo)
|
||||
return -ENOENT;
|
||||
|
||||
drm_modeset_lock_all(dev);
|
||||
|
||||
if (i915_gem_object_is_tiled(new_bo)) {
|
||||
drm_dbg_kms(&dev_priv->drm,
|
||||
"buffer used for overlay image can not be tiled\n");
|
||||
@ -1196,11 +1195,14 @@ int intel_overlay_put_image_ioctl(struct drm_device *dev, void *data,
|
||||
if (ret != 0)
|
||||
goto out_unlock;
|
||||
|
||||
out_unlock:
|
||||
DRM_MODESET_LOCK_ALL_END(dev, ctx, ret);
|
||||
drm_modeset_unlock_all(dev);
|
||||
i915_gem_object_put(new_bo);
|
||||
|
||||
if (params->flags & I915_OVERLAY_ENABLE)
|
||||
i915_gem_object_put(new_bo);
|
||||
return 0;
|
||||
|
||||
out_unlock:
|
||||
drm_modeset_unlock_all(dev);
|
||||
i915_gem_object_put(new_bo);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user