[PATCH] try fixup snb/ivb 100215

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Tue Aug 29 09:09:09 UTC 2017


Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
---
 drivers/gpu/drm/i915/i915_drv.c      | 4 ++++
 drivers/gpu/drm/i915/i915_drv.h      | 1 +
 drivers/gpu/drm/i915/intel_display.c | 4 ++++
 3 files changed, 9 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index f10a078e3a55..2a3192bf618b 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1133,6 +1133,9 @@ static int i915_driver_init_hw(struct drm_i915_private *dev_priv)
 	pm_qos_add_request(&dev_priv->pm_qos, PM_QOS_CPU_DMA_LATENCY,
 			   PM_QOS_DEFAULT_VALUE);
 
+	pm_qos_add_request(&dev_priv->pm_qos_atomic, PM_QOS_CPU_DMA_LATENCY,
+			   PM_QOS_DEFAULT_VALUE);
+
 	intel_uncore_sanitize(dev_priv);
 
 	intel_opregion_setup(dev_priv);
@@ -1180,6 +1183,7 @@ static void i915_driver_cleanup_hw(struct drm_i915_private *dev_priv)
 	if (pdev->msi_enabled)
 		pci_disable_msi(pdev);
 
+	pm_qos_remove_request(&dev_priv->pm_qos_atomic);
 	pm_qos_remove_request(&dev_priv->pm_qos);
 	i915_ggtt_cleanup_hw(dev_priv);
 }
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 8352cbe0c444..b327712d091c 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2217,6 +2217,7 @@ struct drm_i915_private {
 
 	/* To control wakeup latency, e.g. for irq-driven dp aux transfers. */
 	struct pm_qos_request pm_qos;
+	struct pm_qos_request pm_qos_atomic;
 
 	/* Sideband mailbox protection */
 	struct mutex sb_lock;
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 7cd392f2cd94..20b14576c820 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12435,6 +12435,8 @@ static void intel_atomic_commit_tail(struct drm_atomic_state *state)
 		}
 	}
 
+	pm_qos_update_request(&dev_priv->pm_qos_atomic, 0);
+
 	/* Now enable the clocks, plane, pipe, and connectors that we set up. */
 	dev_priv->display.update_crtcs(state, &crtc_vblank_mask);
 
@@ -12477,6 +12479,8 @@ static void intel_atomic_commit_tail(struct drm_atomic_state *state)
 	if (intel_state->modeset && intel_can_enable_sagv(state))
 		intel_enable_sagv(dev_priv);
 
+	pm_qos_update_request(&dev_priv->pm_qos_atomic, PM_QOS_DEFAULT_VALUE);
+
 	drm_atomic_helper_commit_hw_done(state);
 
 	if (intel_state->modeset) {
-- 
2.11.0



More information about the Intel-gfx-trybot mailing list