Skip to content

Commit f6d8b22

Browse files
committed
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>
1 parent 3fda3bf commit f6d8b22

3 files changed

Lines changed: 17 additions & 8 deletions

File tree

drivers/gpu/drm/i915/display/intel_cdclk.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3849,3 +3849,18 @@ int intel_cdclk_bw_min_cdclk(const struct intel_cdclk_state *cdclk_state)
38493849
{
38503850
return cdclk_state->bw_min_cdclk;
38513851
}
3852+
3853+
bool intel_cdclk_pmdemand_needs_update(struct intel_atomic_state *state)
3854+
{
3855+
const struct intel_cdclk_state *new_cdclk_state, *old_cdclk_state;
3856+
3857+
new_cdclk_state = intel_atomic_get_new_cdclk_state(state);
3858+
old_cdclk_state = intel_atomic_get_old_cdclk_state(state);
3859+
3860+
if (new_cdclk_state &&
3861+
(new_cdclk_state->actual.cdclk != old_cdclk_state->actual.cdclk ||
3862+
new_cdclk_state->actual.voltage_level != old_cdclk_state->actual.voltage_level))
3863+
return true;
3864+
3865+
return false;
3866+
}

drivers/gpu/drm/i915/display/intel_cdclk.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,5 +100,6 @@ void intel_cdclk_debugfs_register(struct intel_display *display);
100100
int intel_cdclk_logical(const struct intel_cdclk_state *cdclk_state);
101101
int intel_cdclk_min_cdclk(const struct intel_cdclk_state *cdclk_state, enum pipe pipe);
102102
int intel_cdclk_bw_min_cdclk(const struct intel_cdclk_state *cdclk_state);
103+
bool intel_cdclk_pmdemand_needs_update(struct intel_atomic_state *state);
103104

104105
#endif /* __INTEL_CDCLK_H__ */

drivers/gpu/drm/i915/display/intel_pmdemand.c

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,6 @@ intel_pmdemand_connector_needs_update(struct intel_atomic_state *state)
294294

295295
static bool intel_pmdemand_needs_update(struct intel_atomic_state *state)
296296
{
297-
const struct intel_cdclk_state *new_cdclk_state, *old_cdclk_state;
298297
const struct intel_crtc_state *new_crtc_state, *old_crtc_state;
299298
struct intel_crtc *crtc;
300299
int i;
@@ -305,13 +304,7 @@ static bool intel_pmdemand_needs_update(struct intel_atomic_state *state)
305304
if (intel_dbuf_pmdemand_needs_update(state))
306305
return true;
307306

308-
new_cdclk_state = intel_atomic_get_new_cdclk_state(state);
309-
old_cdclk_state = intel_atomic_get_old_cdclk_state(state);
310-
if (new_cdclk_state &&
311-
(new_cdclk_state->actual.cdclk !=
312-
old_cdclk_state->actual.cdclk ||
313-
new_cdclk_state->actual.voltage_level !=
314-
old_cdclk_state->actual.voltage_level))
307+
if (intel_cdclk_pmdemand_needs_update(state))
315308
return true;
316309

317310
for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state,

0 commit comments

Comments
 (0)