intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: "Souza, Jose" <jose.souza@intel.com>
To: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Cc: "Zanoni, Paulo R" <paulo.r.zanoni@intel.com>
Subject: [PATCH v2 1/3] drm/i915/cnl+: Reload CSR firmware when coming back from low power states
Date: Sat, 28 Jul 2018 00:19:59 +0000	[thread overview]
Message-ID: <48b2e64b64f4fade1eabb56bbc724635f0a88ad7.camel@intel.com> (raw)
In-Reply-To: <20180727233626.9216-1-jose.souza@intel.com>

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.

Changes from v1:
Calling intel_csr_load_program() right after display_core_init().

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 | 12 +++---------
 2 files changed, 9 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..ebc084d90136 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)
@@ -3559,6 +3550,9 @@ void intel_power_domains_init_hw(struct
drm_i915_private *dev_priv, bool resume)
 		mutex_unlock(&power_domains->lock);
 	}
 
+	if (INTEL_GEN(dev_priv) >= 9 && resume && dev_priv-
>csr.dmc_payload)
+		intel_csr_load_program(dev_priv);
+
 	/* For now, we need the power well to be always enabled. */
 	intel_display_set_init_power(dev_priv, true);
 	/* Disable power support if the user asked so. */
-- 
2.18.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2018-07-28  0:20 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 ` Souza, Jose [this message]
2018-07-28  0:26 ` ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915/cnl+: Reload CSR firmware when coming back from low power states 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48b2e64b64f4fade1eabb56bbc724635f0a88ad7.camel@intel.com \
    --to=jose.souza@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=paulo.r.zanoni@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).