From 03e8a779ab52571dae26df1c179aa2e7a09d7666 Mon Sep 17 00:00:00 2001 From: Imre Deak Date: Tue, 6 Mar 2018 09:32:34 +0200 Subject: [PATCH] drm/i915: Fix hibernation with S0 ACPI target state/debug Signed-off-by: Imre Deak --- drivers/gpu/drm/i915/i915_drv.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 841360e16fa2..14ec03d904ec 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -1526,6 +1526,8 @@ static int i915_drm_suspend(struct drm_device *dev) pci_power_t opregion_target_state; int error; + DRM_DEBUG_DRIVER("suspend\n"); + /* ignore lid events during suspend */ mutex_lock(&dev_priv->modeset_restore_lock); dev_priv->modeset_restore = MODESET_SUSPENDED; @@ -1594,6 +1596,9 @@ static int i915_drm_suspend_late(struct drm_device *dev, bool hibernation) dev_priv->suspended_with_dmc = !IS_GEN9_LP(dev_priv) && !hibernation && suspend_to_idle(dev_priv) && dev_priv->csr.dmc_payload; + DRM_DEBUG_DRIVER("hibernation %d target-state %d suspended-with-dmc %d\n", + hibernation, acpi_target_system_state(), + dev_priv->suspended_with_dmc); /* * In case of firmware assisted context save/restore don't manually * deinit the power domains. This also means the CSR/DMC firmware will @@ -1672,6 +1677,8 @@ static int i915_drm_resume(struct drm_device *dev) struct drm_i915_private *dev_priv = to_i915(dev); int ret; + DRM_DEBUG_DRIVER("resume\n"); + disable_rpm_wakeref_asserts(dev_priv); intel_sanitize_gt_powersave(dev_priv); @@ -1757,6 +1764,7 @@ static int i915_drm_resume_early(struct drm_device *dev) struct pci_dev *pdev = dev_priv->drm.pdev; int ret; + DRM_DEBUG_DRIVER("resume_early\n"); /* * We have a resume ordering issue with the snd-hda driver also * requiring our device to be power up. Due to the lack of a @@ -1823,6 +1831,8 @@ static int i915_drm_resume_early(struct drm_device *dev) intel_uncore_sanitize(dev_priv); + DRM_DEBUG_DRIVER("suspended-with-dmc %d\n", + dev_priv->suspended_with_dmc); if (!dev_priv->suspended_with_dmc) intel_power_domains_init_hw(dev_priv, true); -- 2.13.2