Commit 91a8fb07 authored by Sean Paul's avatar Sean Paul
Browse files

Revert "drm/i915: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN() part 2"



This reverts commit 984c9949.

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: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20211002154542.15800-4-sean@poorly.run
parent 1f9e2f44
Loading
Loading
Loading
Loading
+21 −19
Original line number Diff line number Diff line
@@ -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,7 +1113,13 @@ int intel_overlay_put_image_ioctl(struct drm_device *dev, void *data,
		return -ENODEV;
	}

	if (params->flags & I915_OVERLAY_ENABLE) {
	if (!(params->flags & I915_OVERLAY_ENABLE)) {
		drm_modeset_lock_all(dev);
		ret = intel_overlay_switch_off(overlay);
		drm_modeset_unlock_all(dev);

		return ret;
	}

	drmmode_crtc = drm_crtc_find(dev, file_priv, params->crtc_id);
	if (!drmmode_crtc)
@@ -1124,14 +1129,8 @@ int intel_overlay_put_image_ioctl(struct drm_device *dev, void *data,
	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)) {
		ret = intel_overlay_switch_off(overlay);
		goto out_unlock;
	}
	drm_modeset_lock_all(dev);

	if (i915_gem_object_is_tiled(new_bo)) {
		drm_dbg_kms(&dev_priv->drm,
@@ -1196,10 +1195,13 @@ 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);

	return 0;

	if (params->flags & I915_OVERLAY_ENABLE)
out_unlock:
	drm_modeset_unlock_all(dev);
	i915_gem_object_put(new_bo);

	return ret;