[PATCH] drm/i915: Release power well if load DMC failed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Driver obtain power well at intel_csr_ucode_init().
And release it after load DMC firmware successful.

An issue happened when DMC was not found or failed
to load. Power well would not be released and just
output some error messages. Driver have to release
power well properly to keep put/get balance.

Cc: Jani Nikula <jani.nikula@xxxxxxxxx>
Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
Cc: Jose Roberto de Souza <jose.souza@xxxxxxxxx>
Cc: Cooper Chiou <cooper.chiou@xxxxxxxxx>

Signed-off-by: Lee, Shawn C <shawn.c.lee@xxxxxxxxx>
---
 drivers/gpu/drm/i915/intel_csr.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
index a516697bf57d..8d04d7b6f00a 100644
--- a/drivers/gpu/drm/i915/intel_csr.c
+++ b/drivers/gpu/drm/i915/intel_csr.c
@@ -425,8 +425,6 @@ static void csr_load_work_fn(struct work_struct *work)
 	if (dev_priv->csr.dmc_payload) {
 		intel_csr_load_program(dev_priv);
 
-		intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
-
 		DRM_INFO("Finished loading DMC firmware %s (v%u.%u)\n",
 			 dev_priv->csr.fw_path,
 			 CSR_VERSION_MAJOR(csr->version),
@@ -440,6 +438,7 @@ static void csr_load_work_fn(struct work_struct *work)
 			   INTEL_UC_FIRMWARE_URL);
 	}
 
+	intel_display_power_put(dev_priv, POWER_DOMAIN_INIT);
 	release_firmware(fw);
 }
 
-- 
2.7.4

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




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux