[PATCH] drm/amdgpu: force read discovery file if set discovery=2

Huang, Tim Tim.Huang at amd.com
Thu Oct 27 07:50:40 UTC 2022


[Public]

Reviewed-by: Tim Huang <Tim.Huang at amd.com>

Best Regards,
Tim Huang



-----Original Message-----
From: Zhang, Yifan <Yifan1.Zhang at amd.com>
Sent: Wednesday, October 26, 2022 11:14 AM
To: amd-gfx at lists.freedesktop.org
Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Huang, Tim <Tim.Huang at amd.com>; Du, Xiaojian <Xiaojian.Du at amd.com>; Liu, Aaron <Aaron.Liu at amd.com>; Zhang, Yifan <Yifan1.Zhang at amd.com>
Subject: [PATCH] drm/amdgpu: force read discovery file if set discovery=2

If discovery is set to 2 in module parameters explicitly, the intention is to use the discovery file in FW rather than the one in BIOS, usually because the latter is incorrect. This patch to force read discovery file if set discovery=2.

Signed-off-by: Yifan Zhang <yifan1.zhang at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
index 3993e6134914..5ea9afaaf4f1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
@@ -305,8 +305,13 @@ static int amdgpu_discovery_init(struct amdgpu_device *adev)
                goto out;
        }

-       if (!amdgpu_discovery_verify_binary_signature(adev->mman.discovery_bin)) {
-               dev_warn(adev->dev, "get invalid ip discovery binary signature from vram\n");
+       if (!amdgpu_discovery_verify_binary_signature(adev->mman.discovery_bin) || amdgpu_discovery == 2) {
+               /* ignore the discovery binary from vram if discovery=2 in kernel module parameter */
+               if (amdgpu_discovery == 2)
+                       dev_info(adev->dev,"force read ip discovery binary from file");
+               else
+                       dev_warn(adev->dev, "get invalid ip discovery binary signature from
+vram\n");
+
                /* retry read ip discovery binary from file */
                r = amdgpu_discovery_read_binary_from_file(adev, adev->mman.discovery_bin);
                if (r) {
--
2.37.3



More information about the amd-gfx mailing list