]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/i915: Apply the i915gm/i945gm irq C-state w/a to CRC interrupts
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 1 Oct 2024 19:58:03 +0000 (22:58 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 3 Oct 2024 11:50:25 +0000 (14:50 +0300)
commite2f5812ebf6af7e67ac50f0abb11249f6171b8a2
tree1531c82f777777ba111411bd2d1ba41f04f52fbb
parentf45cc1d373aeeabaaed0cef6c938bfcbbbd9962f
drm/i915: Apply the i915gm/i945gm irq C-state w/a to CRC interrupts

Turns out CRC interrupts also fail to wake up i915gm/i945gm from
C2+. I suppose this is a generic problem, but for most other
interrupts the system will be busy enough already prior to
the irq being issued. But CRC interrupts are like vblank interrupts
and only fire once per frame, so plenty of time to fall asleep
in between them.

Apply the same core clock gating trick to CRC interrupts
that we use for vblank interrupts.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241001195803.3371-5-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_display_irq.c
drivers/gpu/drm/i915/display/intel_display_irq.h
drivers/gpu/drm/i915/display/intel_pipe_crc.c