mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
drm/i915/cdclk: abstract intel_cdclk_pmdemand_needs_update()
Add intel_cdclk_pmdemand_needs_update() helper to avoid looking at struct intel_cdclk_state internals outside of intel_cdclk.c. Reviewed-by: Imre Deak <imre.deak@intel.com> Link: https://lore.kernel.org/r/d0d4f073707a2badb432187f6e02d6d7f9fe431b.1750847509.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
3fda3bf0a6
commit
f6d8b2261a
|
|
@ -3849,3 +3849,18 @@ int intel_cdclk_bw_min_cdclk(const struct intel_cdclk_state *cdclk_state)
|
|||
{
|
||||
return cdclk_state->bw_min_cdclk;
|
||||
}
|
||||
|
||||
bool intel_cdclk_pmdemand_needs_update(struct intel_atomic_state *state)
|
||||
{
|
||||
const struct intel_cdclk_state *new_cdclk_state, *old_cdclk_state;
|
||||
|
||||
new_cdclk_state = intel_atomic_get_new_cdclk_state(state);
|
||||
old_cdclk_state = intel_atomic_get_old_cdclk_state(state);
|
||||
|
||||
if (new_cdclk_state &&
|
||||
(new_cdclk_state->actual.cdclk != old_cdclk_state->actual.cdclk ||
|
||||
new_cdclk_state->actual.voltage_level != old_cdclk_state->actual.voltage_level))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,5 +100,6 @@ void intel_cdclk_debugfs_register(struct intel_display *display);
|
|||
int intel_cdclk_logical(const struct intel_cdclk_state *cdclk_state);
|
||||
int intel_cdclk_min_cdclk(const struct intel_cdclk_state *cdclk_state, enum pipe pipe);
|
||||
int intel_cdclk_bw_min_cdclk(const struct intel_cdclk_state *cdclk_state);
|
||||
bool intel_cdclk_pmdemand_needs_update(struct intel_atomic_state *state);
|
||||
|
||||
#endif /* __INTEL_CDCLK_H__ */
|
||||
|
|
|
|||
|
|
@ -294,7 +294,6 @@ intel_pmdemand_connector_needs_update(struct intel_atomic_state *state)
|
|||
|
||||
static bool intel_pmdemand_needs_update(struct intel_atomic_state *state)
|
||||
{
|
||||
const struct intel_cdclk_state *new_cdclk_state, *old_cdclk_state;
|
||||
const struct intel_crtc_state *new_crtc_state, *old_crtc_state;
|
||||
struct intel_crtc *crtc;
|
||||
int i;
|
||||
|
|
@ -305,13 +304,7 @@ static bool intel_pmdemand_needs_update(struct intel_atomic_state *state)
|
|||
if (intel_dbuf_pmdemand_needs_update(state))
|
||||
return true;
|
||||
|
||||
new_cdclk_state = intel_atomic_get_new_cdclk_state(state);
|
||||
old_cdclk_state = intel_atomic_get_old_cdclk_state(state);
|
||||
if (new_cdclk_state &&
|
||||
(new_cdclk_state->actual.cdclk !=
|
||||
old_cdclk_state->actual.cdclk ||
|
||||
new_cdclk_state->actual.voltage_level !=
|
||||
old_cdclk_state->actual.voltage_level))
|
||||
if (intel_cdclk_pmdemand_needs_update(state))
|
||||
return true;
|
||||
|
||||
for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user