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.c110
1 files changed, 55 insertions, 55 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 814b0dfaf640..0560b7c90244 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -57,7 +57,7 @@
57 57
58static void gen9_init_clock_gating(struct drm_device *dev) 58static void gen9_init_clock_gating(struct drm_device *dev)
59{ 59{
60 struct drm_i915_private *dev_priv = dev->dev_private; 60 struct drm_i915_private *dev_priv = to_i915(dev);
61 61
62 /* See Bspec note for PSR2_CTL bit 31, Wa#828:skl,bxt,kbl */ 62 /* See Bspec note for PSR2_CTL bit 31, Wa#828:skl,bxt,kbl */
63 I915_WRITE(CHICKEN_PAR1_1, 63 I915_WRITE(CHICKEN_PAR1_1,
@@ -83,7 +83,7 @@ static void gen9_init_clock_gating(struct drm_device *dev)
83 83
84static void bxt_init_clock_gating(struct drm_device *dev) 84static void bxt_init_clock_gating(struct drm_device *dev)
85{ 85{
86 struct drm_i915_private *dev_priv = dev->dev_private; 86 struct drm_i915_private *dev_priv = to_i915(dev);
87 87
88 gen9_init_clock_gating(dev); 88 gen9_init_clock_gating(dev);
89 89
@@ -109,7 +109,7 @@ static void bxt_init_clock_gating(struct drm_device *dev)
109 109
110static void i915_pineview_get_mem_freq(struct drm_device *dev) 110static void i915_pineview_get_mem_freq(struct drm_device *dev)
111{ 111{
112 struct drm_i915_private *dev_priv = dev->dev_private; 112 struct drm_i915_private *dev_priv = to_i915(dev);
113 u32 tmp; 113 u32 tmp;
114 114
115 tmp = I915_READ(CLKCFG); 115 tmp = I915_READ(CLKCFG);
@@ -148,7 +148,7 @@ static void i915_pineview_get_mem_freq(struct drm_device *dev)
148 148
149static void i915_ironlake_get_mem_freq(struct drm_device *dev) 149static void i915_ironlake_get_mem_freq(struct drm_device *dev)
150{ 150{
151 struct drm_i915_private *dev_priv = dev->dev_private; 151 struct drm_i915_private *dev_priv = to_i915(dev);
152 u16 ddrpll, csipll; 152 u16 ddrpll, csipll;
153 153
154 ddrpll = I915_READ16(DDRMPLL1); 154 ddrpll = I915_READ16(DDRMPLL1);
@@ -375,7 +375,7 @@ static const int pessimal_latency_ns = 5000;
375static int vlv_get_fifo_size(struct drm_device *dev, 375static int vlv_get_fifo_size(struct drm_device *dev,
376 enum pipe pipe, int plane) 376 enum pipe pipe, int plane)
377{ 377{
378 struct drm_i915_private *dev_priv = dev->dev_private; 378 struct drm_i915_private *dev_priv = to_i915(dev);
379 int sprite0_start, sprite1_start, size; 379 int sprite0_start, sprite1_start, size;
380 380
381 switch (pipe) { 381 switch (pipe) {
@@ -426,7 +426,7 @@ static int vlv_get_fifo_size(struct drm_device *dev,
426 426
427static int i9xx_get_fifo_size(struct drm_device *dev, int plane) 427static int i9xx_get_fifo_size(struct drm_device *dev, int plane)
428{ 428{
429 struct drm_i915_private *dev_priv = dev->dev_private; 429 struct drm_i915_private *dev_priv = to_i915(dev);
430 uint32_t dsparb = I915_READ(DSPARB); 430 uint32_t dsparb = I915_READ(DSPARB);
431 int size; 431 int size;
432 432
@@ -442,7 +442,7 @@ static int i9xx_get_fifo_size(struct drm_device *dev, int plane)
442 442
443static int i830_get_fifo_size(struct drm_device *dev, int plane) 443static int i830_get_fifo_size(struct drm_device *dev, int plane)
444{ 444{
445 struct drm_i915_private *dev_priv = dev->dev_private; 445 struct drm_i915_private *dev_priv = to_i915(dev);
446 uint32_t dsparb = I915_READ(DSPARB); 446 uint32_t dsparb = I915_READ(DSPARB);
447 int size; 447 int size;
448 448
@@ -459,7 +459,7 @@ static int i830_get_fifo_size(struct drm_device *dev, int plane)
459 459
460static int i845_get_fifo_size(struct drm_device *dev, int plane) 460static int i845_get_fifo_size(struct drm_device *dev, int plane)
461{ 461{
462 struct drm_i915_private *dev_priv = dev->dev_private; 462 struct drm_i915_private *dev_priv = to_i915(dev);
463 uint32_t dsparb = I915_READ(DSPARB); 463 uint32_t dsparb = I915_READ(DSPARB);
464 int size; 464 int size;
465 465
@@ -637,7 +637,7 @@ static struct drm_crtc *single_enabled_crtc(struct drm_device *dev)
637static void pineview_update_wm(struct drm_crtc *unused_crtc) 637static void pineview_update_wm(struct drm_crtc *unused_crtc)
638{ 638{
639 struct drm_device *dev = unused_crtc->dev; 639 struct drm_device *dev = unused_crtc->dev;
640 struct drm_i915_private *dev_priv = dev->dev_private; 640 struct drm_i915_private *dev_priv = to_i915(dev);
641 struct drm_crtc *crtc; 641 struct drm_crtc *crtc;
642 const struct cxsr_latency *latency; 642 const struct cxsr_latency *latency;
643 u32 reg; 643 u32 reg;
@@ -934,7 +934,7 @@ static unsigned int vlv_wm_method2(unsigned int pixel_rate,
934 934
935static void vlv_setup_wm_latency(struct drm_device *dev) 935static void vlv_setup_wm_latency(struct drm_device *dev)
936{ 936{
937 struct drm_i915_private *dev_priv = dev->dev_private; 937 struct drm_i915_private *dev_priv = to_i915(dev);
938 938
939 /* all latencies in usec */ 939 /* all latencies in usec */
940 dev_priv->wm.pri_latency[VLV_WM_LEVEL_PM2] = 3; 940 dev_priv->wm.pri_latency[VLV_WM_LEVEL_PM2] = 3;
@@ -1325,7 +1325,7 @@ static void vlv_merge_wm(struct drm_device *dev,
1325static void vlv_update_wm(struct drm_crtc *crtc) 1325static void vlv_update_wm(struct drm_crtc *crtc)
1326{ 1326{
1327 struct drm_device *dev = crtc->dev; 1327 struct drm_device *dev = crtc->dev;
1328 struct drm_i915_private *dev_priv = dev->dev_private; 1328 struct drm_i915_private *dev_priv = to_i915(dev);
1329 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); 1329 struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
1330 enum pipe pipe = intel_crtc->pipe; 1330 enum pipe pipe = intel_crtc->pipe;
1331 struct vlv_wm_values wm = {}; 1331 struct vlv_wm_values wm = {};
@@ -1381,7 +1381,7 @@ static void g4x_update_wm(struct drm_crtc *crtc)
1381{ 1381{
1382 struct drm_device *dev = crtc->dev; 1382 struct drm_device *dev = crtc->dev;
1383 static const int sr_latency_ns = 12000; 1383 static const int sr_latency_ns = 12000;
1384 struct drm_i915_private *dev_priv = dev->dev_private; 1384 struct drm_i915_private *dev_priv = to_i915(dev);
1385 int planea_wm, planeb_wm, cursora_wm, cursorb_wm; 1385 int planea_wm, planeb_wm, cursora_wm, cursorb_wm;
1386 int plane_sr, cursor_sr; 1386 int plane_sr, cursor_sr;
1387 unsigned int enabled = 0; 1387 unsigned int enabled = 0;
@@ -1438,7 +1438,7 @@ static void g4x_update_wm(struct drm_crtc *crtc)
1438static void i965_update_wm(struct drm_crtc *unused_crtc) 1438static void i965_update_wm(struct drm_crtc *unused_crtc)
1439{ 1439{
1440 struct drm_device *dev = unused_crtc->dev; 1440 struct drm_device *dev = unused_crtc->dev;
1441 struct drm_i915_private *dev_priv = dev->dev_private; 1441 struct drm_i915_private *dev_priv = to_i915(dev);
1442 struct drm_crtc *crtc; 1442 struct drm_crtc *crtc;
1443 int srwm = 1; 1443 int srwm = 1;
1444 int cursor_sr = 16; 1444 int cursor_sr = 16;
@@ -1512,7 +1512,7 @@ static void i965_update_wm(struct drm_crtc *unused_crtc)
1512static void i9xx_update_wm(struct drm_crtc *unused_crtc) 1512static void i9xx_update_wm(struct drm_crtc *unused_crtc)
1513{ 1513{
1514 struct drm_device *dev = unused_crtc->dev; 1514 struct drm_device *dev = unused_crtc->dev;
1515 struct drm_i915_private *dev_priv = dev->dev_private; 1515 struct drm_i915_private *dev_priv = to_i915(dev);
1516 const struct intel_watermark_params *wm_info; 1516 const struct intel_watermark_params *wm_info;
1517 uint32_t fwater_lo; 1517 uint32_t fwater_lo;
1518 uint32_t fwater_hi; 1518 uint32_t fwater_hi;
@@ -1642,7 +1642,7 @@ static void i9xx_update_wm(struct drm_crtc *unused_crtc)
1642static void i845_update_wm(struct drm_crtc *unused_crtc) 1642static void i845_update_wm(struct drm_crtc *unused_crtc)
1643{ 1643{
1644 struct drm_device *dev = unused_crtc->dev; 1644 struct drm_device *dev = unused_crtc->dev;
1645 struct drm_i915_private *dev_priv = dev->dev_private; 1645 struct drm_i915_private *dev_priv = to_i915(dev);
1646 struct drm_crtc *crtc; 1646 struct drm_crtc *crtc;
1647 const struct drm_display_mode *adjusted_mode; 1647 const struct drm_display_mode *adjusted_mode;
1648 uint32_t fwater_lo; 1648 uint32_t fwater_lo;
@@ -2070,7 +2070,7 @@ hsw_compute_linetime_wm(const struct intel_crtc_state *cstate)
2070 2070
2071static void intel_read_wm_latency(struct drm_device *dev, uint16_t wm[8]) 2071static void intel_read_wm_latency(struct drm_device *dev, uint16_t wm[8])
2072{ 2072{
2073 struct drm_i915_private *dev_priv = dev->dev_private; 2073 struct drm_i915_private *dev_priv = to_i915(dev);
2074 2074
2075 if (IS_GEN9(dev)) { 2075 if (IS_GEN9(dev)) {
2076 uint32_t val; 2076 uint32_t val;
@@ -2250,7 +2250,7 @@ static bool ilk_increase_wm_latency(struct drm_i915_private *dev_priv,
2250 2250
2251static void snb_wm_latency_quirk(struct drm_device *dev) 2251static void snb_wm_latency_quirk(struct drm_device *dev)
2252{ 2252{
2253 struct drm_i915_private *dev_priv = dev->dev_private; 2253 struct drm_i915_private *dev_priv = to_i915(dev);
2254 bool changed; 2254 bool changed;
2255 2255
2256 /* 2256 /*
@@ -2272,7 +2272,7 @@ static void snb_wm_latency_quirk(struct drm_device *dev)
2272 2272
2273static void ilk_setup_wm_latency(struct drm_device *dev) 2273static void ilk_setup_wm_latency(struct drm_device *dev)
2274{ 2274{
2275 struct drm_i915_private *dev_priv = dev->dev_private; 2275 struct drm_i915_private *dev_priv = to_i915(dev);
2276 2276
2277 intel_read_wm_latency(dev, dev_priv->wm.pri_latency); 2277 intel_read_wm_latency(dev, dev_priv->wm.pri_latency);
2278 2278
@@ -2294,7 +2294,7 @@ static void ilk_setup_wm_latency(struct drm_device *dev)
2294 2294
2295static void skl_setup_wm_latency(struct drm_device *dev) 2295static void skl_setup_wm_latency(struct drm_device *dev)
2296{ 2296{
2297 struct drm_i915_private *dev_priv = dev->dev_private; 2297 struct drm_i915_private *dev_priv = to_i915(dev);
2298 2298
2299 intel_read_wm_latency(dev, dev_priv->wm.skl_latency); 2299 intel_read_wm_latency(dev, dev_priv->wm.skl_latency);
2300 intel_print_wm_latency(dev, "Gen9 Plane", dev_priv->wm.skl_latency); 2300 intel_print_wm_latency(dev, "Gen9 Plane", dev_priv->wm.skl_latency);
@@ -2330,7 +2330,7 @@ static int ilk_compute_pipe_wm(struct intel_crtc_state *cstate)
2330 struct intel_crtc *intel_crtc = to_intel_crtc(cstate->base.crtc); 2330 struct intel_crtc *intel_crtc = to_intel_crtc(cstate->base.crtc);
2331 struct intel_pipe_wm *pipe_wm; 2331 struct intel_pipe_wm *pipe_wm;
2332 struct drm_device *dev = state->dev; 2332 struct drm_device *dev = state->dev;
2333 const struct drm_i915_private *dev_priv = dev->dev_private; 2333 const struct drm_i915_private *dev_priv = to_i915(dev);
2334 struct intel_plane *intel_plane; 2334 struct intel_plane *intel_plane;
2335 struct intel_plane_state *pristate = NULL; 2335 struct intel_plane_state *pristate = NULL;
2336 struct intel_plane_state *sprstate = NULL; 2336 struct intel_plane_state *sprstate = NULL;
@@ -2505,7 +2505,7 @@ static void ilk_wm_merge(struct drm_device *dev,
2505 const struct ilk_wm_maximums *max, 2505 const struct ilk_wm_maximums *max,
2506 struct intel_pipe_wm *merged) 2506 struct intel_pipe_wm *merged)
2507{ 2507{
2508 struct drm_i915_private *dev_priv = dev->dev_private; 2508 struct drm_i915_private *dev_priv = to_i915(dev);
2509 int level, max_level = ilk_wm_max_level(dev); 2509 int level, max_level = ilk_wm_max_level(dev);
2510 int last_enabled_level = max_level; 2510 int last_enabled_level = max_level;
2511 2511
@@ -2565,7 +2565,7 @@ static int ilk_wm_lp_to_level(int wm_lp, const struct intel_pipe_wm *pipe_wm)
2565/* The value we need to program into the WM_LPx latency field */ 2565/* The value we need to program into the WM_LPx latency field */
2566static unsigned int ilk_wm_lp_latency(struct drm_device *dev, int level) 2566static unsigned int ilk_wm_lp_latency(struct drm_device *dev, int level)
2567{ 2567{
2568 struct drm_i915_private *dev_priv = dev->dev_private; 2568 struct drm_i915_private *dev_priv = to_i915(dev);
2569 2569
2570 if (IS_HASWELL(dev) || IS_BROADWELL(dev)) 2570 if (IS_HASWELL(dev) || IS_BROADWELL(dev))
2571 return 2 * level; 2571 return 2 * level;
@@ -2840,7 +2840,7 @@ static void ilk_write_wm_values(struct drm_i915_private *dev_priv,
2840 2840
2841bool ilk_disable_lp_wm(struct drm_device *dev) 2841bool ilk_disable_lp_wm(struct drm_device *dev)
2842{ 2842{
2843 struct drm_i915_private *dev_priv = dev->dev_private; 2843 struct drm_i915_private *dev_priv = to_i915(dev);
2844 2844
2845 return _ilk_disable_lp_wm(dev_priv, WM_DIRTY_LP_ALL); 2845 return _ilk_disable_lp_wm(dev_priv, WM_DIRTY_LP_ALL);
2846} 2846}
@@ -3595,7 +3595,7 @@ static int skl_build_pipe_wm(struct intel_crtc_state *cstate,
3595 struct skl_pipe_wm *pipe_wm) 3595 struct skl_pipe_wm *pipe_wm)
3596{ 3596{
3597 struct drm_device *dev = cstate->base.crtc->dev; 3597 struct drm_device *dev = cstate->base.crtc->dev;
3598 const struct drm_i915_private *dev_priv = dev->dev_private; 3598 const struct drm_i915_private *dev_priv = to_i915(dev);
3599 int level, max_level = ilk_wm_max_level(dev); 3599 int level, max_level = ilk_wm_max_level(dev);
3600 int ret; 3600 int ret;
3601 3601
@@ -4015,7 +4015,7 @@ static void skl_update_wm(struct drm_crtc *crtc)
4015{ 4015{
4016 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); 4016 struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
4017 struct drm_device *dev = crtc->dev; 4017 struct drm_device *dev = crtc->dev;
4018 struct drm_i915_private *dev_priv = dev->dev_private; 4018 struct drm_i915_private *dev_priv = to_i915(dev);
4019 struct skl_wm_values *results = &dev_priv->wm.skl_results; 4019 struct skl_wm_values *results = &dev_priv->wm.skl_results;
4020 struct intel_crtc_state *cstate = to_intel_crtc_state(crtc->state); 4020 struct intel_crtc_state *cstate = to_intel_crtc_state(crtc->state);
4021 struct skl_pipe_wm *pipe_wm = &cstate->wm.skl.optimal; 4021 struct skl_pipe_wm *pipe_wm = &cstate->wm.skl.optimal;
@@ -4158,7 +4158,7 @@ static void skl_pipe_wm_active_state(uint32_t val,
4158static void skl_pipe_wm_get_hw_state(struct drm_crtc *crtc) 4158static void skl_pipe_wm_get_hw_state(struct drm_crtc *crtc)
4159{ 4159{
4160 struct drm_device *dev = crtc->dev; 4160 struct drm_device *dev = crtc->dev;
4161 struct drm_i915_private *dev_priv = dev->dev_private; 4161 struct drm_i915_private *dev_priv = to_i915(dev);
4162 struct skl_wm_values *hw = &dev_priv->wm.skl_hw; 4162 struct skl_wm_values *hw = &dev_priv->wm.skl_hw;
4163 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); 4163 struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
4164 struct intel_crtc_state *cstate = to_intel_crtc_state(crtc->state); 4164 struct intel_crtc_state *cstate = to_intel_crtc_state(crtc->state);
@@ -4212,7 +4212,7 @@ static void skl_pipe_wm_get_hw_state(struct drm_crtc *crtc)
4212 4212
4213void skl_wm_get_hw_state(struct drm_device *dev) 4213void skl_wm_get_hw_state(struct drm_device *dev)
4214{ 4214{
4215 struct drm_i915_private *dev_priv = dev->dev_private; 4215 struct drm_i915_private *dev_priv = to_i915(dev);
4216 struct skl_ddb_allocation *ddb = &dev_priv->wm.skl_hw.ddb; 4216 struct skl_ddb_allocation *ddb = &dev_priv->wm.skl_hw.ddb;
4217 struct drm_crtc *crtc; 4217 struct drm_crtc *crtc;
4218 4218
@@ -4232,7 +4232,7 @@ void skl_wm_get_hw_state(struct drm_device *dev)
4232static void ilk_pipe_wm_get_hw_state(struct drm_crtc *crtc) 4232static void ilk_pipe_wm_get_hw_state(struct drm_crtc *crtc)
4233{ 4233{
4234 struct drm_device *dev = crtc->dev; 4234 struct drm_device *dev = crtc->dev;
4235 struct drm_i915_private *dev_priv = dev->dev_private; 4235 struct drm_i915_private *dev_priv = to_i915(dev);
4236 struct ilk_wm_values *hw = &dev_priv->wm.hw; 4236 struct ilk_wm_values *hw = &dev_priv->wm.hw;
4237 struct intel_crtc *intel_crtc = to_intel_crtc(crtc); 4237 struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
4238 struct intel_crtc_state *cstate = to_intel_crtc_state(crtc->state); 4238 struct intel_crtc_state *cstate = to_intel_crtc_state(crtc->state);
@@ -4436,7 +4436,7 @@ void vlv_wm_get_hw_state(struct drm_device *dev)
4436 4436
4437void ilk_wm_get_hw_state(struct drm_device *dev) 4437void ilk_wm_get_hw_state(struct drm_device *dev)
4438{ 4438{
4439 struct drm_i915_private *dev_priv = dev->dev_private; 4439 struct drm_i915_private *dev_priv = to_i915(dev);
4440 struct ilk_wm_values *hw = &dev_priv->wm.hw; 4440 struct ilk_wm_values *hw = &dev_priv->wm.hw;
4441 struct drm_crtc *crtc; 4441 struct drm_crtc *crtc;
4442 4442
@@ -4498,7 +4498,7 @@ void ilk_wm_get_hw_state(struct drm_device *dev)
4498 */ 4498 */
4499void intel_update_watermarks(struct drm_crtc *crtc) 4499void intel_update_watermarks(struct drm_crtc *crtc)
4500{ 4500{
4501 struct drm_i915_private *dev_priv = crtc->dev->dev_private; 4501 struct drm_i915_private *dev_priv = to_i915(crtc->dev);
4502 4502
4503 if (dev_priv->display.update_wm) 4503 if (dev_priv->display.update_wm)
4504 dev_priv->display.update_wm(crtc); 4504 dev_priv->display.update_wm(crtc);
@@ -6713,7 +6713,7 @@ void intel_reset_gt_powersave(struct drm_i915_private *dev_priv)
6713 6713
6714static void ibx_init_clock_gating(struct drm_device *dev) 6714static void ibx_init_clock_gating(struct drm_device *dev)
6715{ 6715{
6716 struct drm_i915_private *dev_priv = dev->dev_private; 6716 struct drm_i915_private *dev_priv = to_i915(dev);
6717 6717
6718 /* 6718 /*
6719 * On Ibex Peak and Cougar Point, we need to disable clock 6719 * On Ibex Peak and Cougar Point, we need to disable clock
@@ -6725,7 +6725,7 @@ static void ibx_init_clock_gating(struct drm_device *dev)
6725 6725
6726static void g4x_disable_trickle_feed(struct drm_device *dev) 6726static void g4x_disable_trickle_feed(struct drm_device *dev)
6727{ 6727{
6728 struct drm_i915_private *dev_priv = dev->dev_private; 6728 struct drm_i915_private *dev_priv = to_i915(dev);
6729 enum pipe pipe; 6729 enum pipe pipe;
6730 6730
6731 for_each_pipe(dev_priv, pipe) { 6731 for_each_pipe(dev_priv, pipe) {
@@ -6740,7 +6740,7 @@ static void g4x_disable_trickle_feed(struct drm_device *dev)
6740 6740
6741static void ilk_init_lp_watermarks(struct drm_device *dev) 6741static void ilk_init_lp_watermarks(struct drm_device *dev)
6742{ 6742{
6743 struct drm_i915_private *dev_priv = dev->dev_private; 6743 struct drm_i915_private *dev_priv = to_i915(dev);
6744 6744
6745 I915_WRITE(WM3_LP_ILK, I915_READ(WM3_LP_ILK) & ~WM1_LP_SR_EN); 6745 I915_WRITE(WM3_LP_ILK, I915_READ(WM3_LP_ILK) & ~WM1_LP_SR_EN);
6746 I915_WRITE(WM2_LP_ILK, I915_READ(WM2_LP_ILK) & ~WM1_LP_SR_EN); 6746 I915_WRITE(WM2_LP_ILK, I915_READ(WM2_LP_ILK) & ~WM1_LP_SR_EN);
@@ -6754,7 +6754,7 @@ static void ilk_init_lp_watermarks(struct drm_device *dev)
6754 6754
6755static void ironlake_init_clock_gating(struct drm_device *dev) 6755static void ironlake_init_clock_gating(struct drm_device *dev)
6756{ 6756{
6757 struct drm_i915_private *dev_priv = dev->dev_private; 6757 struct drm_i915_private *dev_priv = to_i915(dev);
6758 uint32_t dspclk_gate = ILK_VRHUNIT_CLOCK_GATE_DISABLE; 6758 uint32_t dspclk_gate = ILK_VRHUNIT_CLOCK_GATE_DISABLE;
6759 6759
6760 /* 6760 /*
@@ -6828,7 +6828,7 @@ static void ironlake_init_clock_gating(struct drm_device *dev)
6828 6828
6829static void cpt_init_clock_gating(struct drm_device *dev) 6829static void cpt_init_clock_gating(struct drm_device *dev)
6830{ 6830{
6831 struct drm_i915_private *dev_priv = dev->dev_private; 6831 struct drm_i915_private *dev_priv = to_i915(dev);
6832 int pipe; 6832 int pipe;
6833 uint32_t val; 6833 uint32_t val;
6834 6834
@@ -6865,7 +6865,7 @@ static void cpt_init_clock_gating(struct drm_device *dev)
6865 6865
6866static void gen6_check_mch_setup(struct drm_device *dev) 6866static void gen6_check_mch_setup(struct drm_device *dev)
6867{ 6867{
6868 struct drm_i915_private *dev_priv = dev->dev_private; 6868 struct drm_i915_private *dev_priv = to_i915(dev);
6869 uint32_t tmp; 6869 uint32_t tmp;
6870 6870
6871 tmp = I915_READ(MCH_SSKPD); 6871 tmp = I915_READ(MCH_SSKPD);
@@ -6876,7 +6876,7 @@ static void gen6_check_mch_setup(struct drm_device *dev)
6876 6876
6877static void gen6_init_clock_gating(struct drm_device *dev) 6877static void gen6_init_clock_gating(struct drm_device *dev)
6878{ 6878{
6879 struct drm_i915_private *dev_priv = dev->dev_private; 6879 struct drm_i915_private *dev_priv = to_i915(dev);
6880 uint32_t dspclk_gate = ILK_VRHUNIT_CLOCK_GATE_DISABLE; 6880 uint32_t dspclk_gate = ILK_VRHUNIT_CLOCK_GATE_DISABLE;
6881 6881
6882 I915_WRITE(ILK_DSPCLK_GATE_D, dspclk_gate); 6882 I915_WRITE(ILK_DSPCLK_GATE_D, dspclk_gate);
@@ -6991,7 +6991,7 @@ static void gen7_setup_fixed_func_scheduler(struct drm_i915_private *dev_priv)
6991 6991
6992static void lpt_init_clock_gating(struct drm_device *dev) 6992static void lpt_init_clock_gating(struct drm_device *dev)
6993{ 6993{
6994 struct drm_i915_private *dev_priv = dev->dev_private; 6994 struct drm_i915_private *dev_priv = to_i915(dev);
6995 6995
6996 /* 6996 /*
6997 * TODO: this bit should only be enabled when really needed, then 6997 * TODO: this bit should only be enabled when really needed, then
@@ -7010,7 +7010,7 @@ static void lpt_init_clock_gating(struct drm_device *dev)
7010 7010
7011static void lpt_suspend_hw(struct drm_device *dev) 7011static void lpt_suspend_hw(struct drm_device *dev)
7012{ 7012{
7013 struct drm_i915_private *dev_priv = dev->dev_private; 7013 struct drm_i915_private *dev_priv = to_i915(dev);
7014 7014
7015 if (HAS_PCH_LPT_LP(dev)) { 7015 if (HAS_PCH_LPT_LP(dev)) {
7016 uint32_t val = I915_READ(SOUTH_DSPCLK_GATE_D); 7016 uint32_t val = I915_READ(SOUTH_DSPCLK_GATE_D);
@@ -7045,7 +7045,7 @@ static void gen8_set_l3sqc_credits(struct drm_i915_private *dev_priv,
7045 7045
7046static void kabylake_init_clock_gating(struct drm_device *dev) 7046static void kabylake_init_clock_gating(struct drm_device *dev)
7047{ 7047{
7048 struct drm_i915_private *dev_priv = dev->dev_private; 7048 struct drm_i915_private *dev_priv = to_i915(dev);
7049 7049
7050 gen9_init_clock_gating(dev); 7050 gen9_init_clock_gating(dev);
7051 7051
@@ -7066,7 +7066,7 @@ static void kabylake_init_clock_gating(struct drm_device *dev)
7066 7066
7067static void skylake_init_clock_gating(struct drm_device *dev) 7067static void skylake_init_clock_gating(struct drm_device *dev)
7068{ 7068{
7069 struct drm_i915_private *dev_priv = dev->dev_private; 7069 struct drm_i915_private *dev_priv = to_i915(dev);
7070 7070
7071 gen9_init_clock_gating(dev); 7071 gen9_init_clock_gating(dev);
7072 7072
@@ -7081,7 +7081,7 @@ static void skylake_init_clock_gating(struct drm_device *dev)
7081 7081
7082static void broadwell_init_clock_gating(struct drm_device *dev) 7082static void broadwell_init_clock_gating(struct drm_device *dev)
7083{ 7083{
7084 struct drm_i915_private *dev_priv = dev->dev_private; 7084 struct drm_i915_private *dev_priv = to_i915(dev);
7085 enum pipe pipe; 7085 enum pipe pipe;
7086 7086
7087 ilk_init_lp_watermarks(dev); 7087 ilk_init_lp_watermarks(dev);
@@ -7132,7 +7132,7 @@ static void broadwell_init_clock_gating(struct drm_device *dev)
7132 7132
7133static void haswell_init_clock_gating(struct drm_device *dev) 7133static void haswell_init_clock_gating(struct drm_device *dev)
7134{ 7134{
7135 struct drm_i915_private *dev_priv = dev->dev_private; 7135 struct drm_i915_private *dev_priv = to_i915(dev);
7136 7136
7137 ilk_init_lp_watermarks(dev); 7137 ilk_init_lp_watermarks(dev);
7138 7138
@@ -7188,7 +7188,7 @@ static void haswell_init_clock_gating(struct drm_device *dev)
7188 7188
7189static void ivybridge_init_clock_gating(struct drm_device *dev) 7189static void ivybridge_init_clock_gating(struct drm_device *dev)
7190{ 7190{
7191 struct drm_i915_private *dev_priv = dev->dev_private; 7191 struct drm_i915_private *dev_priv = to_i915(dev);
7192 uint32_t snpcr; 7192 uint32_t snpcr;
7193 7193
7194 ilk_init_lp_watermarks(dev); 7194 ilk_init_lp_watermarks(dev);
@@ -7286,7 +7286,7 @@ static void ivybridge_init_clock_gating(struct drm_device *dev)
7286 7286
7287static void valleyview_init_clock_gating(struct drm_device *dev) 7287static void valleyview_init_clock_gating(struct drm_device *dev)
7288{ 7288{
7289 struct drm_i915_private *dev_priv = dev->dev_private; 7289 struct drm_i915_private *dev_priv = to_i915(dev);
7290 7290
7291 /* WaDisableEarlyCull:vlv */ 7291 /* WaDisableEarlyCull:vlv */
7292 I915_WRITE(_3D_CHICKEN3, 7292 I915_WRITE(_3D_CHICKEN3,
@@ -7368,7 +7368,7 @@ static void valleyview_init_clock_gating(struct drm_device *dev)
7368 7368
7369static void cherryview_init_clock_gating(struct drm_device *dev) 7369static void cherryview_init_clock_gating(struct drm_device *dev)
7370{ 7370{
7371 struct drm_i915_private *dev_priv = dev->dev_private; 7371 struct drm_i915_private *dev_priv = to_i915(dev);
7372 7372
7373 /* WaVSRefCountFullforceMissDisable:chv */ 7373 /* WaVSRefCountFullforceMissDisable:chv */
7374 /* WaDSRefCountFullforceMissDisable:chv */ 7374 /* WaDSRefCountFullforceMissDisable:chv */
@@ -7404,7 +7404,7 @@ static void cherryview_init_clock_gating(struct drm_device *dev)
7404 7404
7405static void g4x_init_clock_gating(struct drm_device *dev) 7405static void g4x_init_clock_gating(struct drm_device *dev)
7406{ 7406{
7407 struct drm_i915_private *dev_priv = dev->dev_private; 7407 struct drm_i915_private *dev_priv = to_i915(dev);
7408 uint32_t dspclk_gate; 7408 uint32_t dspclk_gate;
7409 7409
7410 I915_WRITE(RENCLK_GATE_D1, 0); 7410 I915_WRITE(RENCLK_GATE_D1, 0);
@@ -7431,7 +7431,7 @@ static void g4x_init_clock_gating(struct drm_device *dev)
7431 7431
7432static void crestline_init_clock_gating(struct drm_device *dev) 7432static void crestline_init_clock_gating(struct drm_device *dev)
7433{ 7433{
7434 struct drm_i915_private *dev_priv = dev->dev_private; 7434 struct drm_i915_private *dev_priv = to_i915(dev);
7435 7435
7436 I915_WRITE(RENCLK_GATE_D1, I965_RCC_CLOCK_GATE_DISABLE); 7436 I915_WRITE(RENCLK_GATE_D1, I965_RCC_CLOCK_GATE_DISABLE);
7437 I915_WRITE(RENCLK_GATE_D2, 0); 7437 I915_WRITE(RENCLK_GATE_D2, 0);
@@ -7447,7 +7447,7 @@ static void crestline_init_clock_gating(struct drm_device *dev)
7447 7447
7448static void broadwater_init_clock_gating(struct drm_device *dev) 7448static void broadwater_init_clock_gating(struct drm_device *dev)
7449{ 7449{
7450 struct drm_i915_private *dev_priv = dev->dev_private; 7450 struct drm_i915_private *dev_priv = to_i915(dev);
7451 7451
7452 I915_WRITE(RENCLK_GATE_D1, I965_RCZ_CLOCK_GATE_DISABLE | 7452 I915_WRITE(RENCLK_GATE_D1, I965_RCZ_CLOCK_GATE_DISABLE |
7453 I965_RCC_CLOCK_GATE_DISABLE | 7453 I965_RCC_CLOCK_GATE_DISABLE |
@@ -7464,7 +7464,7 @@ static void broadwater_init_clock_gating(struct drm_device *dev)
7464 7464
7465static void gen3_init_clock_gating(struct drm_device *dev) 7465static void gen3_init_clock_gating(struct drm_device *dev)
7466{ 7466{
7467 struct drm_i915_private *dev_priv = dev->dev_private; 7467 struct drm_i915_private *dev_priv = to_i915(dev);
7468 u32 dstate = I915_READ(D_STATE); 7468 u32 dstate = I915_READ(D_STATE);
7469 7469
7470 dstate |= DSTATE_PLL_D3_OFF | DSTATE_GFX_CLOCK_GATING | 7470 dstate |= DSTATE_PLL_D3_OFF | DSTATE_GFX_CLOCK_GATING |
@@ -7489,7 +7489,7 @@ static void gen3_init_clock_gating(struct drm_device *dev)
7489 7489
7490static void i85x_init_clock_gating(struct drm_device *dev) 7490static void i85x_init_clock_gating(struct drm_device *dev)
7491{ 7491{
7492 struct drm_i915_private *dev_priv = dev->dev_private; 7492 struct drm_i915_private *dev_priv = to_i915(dev);
7493 7493
7494 I915_WRITE(RENCLK_GATE_D1, SV_CLOCK_GATE_DISABLE); 7494 I915_WRITE(RENCLK_GATE_D1, SV_CLOCK_GATE_DISABLE);
7495 7495
@@ -7503,7 +7503,7 @@ static void i85x_init_clock_gating(struct drm_device *dev)
7503 7503
7504static void i830_init_clock_gating(struct drm_device *dev) 7504static void i830_init_clock_gating(struct drm_device *dev)
7505{ 7505{
7506 struct drm_i915_private *dev_priv = dev->dev_private; 7506 struct drm_i915_private *dev_priv = to_i915(dev);
7507 7507
7508 I915_WRITE(DSPCLK_GATE_D, OVRUNIT_CLOCK_GATE_DISABLE); 7508 I915_WRITE(DSPCLK_GATE_D, OVRUNIT_CLOCK_GATE_DISABLE);
7509 7509
@@ -7514,7 +7514,7 @@ static void i830_init_clock_gating(struct drm_device *dev)
7514 7514
7515void intel_init_clock_gating(struct drm_device *dev) 7515void intel_init_clock_gating(struct drm_device *dev)
7516{ 7516{
7517 struct drm_i915_private *dev_priv = dev->dev_private; 7517 struct drm_i915_private *dev_priv = to_i915(dev);
7518 7518
7519 dev_priv->display.init_clock_gating(dev); 7519 dev_priv->display.init_clock_gating(dev);
7520} 7520}
@@ -7582,7 +7582,7 @@ void intel_init_clock_gating_hooks(struct drm_i915_private *dev_priv)
7582/* Set up chip specific power management-related functions */ 7582/* Set up chip specific power management-related functions */
7583void intel_init_pm(struct drm_device *dev) 7583void intel_init_pm(struct drm_device *dev)
7584{ 7584{
7585 struct drm_i915_private *dev_priv = dev->dev_private; 7585 struct drm_i915_private *dev_priv = to_i915(dev);
7586 7586
7587 intel_fbc_init(dev_priv); 7587 intel_fbc_init(dev_priv);
7588 7588
@@ -7812,7 +7812,7 @@ void intel_queue_rps_boost_for_request(struct drm_i915_gem_request *req)
7812 7812
7813void intel_pm_setup(struct drm_device *dev) 7813void intel_pm_setup(struct drm_device *dev)
7814{ 7814{
7815 struct drm_i915_private *dev_priv = dev->dev_private; 7815 struct drm_i915_private *dev_priv = to_i915(dev);
7816 7816
7817 mutex_init(&dev_priv->rps.hw_lock); 7817 mutex_init(&dev_priv->rps.hw_lock);
7818 spin_lock_init(&dev_priv->rps.client_lock); 7818 spin_lock_init(&dev_priv->rps.client_lock);