When DMC firmware is not loaded, it return earlier in gen9_dc_off_power_well_disable() as it will have no effect without DMC firmware loaded. But it will cause a mismatch state error when running intel_power_domains_verify_state(), so skipping this error in this case. Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: José Roberto de Souza <jose.souza@xxxxxxxxx> --- drivers/gpu/drm/i915/intel_runtime_pm.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c index 3cf8533e0834..99edfcafc106 100644 --- a/drivers/gpu/drm/i915/intel_runtime_pm.c +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c @@ -3980,11 +3980,22 @@ static void intel_power_domains_verify_state(struct drm_i915_private *dev_priv) enabled = power_well->desc->ops->is_enabled(dev_priv, power_well); if ((power_well->count || power_well->desc->always_on) != - enabled) + enabled) { + /* If DMC firmware is not loaded it could cause a + * mismatch state as we can't disable DC off, so let's + * do not print any errors in this scenario. + */ + + if (!strcmp("DC off", power_well->desc->name) && + !dev_priv->csr.dmc_payload) + goto skip_state_mismatch_error; + DRM_ERROR("power well %s state mismatch (refcount %d/enabled %d)", power_well->desc->name, power_well->count, enabled); + } +skip_state_mismatch_error: domains_count = 0; for_each_power_domain(domain, power_well->desc->domains) domains_count += power_domains->domain_use_count[domain]; -- 2.19.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx