]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915: Move intel_disable_shared_dpll() into ilk_pch_post_disable()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 10 Mar 2025 18:35:28 +0000 (20:35 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 25 Mar 2025 20:48:13 +0000 (22:48 +0200)
On ILK-IVB only PCH outputs use shared dplls. Move the relevant
intel_disable_shared_dpll() into ilk_pch_post_disable() to make
that clear (and if we extend the dpll mgr to cover all plls we need
different enable/disable points anyway for the PCH vs. CPU eDP cases).
The intel_enable_shared_dpll() counterpart was already in
ilk_pch_enable() anyway, so this is the more symmetric place for the
disable as well.

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

index 526074ed50264c6129a56ecfd3b450e78f1ba1b1..ee7812126129227971be89d3a79f944155620b03 100644 (file)
@@ -1773,8 +1773,6 @@ static void ilk_crtc_disable(struct intel_atomic_state *state,
 
        intel_set_cpu_fifo_underrun_reporting(display, pipe, true);
        intel_set_pch_fifo_underrun_reporting(display, pipe, true);
-
-       intel_disable_shared_dpll(old_crtc_state);
 }
 
 static void hsw_crtc_disable(struct intel_atomic_state *state,
index 27fb386c84c301762924fb34743e8280c0c0b2cc..b909ed18a5b2b694749b4b953ca5a881fa603028 100644 (file)
@@ -460,6 +460,8 @@ void ilk_pch_post_disable(struct intel_atomic_state *state,
 {
        struct intel_display *display = to_intel_display(crtc);
        struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
+       const struct intel_crtc_state *old_crtc_state =
+               intel_atomic_get_old_crtc_state(state, crtc);
        enum pipe pipe = crtc->pipe;
 
        ilk_disable_pch_transcoder(crtc);
@@ -476,6 +478,8 @@ void ilk_pch_post_disable(struct intel_atomic_state *state,
        }
 
        ilk_fdi_pll_disable(crtc);
+
+       intel_disable_shared_dpll(old_crtc_state);
 }
 
 static void ilk_pch_clock_get(struct intel_crtc_state *crtc_state)