From: Ville Syrjälä Date: Tue, 23 Sep 2025 17:19:42 +0000 (+0300) Subject: drm/i915/cdclk: Move intel_cdclk_atomic_check() X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a051ef9f12f5b15857b54d6d68f1f525959c7ad9;p=thirdparty%2Fkernel%2Flinux.git drm/i915/cdclk: Move intel_cdclk_atomic_check() Move intel_cdclk_atomic_check() a bit so that we don't need an extra intel_modeset_calc_cdclk() forward declaration. Signed-off-by: Ville Syrjälä Link: https://patchwork.freedesktop.org/patch/msgid/20250923171943.7319-21-ville.syrjala@linux.intel.com Reviewed-by: Mika Kahola --- diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c index dc10223cbc15d..f2e092f89ddd7 100644 --- a/drivers/gpu/drm/i915/display/intel_cdclk.c +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c @@ -3311,48 +3311,6 @@ static int intel_crtcs_calc_min_cdclk(struct intel_atomic_state *state, return 0; } -static int intel_modeset_calc_cdclk(struct intel_atomic_state *state); - -int intel_cdclk_atomic_check(struct intel_atomic_state *state) -{ - const struct intel_cdclk_state *old_cdclk_state; - struct intel_cdclk_state *new_cdclk_state; - bool need_cdclk_calc = false; - int ret; - - ret = intel_cdclk_modeset_checks(state, &need_cdclk_calc); - if (ret) - return ret; - - ret = intel_crtcs_calc_min_cdclk(state, &need_cdclk_calc); - if (ret) - return ret; - - ret = intel_bw_calc_min_cdclk(state, &need_cdclk_calc); - if (ret) - return ret; - - old_cdclk_state = intel_atomic_get_old_cdclk_state(state); - new_cdclk_state = intel_atomic_get_new_cdclk_state(state); - - if (new_cdclk_state && - old_cdclk_state->force_min_cdclk != new_cdclk_state->force_min_cdclk) { - ret = intel_atomic_lock_global_state(&new_cdclk_state->base); - if (ret) - return ret; - - need_cdclk_calc = true; - } - - if (need_cdclk_calc) { - ret = intel_modeset_calc_cdclk(state); - if (ret) - return ret; - } - - return 0; -} - int intel_cdclk_state_set_joined_mbus(struct intel_atomic_state *state, bool joined_mbus) { struct intel_cdclk_state *cdclk_state; @@ -3503,6 +3461,46 @@ static int intel_modeset_calc_cdclk(struct intel_atomic_state *state) return 0; } +int intel_cdclk_atomic_check(struct intel_atomic_state *state) +{ + const struct intel_cdclk_state *old_cdclk_state; + struct intel_cdclk_state *new_cdclk_state; + bool need_cdclk_calc = false; + int ret; + + ret = intel_cdclk_modeset_checks(state, &need_cdclk_calc); + if (ret) + return ret; + + ret = intel_crtcs_calc_min_cdclk(state, &need_cdclk_calc); + if (ret) + return ret; + + ret = intel_bw_calc_min_cdclk(state, &need_cdclk_calc); + if (ret) + return ret; + + old_cdclk_state = intel_atomic_get_old_cdclk_state(state); + new_cdclk_state = intel_atomic_get_new_cdclk_state(state); + + if (new_cdclk_state && + old_cdclk_state->force_min_cdclk != new_cdclk_state->force_min_cdclk) { + ret = intel_atomic_lock_global_state(&new_cdclk_state->base); + if (ret) + return ret; + + need_cdclk_calc = true; + } + + if (need_cdclk_calc) { + ret = intel_modeset_calc_cdclk(state); + if (ret) + return ret; + } + + return 0; +} + void intel_cdclk_update_hw_state(struct intel_display *display) { const struct intel_bw_state *bw_state =