drm/i915: Support IGD EOS
authorShaohua Li <shaohua.li@intel.com>
Mon, 24 Aug 2009 02:25:23 +0000 (10:25 +0800)
committerEric Anholt <eric@anholt.net>
Fri, 4 Sep 2009 20:05:30 +0000 (13:05 -0700)
commit043029655816ed4cfc2ed247020ef97e5d637392
treee5e6b1798e8f4843956e5534254819a489eec9c7
parentce6feabd1b38f9adf4a962d71bc4762047e8f889
drm/i915: Support IGD EOS

In the event that any one of the DAC analog outputs (R,G,B) were driven
at full-scale (white video) or some analog level close to full-scale
voltage, and if the video cable were then disconnected, the analog video
voltage level would exceed the maximum electrical overstress limit of the
native (thin-oxide) transistors thus causing a long-term reliability concern.
The electrical overstress condition occurs in this particular case.

This patch address the IGD EOS (electrical overstress condition) issue.
When the EOS interrupt occurs, OS should disable DAC and then disable EOS,
then the normal hotplug operation follows.

TODO: it appears the normal unplug interrupt is missed as reported by Li Peng,
need more checks here.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_crt.c