drm/i915: Use the default 600ns LDO programming sequence delay
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 26 May 2015 17:22:38 +0000 (20:22 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 28 May 2015 09:13:50 +0000 (11:13 +0200)
Not sure which LDO programming sequence delay should be used for the CHV
PHY, but the spec says that 600ns is "Used by default for initial
bringup", and the BIOS seems to use that, so let's do the same.

Reviewed-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_runtime_pm.c

index 607766d0a15d3b97d4dce95a5cd4839ea6ed1905..e5910b76043e56656b1d05abbc767ee11ef012bf 100644 (file)
@@ -2145,6 +2145,10 @@ enum skl_disp_power_wells {
 #define DPIO_PHY_STATUS                        (VLV_DISPLAY_BASE + 0x6240)
 #define   DPLL_PORTD_READY_MASK                (0xf)
 #define DISPLAY_PHY_CONTROL (VLV_DISPLAY_BASE + 0x60100)
+#define   PHY_LDO_DELAY_0NS                    0x0
+#define   PHY_LDO_DELAY_200NS                  0x1
+#define   PHY_LDO_DELAY_600NS                  0x2
+#define   PHY_LDO_SEQ_DELAY(delay, phy)                ((delay) << (2*(phy)+23))
 #define   PHY_CH_SU_PSR                                0x1
 #define   PHY_CH_DEEP_PSR                      0x7
 #define   PHY_CH_POWER_MODE(mode, phy, ch)     ((mode) << (6*(phy)+3*(ch)+2))
index 3800be4ad76bf614fef8f5f06cb1a6a655429507..720b0c63b63cd3baa97dde731613a8fc743a4ad5 100644 (file)
@@ -1724,6 +1724,8 @@ static void chv_phy_control_init(struct drm_i915_private *dev_priv)
         * value.
         */
        dev_priv->chv_phy_control =
+               PHY_LDO_SEQ_DELAY(PHY_LDO_DELAY_600NS, DPIO_PHY0) |
+               PHY_LDO_SEQ_DELAY(PHY_LDO_DELAY_600NS, DPIO_PHY1) |
                PHY_CH_POWER_MODE(PHY_CH_SU_PSR, DPIO_PHY0, DPIO_CH0) |
                PHY_CH_POWER_MODE(PHY_CH_SU_PSR, DPIO_PHY0, DPIO_CH1) |
                PHY_CH_POWER_MODE(PHY_CH_SU_PSR, DPIO_PHY1, DPIO_CH0);