diff options
-rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index e69fe05228fb..9b76d63cc1ac 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -7215,6 +7215,10 @@ enum { | |||
7215 | #define TGL_DMC_DEBUG_DC5_COUNT _MMIO(0x101084) | 7215 | #define TGL_DMC_DEBUG_DC5_COUNT _MMIO(0x101084) |
7216 | #define TGL_DMC_DEBUG_DC6_COUNT _MMIO(0x101088) | 7216 | #define TGL_DMC_DEBUG_DC6_COUNT _MMIO(0x101088) |
7217 | 7217 | ||
7218 | /* Display Internal Timeout Register */ | ||
7219 | #define RM_TIMEOUT _MMIO(0x42060) | ||
7220 | #define MMIO_TIMEOUT_US(us) ((us) << 0) | ||
7221 | |||
7218 | /* interrupts */ | 7222 | /* interrupts */ |
7219 | #define DE_MASTER_IRQ_CONTROL (1 << 31) | 7223 | #define DE_MASTER_IRQ_CONTROL (1 << 31) |
7220 | #define DE_SPRITEB_FLIP_DONE (1 << 29) | 7224 | #define DE_SPRITEB_FLIP_DONE (1 << 29) |
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 75ee027abb80..b5903ee25dea 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c | |||
@@ -126,6 +126,14 @@ static void bxt_init_clock_gating(struct drm_i915_private *dev_priv) | |||
126 | */ | 126 | */ |
127 | I915_WRITE(GEN9_CLKGATE_DIS_0, I915_READ(GEN9_CLKGATE_DIS_0) | | 127 | I915_WRITE(GEN9_CLKGATE_DIS_0, I915_READ(GEN9_CLKGATE_DIS_0) | |
128 | PWM1_GATING_DIS | PWM2_GATING_DIS); | 128 | PWM1_GATING_DIS | PWM2_GATING_DIS); |
129 | |||
130 | /* | ||
131 | * Lower the display internal timeout. | ||
132 | * This is needed to avoid any hard hangs when DSI port PLL | ||
133 | * is off and a MMIO access is attempted by any privilege | ||
134 | * application, using batch buffers or any other means. | ||
135 | */ | ||
136 | I915_WRITE(RM_TIMEOUT, MMIO_TIMEOUT_US(950)); | ||
129 | } | 137 | } |
130 | 138 | ||
131 | static void glk_init_clock_gating(struct drm_i915_private *dev_priv) | 139 | static void glk_init_clock_gating(struct drm_i915_private *dev_priv) |