Issue with 6.1.8

Alexandre Oliva lxoliva at fsfla.org
Sun Mar 12 17:32:36 UTC 2023


On Mar 12, 2023, Alexandre Oliva <lxoliva at fsfla.org> wrote:

> Now, I'd appreciate if either (or both) of yu could confirm whether the
> workaround does it indeed work around the issue.  Meanwhile, I'll try to
> find a way to change the code so that it doesn't fail us, that can fit
> in our cleaning-up scripts.

So, for avalos the i915.huc_firmware_path setting did not work around
the problem, but maybe i915.guc_firmware_path will.  Wicki's boot log
has a GuC firmware load message, that avalos's doesn't:

0000:00:02.0: Missing Free firmware (non-Free firmware loading is disabled)
i915 0000:00:02.0: [drm] Failed to load DMC firmware /*(DEBLOBBED)*/. Disabling runtime power management.
i915 0000:00:02.0: [drm] DMC firmware homepage: /*(DEBLOBBED)*/


Here's a patch that should avoid looping forever in both HuC and GuC
loading loops.  Could you please confirm that it fixes the problem?

Thanks in advance,


diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
index 9d6f571097e6..2b7564a3ed82 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
@@ -259,7 +259,10 @@ __uc_fw_auto_select(struct drm_i915_private *i915, struct intel_uc_fw *uc_fw)
 				uc_fw->file_selected.path = NULL;
 
 			continue;
-		}
+		} else if (uc_fw->file_wanted.path == blob->path)
+			/* Avoid retrying forever when neighbor
+			   entries point to the same path.  */
+			continue;
 
 		uc_fw->file_selected.path = blob->path;
 		uc_fw->file_wanted.path = blob->path;


-- 
Alexandre Oliva, happy hacker                https://FSFLA.org/blogs/lxo/
   Free Software Activist                       GNU Toolchain Engineer
Disinformation flourishes because many people care deeply about injustice
but very few check the facts.  Ask me about <https://stallmansupport.org>


More information about the linux-libre mailing list