mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
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: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250923171943.7319-14-ville.syrjala@linux.intel.com Reviewed-by: Mika Kahola <mika.kahola@intel.com>
This commit is contained in:
parent
8f7443ae52
commit
a6d20cb1d8
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -291,8 +291,8 @@ 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,
|
||||
struct intel_plane *plane)
|
||||
static void intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
|
||||
struct intel_plane *plane)
|
||||
{
|
||||
const struct intel_plane_state *plane_state =
|
||||
intel_atomic_get_new_plane_state(state, plane);
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user