aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_pm.c
diff options
context:
space:
mode:
authorBen Widawsky <ben@bwidawsk.net>2013-04-05 16:12:41 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-04-08 14:53:00 -0400
commitab5c608b2d96c8db80b9c7df072f18f3a4226b55 (patch)
treef25192e8a98fafcc3e1481feb53e985594e05692 /drivers/gpu/drm/i915/intel_pm.c
parent40c7ead980945ac96eadbd6d99b050458d797e2b (diff)
drm/i915: Don't touch South Display when PCH_NOP
Interrupts, clock gating, LVDS, and GMBUS are all within the, "this will be bad for CPU" range when we have PCH_NOP. There is a bit of a hack in init clock gating. We want to do most of the clock gating, but the part we skip will hang the system. It could probably be abstracted a bit better, but I don't feel it's too unsightly. v2: Use inverse HAS_PCH_NOP check (Jani) v3: Actually do what I claimed in v2 (spotted by Daniel) Merge Ivybridge IRQ handler PCH check to decrease whitespace (Daniel) Move LVDS bail into this patch (Ben) v4: logical rebase conflict resolution with SDEIIR (Ben) Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Brush up patch a bit and resolve conflicts: - Adjust PCH_NOP checks due to Egbert's hpd handling rework. - Addd a PCH_NOP check in the irq uninstall code. - Resolve conflicts with Paulo's SDE irq handling race fix. v5: Drop the added hunks in the ilk irq handler again, they're bogus. OOps. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_pm.c')
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 13a0666a53b4..17f157a7b640 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -3890,7 +3890,8 @@ static void ivybridge_init_clock_gating(struct drm_device *dev)
3890 snpcr |= GEN6_MBC_SNPCR_MED; 3890 snpcr |= GEN6_MBC_SNPCR_MED;
3891 I915_WRITE(GEN6_MBCUNIT_SNPCR, snpcr); 3891 I915_WRITE(GEN6_MBCUNIT_SNPCR, snpcr);
3892 3892
3893 cpt_init_clock_gating(dev); 3893 if (!HAS_PCH_NOP(dev))
3894 cpt_init_clock_gating(dev);
3894 3895
3895 gen6_check_mch_setup(dev); 3896 gen6_check_mch_setup(dev);
3896} 3897}