drm/i915: Simplify cdclk_disable_noatomic()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 6 Mar 2025 16:34:16 +0000 (18:34 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 7 Mar 2025 17:02:52 +0000 (19:02 +0200)
Instead of hand rolling the cdclk state disabling for a
pipe in noatomic() let's just recompute the whole thing
from scratch. Less code we have to remember to keep in sync.

Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250306163420.3961-15-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_cdclk.c

index 62caee4..2a8749a 100644 (file)
@@ -3364,13 +3364,8 @@ void intel_cdclk_update_hw_state(struct intel_display *display)
 void intel_cdclk_crtc_disable_noatomic(struct intel_crtc *crtc)
 {
        struct intel_display *display = to_intel_display(crtc);
-       struct intel_cdclk_state *cdclk_state =
-               to_intel_cdclk_state(display->cdclk.obj.state);
-       enum pipe pipe = crtc->pipe;
 
-       cdclk_state->min_cdclk[pipe] = 0;
-       cdclk_state->min_voltage_level[pipe] = 0;
-       cdclk_state->active_pipes &= ~BIT(pipe);
+       intel_cdclk_update_hw_state(display);
 }
 
 static int intel_compute_max_dotclk(struct intel_display *display)