summaryrefslogtreecommitdiff
path: root/linux-core/i915_opregion.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2008-08-01 13:35:56 -0400
committerKristian Høgsberg <krh@redhat.com>2008-08-01 13:35:56 -0400
commit086716c8e2516dd71e94ebda03e20943188a5e5e (patch)
tree860462e19e868694f0e8838bc7418cc69fab0391 /linux-core/i915_opregion.c
parent5052e966ec7fe5146c2d73b90482003619add5da (diff)
parentccbaad52f79162a77d98d0dde00681b1dbf14165 (diff)
Merge commit 'origin/drm-gem' into modesetting-gem
Conflicts: linux-core/Makefile.kernel linux-core/drmP.h linux-core/drm_mm.c linux-core/drm_stub.c linux-core/i915_gem.c linux-core/i915_opregion.c shared-core/i915_dma.c shared-core/i915_drv.h shared-core/i915_irq.c
Diffstat (limited to 'linux-core/i915_opregion.c')
-rw-r--r--linux-core/i915_opregion.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/linux-core/i915_opregion.c b/linux-core/i915_opregion.c
index d015db28..1fa599ea 100644
--- a/linux-core/i915_opregion.c
+++ b/linux-core/i915_opregion.c
@@ -248,22 +248,21 @@ void opregion_enable_asle(struct drm_device *dev)
{
struct drm_i915_private *dev_priv = dev->dev_private;
struct opregion_asle *asle = dev_priv->opregion.asle;
- u32 mask = 0;
if (asle) {
- u32 pipeb_stats = I915_READ(PIPEBSTAT);
if (IS_MOBILE(dev)) {
+ u32 pipeb_stats = I915_READ(PIPEBSTAT);
/* Some hardware uses the legacy backlight controller
to signal interrupts, so we need to set up pipe B
to generate an IRQ on writes */
- I915_WRITE(PIPEBSTAT, pipeb_stats |=
- I915_LEGACY_BLC_EVENT_ENABLE);
- mask = I915_ASLE_INTERRUPT |
- I915_DISPLAY_PIPE_B_EVENT_INTERRUPT;
- } else
- mask = I915_ASLE_INTERRUPT;
-
- dev_priv->irq_mask_reg &= ~mask;
+ pipeb_stats |= I915_LEGACY_BLC_EVENT_ENABLE;
+ I915_WRITE(PIPEBSTAT, pipeb_stats);
+
+ dev_priv->irq_mask_reg &=
+ ~I915_DISPLAY_PIPE_B_EVENT_INTERRUPT;
+ }
+
+ dev_priv->irq_mask_reg &= ~I915_ASLE_INTERRUPT;
asle->tche = ASLE_ALS_EN | ASLE_BLC_EN | ASLE_PFIT_EN |
ASLE_PFMB_EN;