From d1ad5b748fa834c3d31fcc18e62303f150474538 Mon Sep 17 00:00:00 2001 From: Ben Widawsky Date: Fri, 26 Apr 2013 16:24:52 -0700 Subject: [PATCH] drm/i915: Don't wait for PCH on reset (SNB only) Signed-off-by: Ben Widawsky --- drivers/gpu/drm/i915/i915_gem.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 0e207e6..5fe5983 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -3978,6 +3978,7 @@ int i915_gem_init_hw(struct drm_device *dev) { drm_i915_private_t *dev_priv = dev->dev_private; + u32 disp_chicken2; int ret; if (INTEL_INFO(dev)->gen < 6 && !intel_enable_gtt()) @@ -3986,6 +3987,14 @@ i915_gem_init_hw(struct drm_device *dev) if (IS_HASWELL(dev) && (I915_READ(0x120010) == 1)) I915_WRITE(0x9008, I915_READ(0x9008) | 0xf0000); + disp_chicken2 = I915_READ(ILK_DISPLAY_CHICKEN2); + if (disp_chicken2 & (0x3 << 14)) { + DRM_ERROR("PCH wait: BIOS did the right thing. Ignore.\n"); + } else { + DRM_ERROR("PCH wait: forcing wait (SNB ONLY)\n"); + I915_WRITE( ILK_DISPLAY_CHICKEN2, disp_chicken2 | (0x3 << 14)); + } + i915_gem_l3_remap(dev); i915_gem_init_swizzling(dev); -- 1.8.2