aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@virtuousgeek.org>2013-12-16 19:34:24 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-12-17 03:34:17 -0500
commit5382f5f35e73e5c7ac486824d1e26a2f44de0eec (patch)
treedd1962f6cb4edbfd0c6618e6515853cf4e142ed5 /drivers/gpu/drm/i915/intel_display.c
parentf42bb70d4ff976b134fcbfb50301a87e7523f042 (diff)
drm/i915/vlv: split DPIO init and reset
We only need to init the reg offset for DPIO once, but we need to reset DPIO at resume time and at init time. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 9405340369d1..066fc9ddbd28 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -1372,6 +1372,15 @@ static void intel_init_dpio(struct drm_device *dev)
1372 DPLL_INTEGRATED_CRI_CLK_VLV); 1372 DPLL_INTEGRATED_CRI_CLK_VLV);
1373 1373
1374 DPIO_PHY_IOSF_PORT(DPIO_PHY0) = IOSF_PORT_DPIO; 1374 DPIO_PHY_IOSF_PORT(DPIO_PHY0) = IOSF_PORT_DPIO;
1375}
1376
1377static void intel_reset_dpio(struct drm_device *dev)
1378{
1379 struct drm_i915_private *dev_priv = dev->dev_private;
1380
1381 if (!IS_VALLEYVIEW(dev))
1382 return;
1383
1375 /* 1384 /*
1376 * From VLV2A0_DP_eDP_DPIO_driver_vbios_notes_10.docx - 1385 * From VLV2A0_DP_eDP_DPIO_driver_vbios_notes_10.docx -
1377 * 6. De-assert cmn_reset/side_reset. Same as VLV X0. 1386 * 6. De-assert cmn_reset/side_reset. Same as VLV X0.
@@ -10809,7 +10818,7 @@ void intel_modeset_init_hw(struct drm_device *dev)
10809 10818
10810 intel_init_clock_gating(dev); 10819 intel_init_clock_gating(dev);
10811 10820
10812 intel_init_dpio(dev); 10821 intel_reset_dpio(dev);
10813 10822
10814 mutex_lock(&dev->struct_mutex); 10823 mutex_lock(&dev->struct_mutex);
10815 intel_enable_gt_powersave(dev); 10824 intel_enable_gt_powersave(dev);
@@ -10872,6 +10881,7 @@ void intel_modeset_init(struct drm_device *dev)
10872 } 10881 }
10873 10882
10874 intel_init_dpio(dev); 10883 intel_init_dpio(dev);
10884 intel_reset_dpio(dev);
10875 10885
10876 intel_cpu_pll_init(dev); 10886 intel_cpu_pll_init(dev);
10877 intel_shared_dpll_init(dev); 10887 intel_shared_dpll_init(dev);