Commit a6d20cb1 authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

drm/i915/cdclk: Relocate intel_plane_calc_min_cdclk() calls



There's no reason to defer intel_plane_calc_min_cdclk() until
intel_cdclk_atomic_check(). Just do this as part of
intel_atomic_check_planes() (after we've added all the planes to
the state that affect the per-plane min_cdclk calculation).

Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250923171943.7319-14-ville.syrjala@linux.intel.com


Reviewed-by: default avatarMika Kahola <mika.kahola@intel.com>
parent 8f7443ae
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -3307,23 +3307,12 @@ 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;
	struct intel_plane_state __maybe_unused *plane_state;
	struct intel_plane *plane;
	int ret;
	int i;

	ret = intel_cdclk_modeset_checks(state, need_cdclk_calc);
	if (ret)
		return ret;

	/*
	 * active_planes bitmask has been updated, and potentially affected
	 * planes are part of the state. We can now compute the minimum cdclk
	 * for each plane.
	 */
	for_each_new_intel_plane_in_state(state, plane, plane_state, i)
		intel_plane_calc_min_cdclk(state, plane);

	ret = intel_crtcs_calc_min_cdclk(state, need_cdclk_calc);
	if (ret)
		return ret;
+5 −2
Original line number Diff line number Diff line
@@ -291,7 +291,7 @@ intel_plane_relative_data_rate(const struct intel_crtc_state *crtc_state,
				   rel_data_rate);
}

void intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
static void intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
				       struct intel_plane *plane)
{
	const struct intel_plane_state *plane_state =
@@ -1700,5 +1700,8 @@ int intel_plane_atomic_check(struct intel_atomic_state *state)
			return ret;
	}

	for_each_new_intel_plane_in_state(state, plane, plane_state, i)
		intel_plane_calc_min_cdclk(state, plane);

	return 0;
}
+0 −2
Original line number Diff line number Diff line
@@ -69,8 +69,6 @@ int intel_plane_atomic_check_with_state(const struct intel_crtc_state *old_crtc_
					struct intel_crtc_state *crtc_state,
					const struct intel_plane_state *old_plane_state,
					struct intel_plane_state *intel_state);
void intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
				struct intel_plane *plane);
int intel_plane_check_clipping(struct intel_plane_state *plane_state,
			       struct intel_crtc_state *crtc_state,
			       int min_scale, int max_scale,