diff options
| author | 2013-08-16 15:37:26 -0700 | |
|---|---|---|
| committer | 2013-08-16 15:37:26 -0700 | |
| commit | 2ff1cf12c9fe70e75e600404e6a4274b19d293ed (patch) | |
| tree | beafddac0a8098e3f07d2ec60e44a2a7d006e605 /drivers/gpu/drm/i915/intel_pm.c | |
| parent | netlink: Eliminate kmalloc in netlink dump operation. (diff) | |
| parent | Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mturquette/linux (diff) | |
| download | linux-dev-2ff1cf12c9fe70e75e600404e6a4274b19d293ed.tar.xz linux-dev-2ff1cf12c9fe70e75e600404e6a4274b19d293ed.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'drivers/gpu/drm/i915/intel_pm.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index f895d1508df8..b0e4a0bd1313 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -5063,8 +5063,26 @@ static void __intel_set_power_well(struct drm_device *dev, bool enable) } } else { if (enable_requested) { + unsigned long irqflags; + enum pipe p; + I915_WRITE(HSW_PWR_WELL_DRIVER, 0); + POSTING_READ(HSW_PWR_WELL_DRIVER); DRM_DEBUG_KMS("Requesting to disable the power well\n"); + + /* + * After this, the registers on the pipes that are part + * of the power well will become zero, so we have to + * adjust our counters according to that. + * + * FIXME: Should we do this in general in + * drm_vblank_post_modeset? + */ + spin_lock_irqsave(&dev->vbl_lock, irqflags); + for_each_pipe(p) + if (p != PIPE_A) + dev->last_vblank[p] = 0; + spin_unlock_irqrestore(&dev->vbl_lock, irqflags); } } } |
