[PATCH] drm/amd: Adjust output for discovery error handling

Marcus Seyfarth m.seyfarth at gmail.com
Fri Jun 13 22:09:03 UTC 2025


Thanks for fixing this, Mario! If this optional firmware file could be made
available so that Linux distros could pick it up, this would be great.

Am Fr., 13. Juni 2025 um 23:56 Uhr schrieb Mario Limonciello <
mario.limonciello at amd.com>:

> On 6/13/2025 4:41 PM, Mario Limonciello wrote:
> > From: Mario Limonciello <mario.limonciello at amd.com>
> >
> > commit 017fbb6690c22 ("drm/amdgpu/discovery: check ip_discovery fw file
> > available") added support for reading an amdgpu IP discovery bin file
> > for some specific products. If it's not found then it will fallback to
> > hardcoded values. However if it's not found there is also a lot of noise
> > about missing files and errors.
> >
> > Adjust the error handling to decrease most messages to DEBUG and to show
> > at most one message to a user about the missing file at INFO level.
> >
> > Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4312
> Reported-and-tested-by Marcus Seyfarth <m.seyfarth at gmail.com>?
> > Fixes: 017fbb6690c22 ("drm/amdgpu/discovery: check ip_discovery fw file
> available")
> > Signed-off-by: Mario Limonciello <mario.limonciello at amd.com>
> > ---
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 17 ++++++-----------
> >   1 file changed, 6 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> > index a0e9bf9b27108..8e4526a8c2600 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
> > @@ -321,10 +321,9 @@ static int
> amdgpu_discovery_read_binary_from_file(struct amdgpu_device *adev,
> >       const struct firmware *fw;
> >       int r;
> >
> > -     r = request_firmware(&fw, fw_name, adev->dev);
> > +     r = firmware_request_nowarn(&fw, fw_name, adev->dev);
> >       if (r) {
> > -             dev_err(adev->dev, "can't load firmware \"%s\"\n",
> > -                     fw_name);
> > +             drm_info(&adev->ddev, "Optional firmware \"%s\" was not
> found\n", fw_name);
> >               return r;
> >       }
> >
> > @@ -459,16 +458,12 @@ static int amdgpu_discovery_init(struct
> amdgpu_device *adev)
> >       /* Read from file if it is the preferred option */
> >       fw_name = amdgpu_discovery_get_fw_name(adev);
> >       if (fw_name != NULL) {
> > -             dev_info(adev->dev, "use ip discovery information from
> file");
> > +             drm_dbg(&adev->ddev, "use ip discovery information from
> file");
> >               r = amdgpu_discovery_read_binary_from_file(adev,
> adev->mman.discovery_bin, fw_name);
> > -
> > -             if (r) {
> > -                     dev_err(adev->dev, "failed to read ip discovery
> binary from file\n");
> > -                     r = -EINVAL;
> > +             if (r)
> >                       goto out;
> > -             }
> > -
> >       } else {
> > +             drm_dbg(&adev->ddev, "use ip discovery information from
> memory");
> >               r = amdgpu_discovery_read_binary_from_mem(
> >                       adev, adev->mman.discovery_bin);
> >               if (r)
> > @@ -1339,7 +1334,7 @@ static int amdgpu_discovery_reg_base_init(struct
> amdgpu_device *adev)
> >
> >       r = amdgpu_discovery_init(adev);
> >       if (r) {
> > -             DRM_ERROR("amdgpu_discovery_init failed\n");
> > +             drm_warn(&adev->ddev, "%s failed: %d\n", __func__, r);
> >               return r;
> >       }
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20250614/ce0ee270/attachment-0001.htm>


More information about the amd-gfx mailing list