aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorShaohua Li <shaohua.li@intel.com>2009-10-14 05:19:28 -0400
committerEric Anholt <eric@anholt.net>2009-11-30 12:42:12 -0500
commit26444877812fb2a2b9301b0b3702fdf9f9e06e4b (patch)
treee71ddd54f1ead80ebbd20ab4936b301a6f4593f7 /drivers
parent311089d3d372c6f2b01a6d8a5ed7fcbcd9ad7621 (diff)
drm/i915: remove Pineview EOS protection support
HW guys have an evaluation about the impact about EOS, and say the impact is quite small, so they have removed EOS detection support. This patch removes EOS feature. revert commit 043029655816ed4cfc2ed247020ef97e5d637392 directly reverting it gives a hunk error, so please use this one. Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Eric Anholt <eric@anholt.net> [anholt: fixed up commit message for update that the feature's really gone]
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/i915_irq.c21
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h2
-rw-r--r--drivers/gpu/drm/i915/intel_crt.c28
3 files changed, 0 insertions, 51 deletions
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 024fb954db37..77bc1d28f744 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -622,27 +622,6 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
622 622
623 I915_WRITE(PORT_HOTPLUG_STAT, hotplug_status); 623 I915_WRITE(PORT_HOTPLUG_STAT, hotplug_status);
624 I915_READ(PORT_HOTPLUG_STAT); 624 I915_READ(PORT_HOTPLUG_STAT);
625
626 /* EOS interrupts occurs */
627 if (IS_IGD(dev) &&
628 (hotplug_status & CRT_EOS_INT_STATUS)) {
629 u32 temp;
630
631 DRM_DEBUG_DRIVER("EOS interrupt occurs\n");
632 /* status is already cleared */
633 temp = I915_READ(ADPA);
634 temp &= ~ADPA_DAC_ENABLE;
635 I915_WRITE(ADPA, temp);
636
637 temp = I915_READ(PORT_HOTPLUG_EN);
638 temp &= ~CRT_EOS_INT_EN;
639 I915_WRITE(PORT_HOTPLUG_EN, temp);
640
641 temp = I915_READ(PORT_HOTPLUG_STAT);
642 if (temp & CRT_EOS_INT_STATUS)
643 I915_WRITE(PORT_HOTPLUG_STAT,
644 CRT_EOS_INT_STATUS);
645 }
646 } 625 }
647 626
648 I915_WRITE(IIR, iir); 627 I915_WRITE(IIR, iir);
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index b11a682a4cff..d58f7ad91161 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -852,7 +852,6 @@
852#define SDVOB_HOTPLUG_INT_EN (1 << 26) 852#define SDVOB_HOTPLUG_INT_EN (1 << 26)
853#define SDVOC_HOTPLUG_INT_EN (1 << 25) 853#define SDVOC_HOTPLUG_INT_EN (1 << 25)
854#define TV_HOTPLUG_INT_EN (1 << 18) 854#define TV_HOTPLUG_INT_EN (1 << 18)
855#define CRT_EOS_INT_EN (1 << 10)
856#define CRT_HOTPLUG_INT_EN (1 << 9) 855#define CRT_HOTPLUG_INT_EN (1 << 9)
857#define CRT_HOTPLUG_FORCE_DETECT (1 << 3) 856#define CRT_HOTPLUG_FORCE_DETECT (1 << 3)
858#define CRT_HOTPLUG_ACTIVATION_PERIOD_32 (0 << 8) 857#define CRT_HOTPLUG_ACTIVATION_PERIOD_32 (0 << 8)
@@ -887,7 +886,6 @@
887#define DPC_HOTPLUG_INT_STATUS (1 << 28) 886#define DPC_HOTPLUG_INT_STATUS (1 << 28)
888#define HDMID_HOTPLUG_INT_STATUS (1 << 27) 887#define HDMID_HOTPLUG_INT_STATUS (1 << 27)
889#define DPD_HOTPLUG_INT_STATUS (1 << 27) 888#define DPD_HOTPLUG_INT_STATUS (1 << 27)
890#define CRT_EOS_INT_STATUS (1 << 12)
891#define CRT_HOTPLUG_INT_STATUS (1 << 11) 889#define CRT_HOTPLUG_INT_STATUS (1 << 11)
892#define TV_HOTPLUG_INT_STATUS (1 << 10) 890#define TV_HOTPLUG_INT_STATUS (1 << 10)
893#define CRT_HOTPLUG_MONITOR_MASK (3 << 8) 891#define CRT_HOTPLUG_MONITOR_MASK (3 << 8)
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index 9b48a4465c38..0864a2c40856 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -64,34 +64,6 @@ static void intel_crt_dpms(struct drm_encoder *encoder, int mode)
64 } 64 }
65 65
66 I915_WRITE(reg, temp); 66 I915_WRITE(reg, temp);
67
68 if (IS_IGD(dev)) {
69 if (mode == DRM_MODE_DPMS_OFF) {
70 /* turn off DAC */
71 temp = I915_READ(PORT_HOTPLUG_EN);
72 temp &= ~CRT_EOS_INT_EN;
73 I915_WRITE(PORT_HOTPLUG_EN, temp);
74
75 temp = I915_READ(PORT_HOTPLUG_STAT);
76 if (temp & CRT_EOS_INT_STATUS)
77 I915_WRITE(PORT_HOTPLUG_STAT,
78 CRT_EOS_INT_STATUS);
79 } else {
80 /* turn on DAC. EOS interrupt must be enabled after DAC
81 * is enabled, so it sounds not good to enable it in
82 * i915_driver_irq_postinstall()
83 * wait 12.5ms after DAC is enabled
84 */
85 msleep(13);
86 temp = I915_READ(PORT_HOTPLUG_STAT);
87 if (temp & CRT_EOS_INT_STATUS)
88 I915_WRITE(PORT_HOTPLUG_STAT,
89 CRT_EOS_INT_STATUS);
90 temp = I915_READ(PORT_HOTPLUG_EN);
91 temp |= CRT_EOS_INT_EN;
92 I915_WRITE(PORT_HOTPLUG_EN, temp);
93 }
94 }
95} 67}
96 68
97static int intel_crt_mode_valid(struct drm_connector *connector, 69static int intel_crt_mode_valid(struct drm_connector *connector,