Skip to content

Commit 082ed1f

Browse files
committed
drm/i915: Extract intel_cdclk_crtc_disable_noatomic()
Hoist the cdclk stuff into a separate function from intel_crtc_disable_noatomic_complete() so that the details are better hidden inside intel_cdclk.c. Reviewed-by: Vinod Govindapillai <[email protected]> Signed-off-by: Ville Syrjälä <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent cd5693c commit 082ed1f

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3340,6 +3340,18 @@ int intel_modeset_calc_cdclk(struct intel_atomic_state *state)
33403340
return 0;
33413341
}
33423342

3343+
void intel_cdclk_crtc_disable_noatomic(struct intel_crtc *crtc)
3344+
{
3345+
struct intel_display *display = to_intel_display(crtc);
3346+
struct intel_cdclk_state *cdclk_state =
3347+
to_intel_cdclk_state(display->cdclk.obj.state);
3348+
enum pipe pipe = crtc->pipe;
3349+
3350+
cdclk_state->min_cdclk[pipe] = 0;
3351+
cdclk_state->min_voltage_level[pipe] = 0;
3352+
cdclk_state->active_pipes &= ~BIT(pipe);
3353+
}
3354+
33433355
static int intel_compute_max_dotclk(struct intel_display *display)
33443356
{
33453357
int ppc = intel_cdclk_ppc(display, HAS_DOUBLE_WIDE(display));

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include "intel_global_state.h"
1313

1414
struct intel_atomic_state;
15+
struct intel_crtc;
1516
struct intel_crtc_state;
1617
struct intel_display;
1718

@@ -83,6 +84,7 @@ int intel_cdclk_atomic_check(struct intel_atomic_state *state,
8384
int intel_cdclk_state_set_joined_mbus(struct intel_atomic_state *state, bool joined_mbus);
8485
struct intel_cdclk_state *
8586
intel_atomic_get_cdclk_state(struct intel_atomic_state *state);
87+
void intel_cdclk_crtc_disable_noatomic(struct intel_crtc *crtc);
8688

8789
#define to_intel_cdclk_state(global_state) \
8890
container_of_const((global_state), struct intel_cdclk_state, base)

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

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,6 @@ static void intel_crtc_disable_noatomic_complete(struct intel_crtc *crtc)
158158
struct drm_i915_private *i915 = to_i915(crtc->base.dev);
159159
struct intel_bw_state *bw_state =
160160
to_intel_bw_state(i915->display.bw.obj.state);
161-
struct intel_cdclk_state *cdclk_state =
162-
to_intel_cdclk_state(i915->display.cdclk.obj.state);
163161
struct intel_dbuf_state *dbuf_state =
164162
to_intel_dbuf_state(i915->display.dbuf.obj.state);
165163
struct intel_pmdemand_state *pmdemand_state =
@@ -179,9 +177,7 @@ static void intel_crtc_disable_noatomic_complete(struct intel_crtc *crtc)
179177

180178
intel_display_power_put_all_in_set(display, &crtc->enabled_power_domains);
181179

182-
cdclk_state->min_cdclk[pipe] = 0;
183-
cdclk_state->min_voltage_level[pipe] = 0;
184-
cdclk_state->active_pipes &= ~BIT(pipe);
180+
intel_cdclk_crtc_disable_noatomic(crtc);
185181

186182
dbuf_state->active_pipes &= ~BIT(pipe);
187183

0 commit comments

Comments
 (0)