Skip to content

Commit 5d22f72

Browse files
committed
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 <[email protected]> Link: https://lore.kernel.org/r/bb6d941c47260aea11e4af5d52572b0e5f139929.1746536745.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <[email protected]>
1 parent ed6da23 commit 5d22f72

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

drivers/gpu/drm/i915/display/intel_display_irq.c

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2117,32 +2117,37 @@ void valleyview_enable_display_irqs(struct intel_display *display)
21172117
{
21182118
struct drm_i915_private *dev_priv = to_i915(display->drm);
21192119

2120-
lockdep_assert_held(&dev_priv->irq_lock);
2120+
spin_lock_irq(&dev_priv->irq_lock);
21212121

21222122
if (display->irq.vlv_display_irqs_enabled)
2123-
return;
2123+
goto out;
21242124

21252125
display->irq.vlv_display_irqs_enabled = true;
21262126

21272127
if (intel_irqs_enabled(dev_priv)) {
21282128
_vlv_display_irq_reset(display);
21292129
vlv_display_irq_postinstall(display);
21302130
}
2131+
2132+
out:
2133+
spin_unlock_irq(&dev_priv->irq_lock);
21312134
}
21322135

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

2137-
lockdep_assert_held(&dev_priv->irq_lock);
2140+
spin_lock_irq(&dev_priv->irq_lock);
21382141

21392142
if (!display->irq.vlv_display_irqs_enabled)
2140-
return;
2143+
goto out;
21412144

21422145
display->irq.vlv_display_irqs_enabled = false;
21432146

21442147
if (intel_irqs_enabled(dev_priv))
21452148
_vlv_display_irq_reset(display);
2149+
out:
2150+
spin_unlock_irq(&dev_priv->irq_lock);
21462151
}
21472152

21482153
void ilk_de_irq_postinstall(struct intel_display *display)

drivers/gpu/drm/i915/display/intel_display_power_well.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1212,7 +1212,6 @@ static void vlv_init_display_clock_gating(struct intel_display *display)
12121212

12131213
static void vlv_display_power_well_init(struct intel_display *display)
12141214
{
1215-
struct drm_i915_private *dev_priv = to_i915(display->drm);
12161215
struct intel_encoder *encoder;
12171216
enum pipe pipe;
12181217

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

12371236
vlv_init_display_clock_gating(display);
12381237

1239-
spin_lock_irq(&dev_priv->irq_lock);
12401238
valleyview_enable_display_irqs(display);
1241-
spin_unlock_irq(&dev_priv->irq_lock);
12421239

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

1268-
spin_lock_irq(&dev_priv->irq_lock);
12691265
valleyview_disable_display_irqs(display);
1270-
spin_unlock_irq(&dev_priv->irq_lock);
12711266

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

0 commit comments

Comments
 (0)