Commit 5d22f720 authored by Jani Nikula's avatar Jani Nikula
Browse files

drm/i915/irq: move locking inside valleyview_{enable, disable}_display_irqs()



All users of valleyview_enable_display_irqs() and
valleyview_disable_display_irqs() have a lock/unlock pair. Move the
locking inside the functions.

Reviewed-by: default avatarGustavo Sousa <gustavo.sousa@intel.com>
Link: https://lore.kernel.org/r/bb6d941c47260aea11e4af5d52572b0e5f139929.1746536745.git.jani.nikula@intel.com


Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parent ed6da23b
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -2117,10 +2117,10 @@ void valleyview_enable_display_irqs(struct intel_display *display)
{
	struct drm_i915_private *dev_priv = to_i915(display->drm);

	lockdep_assert_held(&dev_priv->irq_lock);
	spin_lock_irq(&dev_priv->irq_lock);

	if (display->irq.vlv_display_irqs_enabled)
		return;
		goto out;

	display->irq.vlv_display_irqs_enabled = true;

@@ -2128,21 +2128,26 @@ void valleyview_enable_display_irqs(struct intel_display *display)
		_vlv_display_irq_reset(display);
		vlv_display_irq_postinstall(display);
	}

out:
	spin_unlock_irq(&dev_priv->irq_lock);
}

void valleyview_disable_display_irqs(struct intel_display *display)
{
	struct drm_i915_private *dev_priv = to_i915(display->drm);

	lockdep_assert_held(&dev_priv->irq_lock);
	spin_lock_irq(&dev_priv->irq_lock);

	if (!display->irq.vlv_display_irqs_enabled)
		return;
		goto out;

	display->irq.vlv_display_irqs_enabled = false;

	if (intel_irqs_enabled(dev_priv))
		_vlv_display_irq_reset(display);
out:
	spin_unlock_irq(&dev_priv->irq_lock);
}

void ilk_de_irq_postinstall(struct intel_display *display)
+0 −5
Original line number Diff line number Diff line
@@ -1212,7 +1212,6 @@ static void vlv_init_display_clock_gating(struct intel_display *display)

static void vlv_display_power_well_init(struct intel_display *display)
{
	struct drm_i915_private *dev_priv = to_i915(display->drm);
	struct intel_encoder *encoder;
	enum pipe pipe;

@@ -1236,9 +1235,7 @@ static void vlv_display_power_well_init(struct intel_display *display)

	vlv_init_display_clock_gating(display);

	spin_lock_irq(&dev_priv->irq_lock);
	valleyview_enable_display_irqs(display);
	spin_unlock_irq(&dev_priv->irq_lock);

	/*
	 * During driver initialization/resume we can avoid restoring the
@@ -1265,9 +1262,7 @@ static void vlv_display_power_well_deinit(struct intel_display *display)
{
	struct drm_i915_private *dev_priv = to_i915(display->drm);

	spin_lock_irq(&dev_priv->irq_lock);
	valleyview_disable_display_irqs(display);
	spin_unlock_irq(&dev_priv->irq_lock);

	/* make sure we're done processing display irqs */
	intel_synchronize_irq(dev_priv);