aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorZhao Yakui <yakui.zhao@intel.com>2010-04-07 05:11:21 -0400
committerEric Anholt <eric@anholt.net>2010-04-12 12:23:37 -0400
commitedcb49ca34e38123675f83994d743d3d6ff772d9 (patch)
tree5dd8085759ce09104cadb62b07d14d76c1896b33 /drivers
parentd275f6614e160fa71d6e2201eb34c9b41fd8473c (diff)
drm/i915: Fix legacy BLC event for pipe A
OpRegion event on 965G requires legacy BLC event enabled in pipe stat. As LVDS could be on either pipe now, we should enable BLC event on both pipe. If fail to do so, we couldn't handle the brightness request triggered from graphics opregion. Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/i915_irq.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index c0ebcea2a375..7701cbd8b07a 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -168,9 +168,13 @@ void intel_enable_asle (struct drm_device *dev)
168 168
169 if (HAS_PCH_SPLIT(dev)) 169 if (HAS_PCH_SPLIT(dev))
170 ironlake_enable_display_irq(dev_priv, DE_GSE); 170 ironlake_enable_display_irq(dev_priv, DE_GSE);
171 else 171 else {
172 i915_enable_pipestat(dev_priv, 1, 172 i915_enable_pipestat(dev_priv, 1,
173 I915_LEGACY_BLC_EVENT_ENABLE); 173 I915_LEGACY_BLC_EVENT_ENABLE);
174 if (IS_I965G(dev))
175 i915_enable_pipestat(dev_priv, 0,
176 I915_LEGACY_BLC_EVENT_ENABLE);
177 }
174} 178}
175 179
176/** 180/**
@@ -945,7 +949,8 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
945 intel_finish_page_flip(dev, 1); 949 intel_finish_page_flip(dev, 1);
946 } 950 }
947 951
948 if ((pipeb_stats & I915_LEGACY_BLC_EVENT_STATUS) || 952 if ((pipea_stats & I915_LEGACY_BLC_EVENT_STATUS) ||
953 (pipeb_stats & I915_LEGACY_BLC_EVENT_STATUS) ||
949 (iir & I915_ASLE_INTERRUPT)) 954 (iir & I915_ASLE_INTERRUPT))
950 opregion_asle_intr(dev); 955 opregion_asle_intr(dev);
951 956