Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 24955f24 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/i915: Clarify mmio_flip_lock locking



The ->queue_flip callback is always called from process context, so
plain _irq spinlock variants are enough.

Reviewed-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent d2e40e27
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -9792,7 +9792,6 @@ static int intel_queue_mmio_flip(struct drm_device *dev,
{
	struct drm_i915_private *dev_priv = dev->dev_private;
	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
	unsigned long irq_flags;
	int ret;

	if (WARN_ON(intel_crtc->mmio_flip.seqno))
@@ -9806,10 +9805,10 @@ static int intel_queue_mmio_flip(struct drm_device *dev,
		return 0;
	}

	spin_lock_irqsave(&dev_priv->mmio_flip_lock, irq_flags);
	spin_lock_irq(&dev_priv->mmio_flip_lock);
	intel_crtc->mmio_flip.seqno = obj->last_write_seqno;
	intel_crtc->mmio_flip.ring_id = obj->ring->id;
	spin_unlock_irqrestore(&dev_priv->mmio_flip_lock, irq_flags);
	spin_unlock_irq(&dev_priv->mmio_flip_lock);

	/*
	 * Double check to catch cases where irq fired before