intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] drm/i915/cnl+: Reload CSR firmware when coming back from low power states
@ 2018-07-27 23:36 José Roberto de Souza
  2018-07-27 23:36 ` [PATCH 2/3] drm/i915: Remove resume parameter from display_core_init functions José Roberto de Souza
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: José Roberto de Souza @ 2018-07-27 23:36 UTC (permalink / raw)
  To: intel-gfx; +Cc: Paulo Zanoni

When returning from low power states the CSR firmware was not being
loaded again in CNL and ICL.
Also taking the opportunity to share the load call for gen >= 9,
instead of calling it from each display_core_init() function.

Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.c         |  9 ++++++---
 drivers/gpu/drm/i915/intel_runtime_pm.c | 13 ++++---------
 2 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 18a45e7a3d7c..a42f0dfe19da 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -2699,9 +2699,12 @@ static int intel_runtime_resume(struct device *kdev)
 	if (IS_GEN9_LP(dev_priv)) {
 		bxt_disable_dc9(dev_priv);
 		bxt_display_core_init(dev_priv, true);
-		if (dev_priv->csr.dmc_payload &&
-		    (dev_priv->csr.allowed_dc_mask & DC_STATE_EN_UPTO_DC5))
-			gen9_enable_dc5(dev_priv);
+		if (dev_priv->csr.dmc_payload) {
+			intel_csr_load_program(dev_priv);
+			if (dev_priv->csr.allowed_dc_mask &
+			    DC_STATE_EN_UPTO_DC5)
+				gen9_enable_dc5(dev_priv);
+		}
 	} else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) {
 		hsw_disable_pc8(dev_priv);
 	} else if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index cf89141b2281..8fdcffe023fe 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -3075,9 +3075,6 @@ static void skl_display_core_init(struct drm_i915_private *dev_priv,
 	skl_init_cdclk(dev_priv);
 
 	gen9_dbuf_enable(dev_priv);
-
-	if (resume && dev_priv->csr.dmc_payload)
-		intel_csr_load_program(dev_priv);
 }
 
 static void skl_display_core_uninit(struct drm_i915_private *dev_priv)
@@ -3140,9 +3137,6 @@ void bxt_display_core_init(struct drm_i915_private *dev_priv,
 	bxt_init_cdclk(dev_priv);
 
 	gen9_dbuf_enable(dev_priv);
-
-	if (resume && dev_priv->csr.dmc_payload)
-		intel_csr_load_program(dev_priv);
 }
 
 void bxt_display_core_uninit(struct drm_i915_private *dev_priv)
@@ -3283,9 +3277,6 @@ static void cnl_display_core_init(struct drm_i915_private *dev_priv, bool resume
 
 	/* 6. Enable DBUF */
 	gen9_dbuf_enable(dev_priv);
-
-	if (resume && dev_priv->csr.dmc_payload)
-		intel_csr_load_program(dev_priv);
 }
 
 static void cnl_display_core_uninit(struct drm_i915_private *dev_priv)
@@ -3561,6 +3552,10 @@ void intel_power_domains_init_hw(struct drm_i915_private *dev_priv, bool resume)
 
 	/* For now, we need the power well to be always enabled. */
 	intel_display_set_init_power(dev_priv, true);
+
+	if (INTEL_GEN(dev_priv) >= 9 && resume && dev_priv->csr.dmc_payload)
+		intel_csr_load_program(dev_priv);
+
 	/* Disable power support if the user asked so. */
 	if (!i915_modparams.disable_power_well)
 		intel_display_power_get(dev_priv, POWER_DOMAIN_INIT);
-- 
2.18.0

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

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

end of thread, other threads:[~2018-07-30 18:45 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-27 23:36 [PATCH 1/3] drm/i915/cnl+: Reload CSR firmware when coming back from low power states José Roberto de Souza
2018-07-27 23:36 ` [PATCH 2/3] drm/i915: Remove resume parameter from display_core_init functions José Roberto de Souza
2018-07-28  5:21   ` Rodrigo Vivi
2018-07-27 23:36 ` [PATCH 3/3] drm/i915: Keep overlay functions naming consistent José Roberto de Souza
2018-07-28  5:22   ` Rodrigo Vivi
2018-07-28  0:19 ` [PATCH v2 1/3] drm/i915/cnl+: Reload CSR firmware when coming back from low power states Souza, Jose
2018-07-28  0:26 ` ✓ Fi.CI.BAT: success for series starting with [1/3] " Patchwork
2018-07-28  5:19 ` [PATCH 1/3] " Rodrigo Vivi
2018-07-28  8:40   ` Imre Deak
2018-07-30 17:23     ` Souza, Jose
2018-07-30 18:44       ` Imre Deak

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).