diff options
Diffstat (limited to 'drivers/gpu/drm/i915')
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 3 |
3 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 5deeb19551a4..9944b261b6a8 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -1810,7 +1810,7 @@ struct drm_i915_file_private { | |||
1810 | #define HAS_DDI(dev) (INTEL_INFO(dev)->has_ddi) | 1810 | #define HAS_DDI(dev) (INTEL_INFO(dev)->has_ddi) |
1811 | #define HAS_POWER_WELL(dev) (IS_HASWELL(dev) || IS_BROADWELL(dev)) | 1811 | #define HAS_POWER_WELL(dev) (IS_HASWELL(dev) || IS_BROADWELL(dev)) |
1812 | #define HAS_FPGA_DBG_UNCLAIMED(dev) (INTEL_INFO(dev)->has_fpga_dbg) | 1812 | #define HAS_FPGA_DBG_UNCLAIMED(dev) (INTEL_INFO(dev)->has_fpga_dbg) |
1813 | #define HAS_PSR(dev) (IS_HASWELL(dev)) | 1813 | #define HAS_PSR(dev) (IS_HASWELL(dev) || IS_BROADWELL(dev)) |
1814 | 1814 | ||
1815 | #define INTEL_PCH_DEVICE_ID_MASK 0xff00 | 1815 | #define INTEL_PCH_DEVICE_ID_MASK 0xff00 |
1816 | #define INTEL_PCH_IBX_DEVICE_ID_TYPE 0x3b00 | 1816 | #define INTEL_PCH_IBX_DEVICE_ID_TYPE 0x3b00 |
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index f99c8c5b7bd0..ffe88745898c 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -1961,8 +1961,8 @@ | |||
1961 | #define BCLRPAT(pipe) _PIPE(pipe, _BCLRPAT_A, _BCLRPAT_B) | 1961 | #define BCLRPAT(pipe) _PIPE(pipe, _BCLRPAT_A, _BCLRPAT_B) |
1962 | #define VSYNCSHIFT(trans) _TRANSCODER(trans, _VSYNCSHIFT_A, _VSYNCSHIFT_B) | 1962 | #define VSYNCSHIFT(trans) _TRANSCODER(trans, _VSYNCSHIFT_A, _VSYNCSHIFT_B) |
1963 | 1963 | ||
1964 | /* HSW eDP PSR registers */ | 1964 | /* HSW+ eDP PSR registers */ |
1965 | #define EDP_PSR_BASE(dev) 0x64800 | 1965 | #define EDP_PSR_BASE(dev) (IS_HASWELL(dev) ? 0x64800 : 0x6f800) |
1966 | #define EDP_PSR_CTL(dev) (EDP_PSR_BASE(dev) + 0) | 1966 | #define EDP_PSR_CTL(dev) (EDP_PSR_BASE(dev) + 0) |
1967 | #define EDP_PSR_ENABLE (1<<31) | 1967 | #define EDP_PSR_ENABLE (1<<31) |
1968 | #define EDP_PSR_LINK_DISABLE (0<<27) | 1968 | #define EDP_PSR_LINK_DISABLE (0<<27) |
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index f39856e12094..46837a0f6f6f 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c | |||
@@ -1611,6 +1611,7 @@ static void intel_edp_psr_enable_source(struct intel_dp *intel_dp) | |||
1611 | uint32_t max_sleep_time = 0x1f; | 1611 | uint32_t max_sleep_time = 0x1f; |
1612 | uint32_t idle_frames = 1; | 1612 | uint32_t idle_frames = 1; |
1613 | uint32_t val = 0x0; | 1613 | uint32_t val = 0x0; |
1614 | const uint32_t link_entry_time = EDP_PSR_MIN_LINK_ENTRY_TIME_8_LINES; | ||
1614 | 1615 | ||
1615 | if (intel_dp->psr_dpcd[1] & DP_PSR_NO_TRAIN_ON_EXIT) { | 1616 | if (intel_dp->psr_dpcd[1] & DP_PSR_NO_TRAIN_ON_EXIT) { |
1616 | val |= EDP_PSR_LINK_STANDBY; | 1617 | val |= EDP_PSR_LINK_STANDBY; |
@@ -1621,7 +1622,7 @@ static void intel_edp_psr_enable_source(struct intel_dp *intel_dp) | |||
1621 | val |= EDP_PSR_LINK_DISABLE; | 1622 | val |= EDP_PSR_LINK_DISABLE; |
1622 | 1623 | ||
1623 | I915_WRITE(EDP_PSR_CTL(dev), val | | 1624 | I915_WRITE(EDP_PSR_CTL(dev), val | |
1624 | EDP_PSR_MIN_LINK_ENTRY_TIME_8_LINES | | 1625 | IS_BROADWELL(dev) ? 0 : link_entry_time | |
1625 | max_sleep_time << EDP_PSR_MAX_SLEEP_TIME_SHIFT | | 1626 | max_sleep_time << EDP_PSR_MAX_SLEEP_TIME_SHIFT | |
1626 | idle_frames << EDP_PSR_IDLE_FRAME_SHIFT | | 1627 | idle_frames << EDP_PSR_IDLE_FRAME_SHIFT | |
1627 | EDP_PSR_ENABLE); | 1628 | EDP_PSR_ENABLE); |