aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_pm.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_pm.c')
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c58
1 files changed, 29 insertions, 29 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index a6c7c11d2c0e..b11fac679e10 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -2271,7 +2271,7 @@ static void i9xx_update_wm(struct intel_crtc *unused_crtc)
2271 2271
2272 if (IS_I945GM(dev_priv)) 2272 if (IS_I945GM(dev_priv))
2273 wm_info = &i945_wm_info; 2273 wm_info = &i945_wm_info;
2274 else if (!IS_GEN2(dev_priv)) 2274 else if (!IS_GEN(dev_priv, 2))
2275 wm_info = &i915_wm_info; 2275 wm_info = &i915_wm_info;
2276 else 2276 else
2277 wm_info = &i830_a_wm_info; 2277 wm_info = &i830_a_wm_info;
@@ -2285,7 +2285,7 @@ static void i9xx_update_wm(struct intel_crtc *unused_crtc)
2285 crtc->base.primary->state->fb; 2285 crtc->base.primary->state->fb;
2286 int cpp; 2286 int cpp;
2287 2287
2288 if (IS_GEN2(dev_priv)) 2288 if (IS_GEN(dev_priv, 2))
2289 cpp = 4; 2289 cpp = 4;
2290 else 2290 else
2291 cpp = fb->format->cpp[0]; 2291 cpp = fb->format->cpp[0];
@@ -2300,7 +2300,7 @@ static void i9xx_update_wm(struct intel_crtc *unused_crtc)
2300 planea_wm = wm_info->max_wm; 2300 planea_wm = wm_info->max_wm;
2301 } 2301 }
2302 2302
2303 if (IS_GEN2(dev_priv)) 2303 if (IS_GEN(dev_priv, 2))
2304 wm_info = &i830_bc_wm_info; 2304 wm_info = &i830_bc_wm_info;
2305 2305
2306 fifo_size = dev_priv->display.get_fifo_size(dev_priv, PLANE_B); 2306 fifo_size = dev_priv->display.get_fifo_size(dev_priv, PLANE_B);
@@ -2312,7 +2312,7 @@ static void i9xx_update_wm(struct intel_crtc *unused_crtc)
2312 crtc->base.primary->state->fb; 2312 crtc->base.primary->state->fb;
2313 int cpp; 2313 int cpp;
2314 2314
2315 if (IS_GEN2(dev_priv)) 2315 if (IS_GEN(dev_priv, 2))
2316 cpp = 4; 2316 cpp = 4;
2317 else 2317 else
2318 cpp = fb->format->cpp[0]; 2318 cpp = fb->format->cpp[0];
@@ -2923,7 +2923,7 @@ static void intel_fixup_spr_wm_latency(struct drm_i915_private *dev_priv,
2923 uint16_t wm[5]) 2923 uint16_t wm[5])
2924{ 2924{
2925 /* ILK sprite LP0 latency is 1300 ns */ 2925 /* ILK sprite LP0 latency is 1300 ns */
2926 if (IS_GEN5(dev_priv)) 2926 if (IS_GEN(dev_priv, 5))
2927 wm[0] = 13; 2927 wm[0] = 13;
2928} 2928}
2929 2929
@@ -2931,7 +2931,7 @@ static void intel_fixup_cur_wm_latency(struct drm_i915_private *dev_priv,
2931 uint16_t wm[5]) 2931 uint16_t wm[5])
2932{ 2932{
2933 /* ILK cursor LP0 latency is 1300 ns */ 2933 /* ILK cursor LP0 latency is 1300 ns */
2934 if (IS_GEN5(dev_priv)) 2934 if (IS_GEN(dev_priv, 5))
2935 wm[0] = 13; 2935 wm[0] = 13;
2936} 2936}
2937 2937
@@ -3058,7 +3058,7 @@ static void ilk_setup_wm_latency(struct drm_i915_private *dev_priv)
3058 intel_print_wm_latency(dev_priv, "Sprite", dev_priv->wm.spr_latency); 3058 intel_print_wm_latency(dev_priv, "Sprite", dev_priv->wm.spr_latency);
3059 intel_print_wm_latency(dev_priv, "Cursor", dev_priv->wm.cur_latency); 3059 intel_print_wm_latency(dev_priv, "Cursor", dev_priv->wm.cur_latency);
3060 3060
3061 if (IS_GEN6(dev_priv)) { 3061 if (IS_GEN(dev_priv, 6)) {
3062 snb_wm_latency_quirk(dev_priv); 3062 snb_wm_latency_quirk(dev_priv);
3063 snb_wm_lp3_irq_quirk(dev_priv); 3063 snb_wm_lp3_irq_quirk(dev_priv);
3064 } 3064 }
@@ -3314,7 +3314,7 @@ static void ilk_wm_merge(struct drm_i915_private *dev_priv,
3314 * What we should check here is whether FBC can be 3314 * What we should check here is whether FBC can be
3315 * enabled sometime later. 3315 * enabled sometime later.
3316 */ 3316 */
3317 if (IS_GEN5(dev_priv) && !merged->fbc_wm_enabled && 3317 if (IS_GEN(dev_priv, 5) && !merged->fbc_wm_enabled &&
3318 intel_fbc_is_active(dev_priv)) { 3318 intel_fbc_is_active(dev_priv)) {
3319 for (level = 2; level <= max_level; level++) { 3319 for (level = 2; level <= max_level; level++) {
3320 struct intel_wm_level *wm = &merged->wm[level]; 3320 struct intel_wm_level *wm = &merged->wm[level];
@@ -3751,9 +3751,9 @@ bool intel_can_enable_sagv(struct drm_atomic_state *state)
3751 if (!intel_has_sagv(dev_priv)) 3751 if (!intel_has_sagv(dev_priv))
3752 return false; 3752 return false;
3753 3753
3754 if (IS_GEN9(dev_priv)) 3754 if (IS_GEN(dev_priv, 9))
3755 sagv_block_time_us = 30; 3755 sagv_block_time_us = 30;
3756 else if (IS_GEN10(dev_priv)) 3756 else if (IS_GEN(dev_priv, 10))
3757 sagv_block_time_us = 20; 3757 sagv_block_time_us = 20;
3758 else 3758 else
3759 sagv_block_time_us = 10; 3759 sagv_block_time_us = 10;
@@ -4657,7 +4657,7 @@ skl_compute_plane_wm_params(const struct intel_crtc_state *cstate,
4657 4657
4658 wp->plane_blocks_per_line = div_fixed16(interm_pbpl, 4658 wp->plane_blocks_per_line = div_fixed16(interm_pbpl,
4659 wp->y_min_scanlines); 4659 wp->y_min_scanlines);
4660 } else if (wp->x_tiled && IS_GEN9(dev_priv)) { 4660 } else if (wp->x_tiled && IS_GEN(dev_priv, 9)) {
4661 interm_pbpl = DIV_ROUND_UP(wp->plane_bytes_per_line, 4661 interm_pbpl = DIV_ROUND_UP(wp->plane_bytes_per_line,
4662 wp->dbuf_block_size); 4662 wp->dbuf_block_size);
4663 wp->plane_blocks_per_line = u32_to_fixed16(interm_pbpl); 4663 wp->plane_blocks_per_line = u32_to_fixed16(interm_pbpl);
@@ -4716,7 +4716,7 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *cstate,
4716 (wp->plane_bytes_per_line / wp->dbuf_block_size < 1)) { 4716 (wp->plane_bytes_per_line / wp->dbuf_block_size < 1)) {
4717 selected_result = method2; 4717 selected_result = method2;
4718 } else if (latency >= wp->linetime_us) { 4718 } else if (latency >= wp->linetime_us) {
4719 if (IS_GEN9(dev_priv) && 4719 if (IS_GEN(dev_priv, 9) &&
4720 !IS_GEMINILAKE(dev_priv)) 4720 !IS_GEMINILAKE(dev_priv))
4721 selected_result = min_fixed16(method1, method2); 4721 selected_result = min_fixed16(method1, method2);
4722 else 4722 else
@@ -6908,7 +6908,7 @@ static void gen9_enable_rps(struct drm_i915_private *dev_priv)
6908 intel_uncore_forcewake_get(dev_priv, FORCEWAKE_ALL); 6908 intel_uncore_forcewake_get(dev_priv, FORCEWAKE_ALL);
6909 6909
6910 /* Program defaults and thresholds for RPS */ 6910 /* Program defaults and thresholds for RPS */
6911 if (IS_GEN9(dev_priv)) 6911 if (IS_GEN(dev_priv, 9))
6912 I915_WRITE(GEN6_RC_VIDEO_FREQ, 6912 I915_WRITE(GEN6_RC_VIDEO_FREQ,
6913 GEN9_FREQUENCY(dev_priv->gt_pm.rps.rp1_freq)); 6913 GEN9_FREQUENCY(dev_priv->gt_pm.rps.rp1_freq));
6914 6914
@@ -7144,9 +7144,9 @@ static void gen6_enable_rc6(struct drm_i915_private *dev_priv)
7144 7144
7145 rc6vids = 0; 7145 rc6vids = 0;
7146 ret = sandybridge_pcode_read(dev_priv, GEN6_PCODE_READ_RC6VIDS, &rc6vids); 7146 ret = sandybridge_pcode_read(dev_priv, GEN6_PCODE_READ_RC6VIDS, &rc6vids);
7147 if (IS_GEN6(dev_priv) && ret) { 7147 if (IS_GEN(dev_priv, 6) && ret) {
7148 DRM_DEBUG_DRIVER("Couldn't check for BIOS workaround\n"); 7148 DRM_DEBUG_DRIVER("Couldn't check for BIOS workaround\n");
7149 } else if (IS_GEN6(dev_priv) && (GEN6_DECODE_RC6_VID(rc6vids & 0xff) < 450)) { 7149 } else if (IS_GEN(dev_priv, 6) && (GEN6_DECODE_RC6_VID(rc6vids & 0xff) < 450)) {
7150 DRM_DEBUG_DRIVER("You should update your BIOS. Correcting minimum rc6 voltage (%dmV->%dmV)\n", 7150 DRM_DEBUG_DRIVER("You should update your BIOS. Correcting minimum rc6 voltage (%dmV->%dmV)\n",
7151 GEN6_DECODE_RC6_VID(rc6vids & 0xff), 450); 7151 GEN6_DECODE_RC6_VID(rc6vids & 0xff), 450);
7152 rc6vids &= 0xffff00; 7152 rc6vids &= 0xffff00;
@@ -7846,7 +7846,7 @@ unsigned long i915_chipset_val(struct drm_i915_private *dev_priv)
7846{ 7846{
7847 unsigned long val; 7847 unsigned long val;
7848 7848
7849 if (!IS_GEN5(dev_priv)) 7849 if (!IS_GEN(dev_priv, 5))
7850 return 0; 7850 return 0;
7851 7851
7852 spin_lock_irq(&mchdev_lock); 7852 spin_lock_irq(&mchdev_lock);
@@ -7930,7 +7930,7 @@ static void __i915_update_gfx_val(struct drm_i915_private *dev_priv)
7930 7930
7931void i915_update_gfx_val(struct drm_i915_private *dev_priv) 7931void i915_update_gfx_val(struct drm_i915_private *dev_priv)
7932{ 7932{
7933 if (!IS_GEN5(dev_priv)) 7933 if (!IS_GEN(dev_priv, 5))
7934 return; 7934 return;
7935 7935
7936 spin_lock_irq(&mchdev_lock); 7936 spin_lock_irq(&mchdev_lock);
@@ -7981,7 +7981,7 @@ unsigned long i915_gfx_val(struct drm_i915_private *dev_priv)
7981{ 7981{
7982 unsigned long val; 7982 unsigned long val;
7983 7983
7984 if (!IS_GEN5(dev_priv)) 7984 if (!IS_GEN(dev_priv, 5))
7985 return 0; 7985 return 0;
7986 7986
7987 spin_lock_irq(&mchdev_lock); 7987 spin_lock_irq(&mchdev_lock);
@@ -8269,7 +8269,7 @@ void intel_init_gt_powersave(struct drm_i915_private *dev_priv)
8269 intel_freq_opcode(dev_priv, 450)); 8269 intel_freq_opcode(dev_priv, 450));
8270 8270
8271 /* After setting max-softlimit, find the overclock max freq */ 8271 /* After setting max-softlimit, find the overclock max freq */
8272 if (IS_GEN6(dev_priv) || 8272 if (IS_GEN(dev_priv, 6) ||
8273 IS_IVYBRIDGE(dev_priv) || IS_HASWELL(dev_priv)) { 8273 IS_IVYBRIDGE(dev_priv) || IS_HASWELL(dev_priv)) {
8274 u32 params = 0; 8274 u32 params = 0;
8275 8275
@@ -9339,9 +9339,9 @@ void intel_init_clock_gating_hooks(struct drm_i915_private *dev_priv)
9339 dev_priv->display.init_clock_gating = ivb_init_clock_gating; 9339 dev_priv->display.init_clock_gating = ivb_init_clock_gating;
9340 else if (IS_VALLEYVIEW(dev_priv)) 9340 else if (IS_VALLEYVIEW(dev_priv))
9341 dev_priv->display.init_clock_gating = vlv_init_clock_gating; 9341 dev_priv->display.init_clock_gating = vlv_init_clock_gating;
9342 else if (IS_GEN6(dev_priv)) 9342 else if (IS_GEN(dev_priv, 6))
9343 dev_priv->display.init_clock_gating = gen6_init_clock_gating; 9343 dev_priv->display.init_clock_gating = gen6_init_clock_gating;
9344 else if (IS_GEN5(dev_priv)) 9344 else if (IS_GEN(dev_priv, 5))
9345 dev_priv->display.init_clock_gating = ilk_init_clock_gating; 9345 dev_priv->display.init_clock_gating = ilk_init_clock_gating;
9346 else if (IS_G4X(dev_priv)) 9346 else if (IS_G4X(dev_priv))
9347 dev_priv->display.init_clock_gating = g4x_init_clock_gating; 9347 dev_priv->display.init_clock_gating = g4x_init_clock_gating;
@@ -9349,11 +9349,11 @@ void intel_init_clock_gating_hooks(struct drm_i915_private *dev_priv)
9349 dev_priv->display.init_clock_gating = i965gm_init_clock_gating; 9349 dev_priv->display.init_clock_gating = i965gm_init_clock_gating;
9350 else if (IS_I965G(dev_priv)) 9350 else if (IS_I965G(dev_priv))
9351 dev_priv->display.init_clock_gating = i965g_init_clock_gating; 9351 dev_priv->display.init_clock_gating = i965g_init_clock_gating;
9352 else if (IS_GEN3(dev_priv)) 9352 else if (IS_GEN(dev_priv, 3))
9353 dev_priv->display.init_clock_gating = gen3_init_clock_gating; 9353 dev_priv->display.init_clock_gating = gen3_init_clock_gating;
9354 else if (IS_I85X(dev_priv) || IS_I865G(dev_priv)) 9354 else if (IS_I85X(dev_priv) || IS_I865G(dev_priv))
9355 dev_priv->display.init_clock_gating = i85x_init_clock_gating; 9355 dev_priv->display.init_clock_gating = i85x_init_clock_gating;
9356 else if (IS_GEN2(dev_priv)) 9356 else if (IS_GEN(dev_priv, 2))
9357 dev_priv->display.init_clock_gating = i830_init_clock_gating; 9357 dev_priv->display.init_clock_gating = i830_init_clock_gating;
9358 else { 9358 else {
9359 MISSING_CASE(INTEL_DEVID(dev_priv)); 9359 MISSING_CASE(INTEL_DEVID(dev_priv));
@@ -9367,7 +9367,7 @@ void intel_init_pm(struct drm_i915_private *dev_priv)
9367 /* For cxsr */ 9367 /* For cxsr */
9368 if (IS_PINEVIEW(dev_priv)) 9368 if (IS_PINEVIEW(dev_priv))
9369 i915_pineview_get_mem_freq(dev_priv); 9369 i915_pineview_get_mem_freq(dev_priv);
9370 else if (IS_GEN5(dev_priv)) 9370 else if (IS_GEN(dev_priv, 5))
9371 i915_ironlake_get_mem_freq(dev_priv); 9371 i915_ironlake_get_mem_freq(dev_priv);
9372 9372
9373 /* For FIFO watermark updates */ 9373 /* For FIFO watermark updates */
@@ -9379,9 +9379,9 @@ void intel_init_pm(struct drm_i915_private *dev_priv)
9379 } else if (HAS_PCH_SPLIT(dev_priv)) { 9379 } else if (HAS_PCH_SPLIT(dev_priv)) {
9380 ilk_setup_wm_latency(dev_priv); 9380 ilk_setup_wm_latency(dev_priv);
9381 9381
9382 if ((IS_GEN5(dev_priv) && dev_priv->wm.pri_latency[1] && 9382 if ((IS_GEN(dev_priv, 5) && dev_priv->wm.pri_latency[1] &&
9383 dev_priv->wm.spr_latency[1] && dev_priv->wm.cur_latency[1]) || 9383 dev_priv->wm.spr_latency[1] && dev_priv->wm.cur_latency[1]) ||
9384 (!IS_GEN5(dev_priv) && dev_priv->wm.pri_latency[0] && 9384 (!IS_GEN(dev_priv, 5) && dev_priv->wm.pri_latency[0] &&
9385 dev_priv->wm.spr_latency[0] && dev_priv->wm.cur_latency[0])) { 9385 dev_priv->wm.spr_latency[0] && dev_priv->wm.cur_latency[0])) {
9386 dev_priv->display.compute_pipe_wm = ilk_compute_pipe_wm; 9386 dev_priv->display.compute_pipe_wm = ilk_compute_pipe_wm;
9387 dev_priv->display.compute_intermediate_wm = 9387 dev_priv->display.compute_intermediate_wm =
@@ -9422,12 +9422,12 @@ void intel_init_pm(struct drm_i915_private *dev_priv)
9422 dev_priv->display.update_wm = NULL; 9422 dev_priv->display.update_wm = NULL;
9423 } else 9423 } else
9424 dev_priv->display.update_wm = pineview_update_wm; 9424 dev_priv->display.update_wm = pineview_update_wm;
9425 } else if (IS_GEN4(dev_priv)) { 9425 } else if (IS_GEN(dev_priv, 4)) {
9426 dev_priv->display.update_wm = i965_update_wm; 9426 dev_priv->display.update_wm = i965_update_wm;
9427 } else if (IS_GEN3(dev_priv)) { 9427 } else if (IS_GEN(dev_priv, 3)) {
9428 dev_priv->display.update_wm = i9xx_update_wm; 9428 dev_priv->display.update_wm = i9xx_update_wm;
9429 dev_priv->display.get_fifo_size = i9xx_get_fifo_size; 9429 dev_priv->display.get_fifo_size = i9xx_get_fifo_size;
9430 } else if (IS_GEN2(dev_priv)) { 9430 } else if (IS_GEN(dev_priv, 2)) {
9431 if (INTEL_INFO(dev_priv)->num_pipes == 1) { 9431 if (INTEL_INFO(dev_priv)->num_pipes == 1) {
9432 dev_priv->display.update_wm = i845_update_wm; 9432 dev_priv->display.update_wm = i845_update_wm;
9433 dev_priv->display.get_fifo_size = i845_get_fifo_size; 9433 dev_priv->display.get_fifo_size = i845_get_fifo_size;