From: Zhenyu Wang Date: Mon, 25 Jan 2010 02:35:16 +0000 (+0800) Subject: drm/i915: disable hotplug detect before Ironlake CRT detect X-Git-Tag: firefly_0821_release~11625^2~83 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=6240058ce3725f5e708e1c17c3a676217e44ba9b;p=firefly-linux-kernel-4.4.55.git drm/i915: disable hotplug detect before Ironlake CRT detect commit eceb784cec4dc0fcc2993d9ee4a7c0d111ada80a upstream. This tries to fix CRT detect loop hang seen on some Ironlake form factor, to clear up hotplug detect state before taking CRT detect to make sure next hotplug detect cycle is consistent. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c index 6d3730f327cf..5e730e6f8a74 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c @@ -185,6 +185,9 @@ static bool intel_igdng_crt_detect_hotplug(struct drm_connector *connector) adpa = I915_READ(PCH_ADPA); adpa &= ~ADPA_CRT_HOTPLUG_MASK; + /* disable HPD first */ + I915_WRITE(PCH_ADPA, adpa); + (void)I915_READ(PCH_ADPA); adpa |= (ADPA_CRT_HOTPLUG_PERIOD_128 | ADPA_CRT_HOTPLUG_WARMUP_10MS |