]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/nouveau: Improve message for missing firmware
authorMel Henning <mhenning@darkrefraction.com>
Mon, 11 Aug 2025 21:32:33 +0000 (17:32 -0400)
committerLyude Paul <lyude@redhat.com>
Tue, 12 Aug 2025 21:36:54 +0000 (17:36 -0400)
This is inteded to address concerns that users might get cryptic error
messages or a failure to boot if they set nouveau.config=NvGspRm=0 on
the kernel command line and their gpu requires gsp (Ada or newer).
With this patch, that configuration results in error messages like this:

nouveau 0000:01:00.0: gsp: Failed to load required firmware for device.
nouveau 0000:01:00.0: gsp ctor failed: -22
nouveau 0000:01:00.0: probe with driver nouveau failed with error -22

When nouveau fails to load like this, we still fall back to the generic
framebuffer device, so users will still have limited graphical output.

Signed-off-by: Mel Henning <mhenning@darkrefraction.com>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://lore.kernel.org/r/20250811213843.4294-4-mhenning@darkrefraction.com
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/base.c

index d23243a83a4c71fa6b621603b306e827e06cd78f..7ccb4176106653e5068a584bee32d6b9dfcecf97 100644 (file)
@@ -138,8 +138,10 @@ nvkm_gsp_new_(const struct nvkm_gsp_fwif *fwif, struct nvkm_device *device,
        nvkm_subdev_ctor(&nvkm_gsp, device, type, inst, &gsp->subdev);
 
        fwif = nvkm_firmware_load(&gsp->subdev, fwif, "Gsp", gsp);
-       if (IS_ERR(fwif))
+       if (IS_ERR(fwif)) {
+               nvkm_error(&gsp->subdev, "Failed to load required firmware for device.");
                return PTR_ERR(fwif);
+       }
 
        gsp->func = fwif->func;