Message ID | 20230928152450.30109-2-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] drm/i915: Stop accessing crtc->state from the flip done irq | expand |
> -----Original Message----- > From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville > Syrjala > Sent: Thursday, September 28, 2023 8:55 PM > To: intel-gfx@lists.freedesktop.org > Subject: [Intel-gfx] [PATCH 2/2] drm/i915: Drop irqsave/restore for > flip_done_handler() > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Since flip_done_handler() is always called from the irq handler we can skip the > irqsave/restore dance. > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com> Thanks and Regards, Arun R Murthy -------------------- > --- > drivers/gpu/drm/i915/display/intel_display_irq.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c > b/drivers/gpu/drm/i915/display/intel_display_irq.c > index d3df615f0e48..95e1bf5d8707 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_irq.c > +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c > @@ -340,17 +340,15 @@ static void flip_done_handler(struct > drm_i915_private *i915, > enum pipe pipe) > { > struct intel_crtc *crtc = intel_crtc_for_pipe(i915, pipe); > - struct drm_device *dev = &i915->drm; > - unsigned long irqflags; > > - spin_lock_irqsave(&dev->event_lock, irqflags); > + spin_lock(&i915->drm.event_lock); > > if (crtc->flip_done_event) { > drm_crtc_send_vblank_event(&crtc->base, crtc- > >flip_done_event); > crtc->flip_done_event = NULL; > } > > - spin_unlock_irqrestore(&dev->event_lock, irqflags); > + spin_unlock(&i915->drm.event_lock); > } > > static void hsw_pipe_crc_irq_handler(struct drm_i915_private *dev_priv, > -- > 2.41.0
diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c index d3df615f0e48..95e1bf5d8707 100644 --- a/drivers/gpu/drm/i915/display/intel_display_irq.c +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c @@ -340,17 +340,15 @@ static void flip_done_handler(struct drm_i915_private *i915, enum pipe pipe) { struct intel_crtc *crtc = intel_crtc_for_pipe(i915, pipe); - struct drm_device *dev = &i915->drm; - unsigned long irqflags; - spin_lock_irqsave(&dev->event_lock, irqflags); + spin_lock(&i915->drm.event_lock); if (crtc->flip_done_event) { drm_crtc_send_vblank_event(&crtc->base, crtc->flip_done_event); crtc->flip_done_event = NULL; } - spin_unlock_irqrestore(&dev->event_lock, irqflags); + spin_unlock(&i915->drm.event_lock); } static void hsw_pipe_crc_irq_handler(struct drm_i915_private *dev_priv,