drm/i915: Check pipe active state in {planes,vrr}_{enabling,disabling}()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 21 Nov 2023 05:43:14 +0000 (07:43 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 23 Nov 2023 12:33:03 +0000 (14:33 +0200)
commitbc53c4d56eb24dbe56cd2c66ef4e9fc9393b1533
tree19e9d9d050236b83bbfdf07062292170fd8a5f09
parent8a9fd9ecc4f1f72839c94cc2ec6846d6d9a71987
drm/i915: Check pipe active state in {planes,vrr}_{enabling,disabling}()

{planes,vrr}_{enabling,disabling}() are supposed to indicate
whether the specific hardware feature is supposed to be enabling
or disabling. That can only makes sense if the pipe is active
overall. So check for that before we go poking at the hardware.

I think we're semi-safe currently on due to:
- intel_pre_plane_update() doesn't get called when the pipe
  was not-active prior to the commit, but this is actually a bug.
  This saves vrr_disabling(), and vrr_enabling() is called from
  deeper down where we have already checked hw.active.
- active_planes mirrors the crtc's hw.active

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