[PATCH 1/5] drm/i915/dmc: handle request_firmware() errors separately
Jani Nikula
jani.nikula at intel.com
Thu Apr 18 14:39:50 UTC 2024
Clarify request_firmware() error handling. Don't proceed to trying to
parse non-existent firmware or check for payload when request_firmware()
failed to begin with. There's no reason to release_firmware() either
when request_firmware() failed.
Also move the message about DMC firmware homepage here, as in other
cases the user probably has some firmware, although its parsing fails
for some reason.
Signed-off-by: Jani Nikula <jani.nikula at intel.com>
---
drivers/gpu/drm/i915/display/intel_dmc.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c b/drivers/gpu/drm/i915/display/intel_dmc.c
index a34ff3383fd3..65880dea9c15 100644
--- a/drivers/gpu/drm/i915/display/intel_dmc.c
+++ b/drivers/gpu/drm/i915/display/intel_dmc.c
@@ -942,6 +942,15 @@ static void dmc_load_work_fn(struct work_struct *work)
}
}
+ if (err) {
+ drm_notice(&i915->drm,
+ "Failed to load DMC firmware %s (%pe). Disabling runtime power management.\n",
+ dmc->fw_path, ERR_PTR(err));
+ drm_notice(&i915->drm, "DMC firmware homepage: %s",
+ INTEL_DMC_FIRMWARE_URL);
+ return;
+ }
+
parse_dmc_fw(dmc, fw);
if (intel_dmc_has_payload(i915)) {
@@ -956,8 +965,6 @@ static void dmc_load_work_fn(struct work_struct *work)
"Failed to load DMC firmware %s."
" Disabling runtime power management.\n",
dmc->fw_path);
- drm_notice(&i915->drm, "DMC firmware homepage: %s",
- INTEL_DMC_FIRMWARE_URL);
}
release_firmware(fw);
--
2.39.2
More information about the Intel-gfx
mailing list