Skip to content

Commit e17643d

Browse files
committed
drm/i915/bw: abstract intel_bw_pmdemand_needs_update()
Add intel_bw_pmdemand_needs_update() helper to avoid looking at struct intel_bw_state internals outside of intel_bw.c. Reviewed-by: Imre Deak <imre.deak@intel.com> Link: https://lore.kernel.org/r/163fda39da2e1cf0f0c4fcb9c71103c98863179e.1750847509.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
1 parent d1b8a4d commit e17643d

3 files changed

Lines changed: 17 additions & 5 deletions

File tree

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1651,3 +1651,17 @@ int intel_bw_init(struct intel_display *display)
16511651

16521652
return 0;
16531653
}
1654+
1655+
bool intel_bw_pmdemand_needs_update(struct intel_atomic_state *state)
1656+
{
1657+
const struct intel_bw_state *new_bw_state, *old_bw_state;
1658+
1659+
new_bw_state = intel_atomic_get_new_bw_state(state);
1660+
old_bw_state = intel_atomic_get_old_bw_state(state);
1661+
1662+
if (new_bw_state &&
1663+
new_bw_state->qgv_point_peakbw != old_bw_state->qgv_point_peakbw)
1664+
return true;
1665+
1666+
return false;
1667+
}

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,6 @@ int intel_bw_min_cdclk(struct intel_display *display,
7676
void intel_bw_update_hw_state(struct intel_display *display);
7777
void intel_bw_crtc_disable_noatomic(struct intel_crtc *crtc);
7878

79+
bool intel_bw_pmdemand_needs_update(struct intel_atomic_state *state);
80+
7981
#endif /* __INTEL_BW_H__ */

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

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -294,16 +294,12 @@ 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_bw_state *new_bw_state, *old_bw_state;
298297
const struct intel_cdclk_state *new_cdclk_state, *old_cdclk_state;
299298
const struct intel_crtc_state *new_crtc_state, *old_crtc_state;
300299
struct intel_crtc *crtc;
301300
int i;
302301

303-
new_bw_state = intel_atomic_get_new_bw_state(state);
304-
old_bw_state = intel_atomic_get_old_bw_state(state);
305-
if (new_bw_state && new_bw_state->qgv_point_peakbw !=
306-
old_bw_state->qgv_point_peakbw)
302+
if (intel_bw_pmdemand_needs_update(state))
307303
return true;
308304

309305
if (intel_dbuf_pmdemand_needs_update(state))

0 commit comments

Comments
 (0)