aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_runtime_pm.c
diff options
context:
space:
mode:
authorImre Deak <imre.deak@intel.com>2018-08-22 07:26:02 -0400
committerImre Deak <imre.deak@intel.com>2018-08-23 09:10:58 -0400
commita61d904fd6fa85bfa7e0ae9aeaa8992173322e77 (patch)
tree4b3b0456e985a399b3a91a9c56da7bd0a94920f4 /drivers/gpu/drm/i915/intel_runtime_pm.c
parent53867b46fa8443713b3aee520d6ca558b222d829 (diff)
drm/i915: Simplify condition to keep DMC active during S0ix
For S0ix we want to deinit power domains (and so deactivate the DMC firmware) exactly when the platform supports the DC9 state. To reach S0ix we need DC9 on these platforms (for which the DMC FW needs to be deactivated) while to reach S0ix on the rest of the DMC platforms we need DC6 (which needs the DMC FW to stay active). Simplify the condition accordingly so it will be automatically correct for upcoming DC9 platforms like ICL. Cc: Lucas De Marchi <lucas.demarchi@intel.com> Cc: Michel Thierry <michel.thierry@intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180822112602.27543-1-imre.deak@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/intel_runtime_pm.c')
-rw-r--r--drivers/gpu/drm/i915/intel_runtime_pm.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index ff3fd8dbd2b4..1b10b7041513 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -3848,13 +3848,14 @@ void intel_power_domains_suspend(struct drm_i915_private *dev_priv,
3848 intel_display_power_put(dev_priv, POWER_DOMAIN_INIT); 3848 intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
3849 3849
3850 /* 3850 /*
3851 * In case of firmware assisted context save/restore don't manually 3851 * In case of suspend-to-idle (aka S0ix) on a DMC platform without DC9
3852 * deinit the power domains. This also means the CSR/DMC firmware will 3852 * support don't manually deinit the power domains. This also means the
3853 * stay active, it will power down any HW resources as required and 3853 * CSR/DMC firmware will stay active, it will power down any HW
3854 * also enable deeper system power states that would be blocked if the 3854 * resources as required and also enable deeper system power states
3855 * firmware was inactive. 3855 * that would be blocked if the firmware was inactive.
3856 */ 3856 */
3857 if (!IS_GEN9_LP(dev_priv) && suspend_mode == I915_DRM_SUSPEND_IDLE && 3857 if (!(dev_priv->csr.allowed_dc_mask & DC_STATE_EN_DC9) &&
3858 suspend_mode == I915_DRM_SUSPEND_IDLE &&
3858 dev_priv->csr.dmc_payload != NULL) { 3859 dev_priv->csr.dmc_payload != NULL) {
3859 intel_power_domains_verify_state(dev_priv); 3860 intel_power_domains_verify_state(dev_priv);
3860 return; 3861 return;