Skip to content

Commit 6fe8f9c

Browse files
committed
drm/i915/wm: convert skl_watermark.h external interfaces to struct intel_display
Going forward, struct intel_display is the main display device data pointer. Convert the skl_watermark.h interface to struct intel_display. Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com> Link: https://lore.kernel.org/r/cd2b1863dee25b69b4766090dd183a7467c4edea.1744119460.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
1 parent b4bd4f2 commit 6fe8f9c

10 files changed

Lines changed: 90 additions & 92 deletions

File tree

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

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -976,7 +976,6 @@ static int mtl_find_qgv_points(struct intel_display *display,
976976
unsigned int num_active_planes,
977977
struct intel_bw_state *new_bw_state)
978978
{
979-
struct drm_i915_private *i915 = to_i915(display->drm);
980979
unsigned int best_rate = UINT_MAX;
981980
unsigned int num_qgv_points = display->bw.max[0].num_qgv_points;
982981
unsigned int qgv_peak_bw = 0;
@@ -992,7 +991,7 @@ static int mtl_find_qgv_points(struct intel_display *display,
992991
* for qgv peak bw in PM Demand request. So assign UINT_MAX if SAGV is
993992
* not enabled. PM Demand code will clamp the value for the register
994993
*/
995-
if (!intel_can_enable_sagv(i915, new_bw_state)) {
994+
if (!intel_can_enable_sagv(display, new_bw_state)) {
996995
new_bw_state->qgv_point_peakbw = U16_MAX;
997996
drm_dbg_kms(display->drm, "No SAGV, use UINT_MAX as peak bw.");
998997
return 0;
@@ -1049,7 +1048,6 @@ static int icl_find_qgv_points(struct intel_display *display,
10491048
const struct intel_bw_state *old_bw_state,
10501049
struct intel_bw_state *new_bw_state)
10511050
{
1052-
struct drm_i915_private *i915 = to_i915(display->drm);
10531051
unsigned int num_psf_gv_points = display->bw.max[0].num_psf_gv_points;
10541052
unsigned int num_qgv_points = display->bw.max[0].num_qgv_points;
10551053
u16 psf_points = 0;
@@ -1106,7 +1104,7 @@ static int icl_find_qgv_points(struct intel_display *display,
11061104
* we can't enable SAGV due to the increased memory latency it may
11071105
* cause.
11081106
*/
1109-
if (!intel_can_enable_sagv(i915, new_bw_state)) {
1107+
if (!intel_can_enable_sagv(display, new_bw_state)) {
11101108
qgv_points = icl_max_bw_qgv_point_mask(display, num_active_planes);
11111109
drm_dbg_kms(display->drm, "No SAGV, using single QGV point mask 0x%x\n",
11121110
qgv_points);
@@ -1195,8 +1193,7 @@ static void skl_plane_calc_dbuf_bw(struct intel_dbuf_bw *dbuf_bw,
11951193
unsigned int data_rate)
11961194
{
11971195
struct intel_display *display = to_intel_display(crtc);
1198-
struct drm_i915_private *i915 = to_i915(display->drm);
1199-
unsigned int dbuf_mask = skl_ddb_dbuf_slice_mask(i915, ddb);
1196+
unsigned int dbuf_mask = skl_ddb_dbuf_slice_mask(display, ddb);
12001197
enum dbuf_slice slice;
12011198

12021199
/*
@@ -1446,7 +1443,6 @@ static int intel_bw_modeset_checks(struct intel_atomic_state *state)
14461443
static int intel_bw_check_sagv_mask(struct intel_atomic_state *state)
14471444
{
14481445
struct intel_display *display = to_intel_display(state);
1449-
struct drm_i915_private *i915 = to_i915(display->drm);
14501446
const struct intel_crtc_state *old_crtc_state;
14511447
const struct intel_crtc_state *new_crtc_state;
14521448
const struct intel_bw_state *old_bw_state = NULL;
@@ -1475,8 +1471,8 @@ static int intel_bw_check_sagv_mask(struct intel_atomic_state *state)
14751471
if (!new_bw_state)
14761472
return 0;
14771473

1478-
if (intel_can_enable_sagv(i915, new_bw_state) !=
1479-
intel_can_enable_sagv(i915, old_bw_state)) {
1474+
if (intel_can_enable_sagv(display, new_bw_state) !=
1475+
intel_can_enable_sagv(display, old_bw_state)) {
14801476
ret = intel_atomic_serialize_global_state(&new_bw_state->base);
14811477
if (ret)
14821478
return ret;
@@ -1492,13 +1488,12 @@ static int intel_bw_check_sagv_mask(struct intel_atomic_state *state)
14921488
int intel_bw_atomic_check(struct intel_atomic_state *state, bool any_ms)
14931489
{
14941490
struct intel_display *display = to_intel_display(state);
1495-
struct drm_i915_private *i915 = to_i915(display->drm);
14961491
bool changed = false;
14971492
struct intel_bw_state *new_bw_state;
14981493
const struct intel_bw_state *old_bw_state;
14991494
int ret;
15001495

1501-
if (DISPLAY_VER(i915) < 9)
1496+
if (DISPLAY_VER(display) < 9)
15021497
return 0;
15031498

15041499
if (any_ms) {
@@ -1523,8 +1518,8 @@ int intel_bw_atomic_check(struct intel_atomic_state *state, bool any_ms)
15231518
new_bw_state = intel_atomic_get_new_bw_state(state);
15241519

15251520
if (new_bw_state &&
1526-
intel_can_enable_sagv(i915, old_bw_state) !=
1527-
intel_can_enable_sagv(i915, new_bw_state))
1521+
intel_can_enable_sagv(display, old_bw_state) !=
1522+
intel_can_enable_sagv(display, new_bw_state))
15281523
changed = true;
15291524

15301525
/*
@@ -1628,7 +1623,6 @@ static const struct intel_global_state_funcs intel_bw_funcs = {
16281623

16291624
int intel_bw_init(struct intel_display *display)
16301625
{
1631-
struct drm_i915_private *i915 = to_i915(display->drm);
16321626
struct intel_bw_state *state;
16331627

16341628
state = kzalloc(sizeof(*state), GFP_KERNEL);
@@ -1642,7 +1636,7 @@ int intel_bw_init(struct intel_display *display)
16421636
* Limit this only if we have SAGV. And for Display version 14 onwards
16431637
* sagv is handled though pmdemand requests
16441638
*/
1645-
if (intel_has_sagv(i915) && IS_DISPLAY_VER(display, 11, 13))
1639+
if (intel_has_sagv(display) && IS_DISPLAY_VER(display, 11, 13))
16461640
icl_force_disable_sagv(display, state);
16471641

16481642
return 0;

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1972,9 +1972,7 @@ int intel_mdclk_cdclk_ratio(struct intel_display *display,
19721972
static void xe2lpd_mdclk_cdclk_ratio_program(struct intel_display *display,
19731973
const struct intel_cdclk_config *cdclk_config)
19741974
{
1975-
struct drm_i915_private *i915 = to_i915(display->drm);
1976-
1977-
intel_dbuf_mdclk_cdclk_ratio_update(i915,
1975+
intel_dbuf_mdclk_cdclk_ratio_update(display,
19781976
intel_mdclk_cdclk_ratio(display, cdclk_config),
19791977
cdclk_config->joined_mbus);
19801978
}

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4162,8 +4162,6 @@ static u16 hsw_ips_linetime_wm(const struct intel_crtc_state *crtc_state,
41624162
static u16 skl_linetime_wm(const struct intel_crtc_state *crtc_state)
41634163
{
41644164
struct intel_display *display = to_intel_display(crtc_state);
4165-
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
4166-
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
41674165
const struct drm_display_mode *pipe_mode =
41684166
&crtc_state->hw.pipe_mode;
41694167
int linetime_wm;
@@ -4176,7 +4174,7 @@ static u16 skl_linetime_wm(const struct intel_crtc_state *crtc_state)
41764174

41774175
/* Display WA #1135: BXT:ALL GLK:ALL */
41784176
if ((display->platform.geminilake || display->platform.broxton) &&
4179-
skl_watermark_ipc_enabled(dev_priv))
4177+
skl_watermark_ipc_enabled(display))
41804178
linetime_wm /= 2;
41814179

41824180
return min(linetime_wm, 0x1ff);

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ int intel_display_driver_probe_noirq(struct intel_display *display)
252252
if (ret)
253253
goto cleanup_vga_client_pw_domain_dmc;
254254

255-
ret = intel_dbuf_init(i915);
255+
ret = intel_dbuf_init(display);
256256
if (ret)
257257
goto cleanup_vga_client_pw_domain_dmc;
258258

@@ -491,7 +491,6 @@ int intel_display_driver_probe_nogem(struct intel_display *display)
491491
/* part #3: call after gem init */
492492
int intel_display_driver_probe(struct intel_display *display)
493493
{
494-
struct drm_i915_private *i915 = to_i915(display->drm);
495494
int ret;
496495

497496
if (!HAS_DISPLAY(display))
@@ -519,7 +518,7 @@ int intel_display_driver_probe(struct intel_display *display)
519518
/* Only enable hotplug handling once the fbdev is fully set up. */
520519
intel_hpd_init(display);
521520

522-
skl_watermark_ipc_init(i915);
521+
skl_watermark_ipc_init(display);
523522

524523
return 0;
525524
}
@@ -726,7 +725,6 @@ __intel_display_driver_resume(struct intel_display *display,
726725

727726
void intel_display_driver_resume(struct intel_display *display)
728727
{
729-
struct drm_i915_private *i915 = to_i915(display->drm);
730728
struct drm_atomic_state *state = display->restore.modeset_state;
731729
struct drm_modeset_acquire_ctx ctx;
732730
int ret;
@@ -754,7 +752,7 @@ void intel_display_driver_resume(struct intel_display *display)
754752
if (!ret)
755753
ret = __intel_display_driver_resume(display, state, &ctx);
756754

757-
skl_watermark_ipc_update(i915);
755+
skl_watermark_ipc_update(display);
758756
drm_modeset_drop_locks(&ctx);
759757
drm_modeset_acquire_fini(&ctx);
760758

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,10 +143,10 @@ static int dsb_vtotal(struct intel_atomic_state *state,
143143
static int dsb_dewake_scanline_start(struct intel_atomic_state *state,
144144
struct intel_crtc *crtc)
145145
{
146+
struct intel_display *display = to_intel_display(state);
146147
const struct intel_crtc_state *crtc_state =
147148
intel_pre_commit_crtc_state(state, crtc);
148-
struct drm_i915_private *i915 = to_i915(state->base.dev);
149-
unsigned int latency = skl_watermark_max_latency(i915, 0);
149+
unsigned int latency = skl_watermark_max_latency(display, 0);
150150

151151
return intel_mode_vdisplay(&crtc_state->hw.adjusted_mode) -
152152
intel_usecs_to_scanlines(&crtc_state->hw.adjusted_mode, latency);

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ void intel_wm_init(struct intel_display *display)
172172
struct drm_i915_private *i915 = to_i915(display->drm);
173173

174174
if (DISPLAY_VER(display) >= 9)
175-
skl_wm_init(i915);
175+
skl_wm_init(display);
176176
else
177177
i9xx_wm_init(i915);
178178
}
@@ -389,7 +389,6 @@ static const struct file_operations i915_cur_wm_latency_fops = {
389389

390390
void intel_wm_debugfs_register(struct intel_display *display)
391391
{
392-
struct drm_i915_private *i915 = to_i915(display->drm);
393392
struct drm_minor *minor = display->drm->primary;
394393

395394
debugfs_create_file("i915_pri_wm_latency", 0644, minor->debugfs_root,
@@ -401,5 +400,5 @@ void intel_wm_debugfs_register(struct intel_display *display)
401400
debugfs_create_file("i915_cur_wm_latency", 0644, minor->debugfs_root,
402401
display, &i915_cur_wm_latency_fops);
403402

404-
skl_watermark_debugfs_register(i915);
403+
skl_watermark_debugfs_register(display);
405404
}

0 commit comments

Comments
 (0)