drm/i915: Stop accessing crtc->state from the flip done irq
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 28 Sep 2023 15:24:49 +0000 (18:24 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Sat, 9 Dec 2023 02:13:57 +0000 (04:13 +0200)
commit6128becaeafa876048bd1b6a83d836329e4940c5
treeee4a84a8d0b735003dbe1bd16f0ee25f41931d0a
parent872ee9cc0219334486e19da20e56665e612fdcb7
drm/i915: Stop accessing crtc->state from the flip done irq

Assuming crtc->state is pointing at the correct thing for the
async flip commit is nonsense. If we had already queued up multiple
commits this would point at the very lates crtc state even if the
older commits hadn't even happened yet.

Instead properly stage/arm the event like we do for async flips.
Since we don't need to arm multiple of these at the same time we
don't need a list like the normal vblank even processing uses.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230928152450.30109-1-ville.syrjala@linux.intel.com
Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com>
drivers/gpu/drm/i915/display/intel_crtc.c
drivers/gpu/drm/i915/display/intel_display_irq.c
drivers/gpu/drm/i915/display/intel_display_types.h