mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 05:55:44 +02:00
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: Gustavo Sousa <gustavo.sousa@intel.com> Link: https://lore.kernel.org/r/bb6d941c47260aea11e4af5d52572b0e5f139929.1746536745.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
ed6da23b66
commit
5d22f72026
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user