intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drm/i915/bxt: Save/restore HOTPLUG_CTL during suspend/resume.
@ 2016-02-04  0:49 Matt Roper
  2016-02-04  1:23 ` Matt Roper
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Matt Roper @ 2016-02-04  0:49 UTC (permalink / raw)
  To: intel-gfx

From: Bob Paauwe <bob.j.paauwe@intel.com>

Broxton has some additional bits in the HOTPLUG_CTL register that
indicate whether the HPD sense lines need to be inverted or not for the
current platform.  The BIOS sets these bits to an appropriate value at
boot time, but the value is lost across suspend/resume.  We need to save
and restore the register so that hotplug and display detect works on
resume.

Signed-off-by: Bob Paauwe <bob.j.paauwe@intel.com>
[mattrope: Expand commit message]
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.h     | 1 +
 drivers/gpu/drm/i915/i915_suspend.c | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 77227a3..2278117 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1061,6 +1061,7 @@ struct i915_suspend_saved_registers {
 	uint64_t saveFENCE[I915_MAX_NUM_FENCES];
 	u32 savePCH_PORT_HOTPLUG;
 	u16 saveGCDGMBUS;
+	u32 saveHOTPLUG;
 };
 
 struct vlv_s0ix_state {
diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
index 34e061a..efe1e77 100644
--- a/drivers/gpu/drm/i915/i915_suspend.c
+++ b/drivers/gpu/drm/i915/i915_suspend.c
@@ -59,6 +59,10 @@ static void i915_save_display(struct drm_device *dev)
 	/* save FBC interval */
 	if (HAS_FBC(dev) && INTEL_INFO(dev)->gen <= 4 && !IS_G4X(dev))
 		dev_priv->regfile.saveFBC_CONTROL = I915_READ(FBC_CONTROL);
+
+	if (IS_BROXTON(dev))
+		dev_priv->regfile.saveHOTPLUG = I915_READ(PCH_PORT_HOTPLUG);
+
 }
 
 static void i915_restore_display(struct drm_device *dev)
@@ -98,6 +102,9 @@ static void i915_restore_display(struct drm_device *dev)
 	if (HAS_FBC(dev) && INTEL_INFO(dev)->gen <= 4 && !IS_G4X(dev))
 		I915_WRITE(FBC_CONTROL, dev_priv->regfile.saveFBC_CONTROL);
 
+	if (IS_BROXTON(dev))
+		I915_WRITE(PCH_PORT_HOTPLUG, dev_priv->regfile.saveHOTPLUG);
+
 	i915_redisable_vga(dev);
 }
 
-- 
2.1.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-02-15 16:41 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-04  0:49 [PATCH] drm/i915/bxt: Save/restore HOTPLUG_CTL during suspend/resume Matt Roper
2016-02-04  1:23 ` Matt Roper
2016-02-04  1:47 ` Thulasimani, Sivakumar
2016-02-04  1:51   ` Matt Roper
2016-02-04  1:59     ` Thulasimani, Sivakumar
2016-02-04  2:22       ` Thulasimani, Sivakumar
2016-02-04  8:41     ` Jani Nikula
2016-02-15 16:41       ` Daniel Vetter
2016-02-04  8:15 ` ✗ Fi.CI.BAT: warning for " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).