On 31-Aug-26 7:01 PM, Horatio Zhang wrote:
vBIOS has the support of IMU firmware. Requesting it now fails and
aborts GPU init:

   amdgpu 0001:01:00.0: early_init of IP block <gfx_v12_1> failed -19
   amdgpu 0001:01:00.0: Fatal error during GPU init

v2: drop the MODULE_FIRMWARE declaration.

Signed-off-by: Horatio Zhang <[email protected]>
Reviewed-by: Hawking Zhang <[email protected]>

Reviewed-by: Lijo Lazar <[email protected]>

Thanks,
Lijo

---
  drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c | 3 ++-
  drivers/gpu/drm/amd/amdgpu/imu_v12_1.c | 2 --
  2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c 
b/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
index 1188e91c66ec..3273be640600 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c
@@ -582,7 +582,8 @@ static int gfx_v12_1_init_microcode(struct amdgpu_device 
*adev)
        adev->gfx.mec2_fw = NULL;
if (adev->gfx.imu.funcs) {
-               if (adev->gfx.imu.funcs->init_microcode) {
+               if (adev->gfx.imu.funcs->init_microcode &&
+                   adev->firmware.load_type != AMDGPU_FW_LOAD_PSP) {
                        err = adev->gfx.imu.funcs->init_microcode(adev);
                        if (err)
                                dev_err(adev->dev, "Failed to load imu 
firmware!\n");
diff --git a/drivers/gpu/drm/amd/amdgpu/imu_v12_1.c 
b/drivers/gpu/drm/amd/amdgpu/imu_v12_1.c
index a124abe44724..33fe0a127c50 100644
--- a/drivers/gpu/drm/amd/amdgpu/imu_v12_1.c
+++ b/drivers/gpu/drm/amd/amdgpu/imu_v12_1.c
@@ -32,8 +32,6 @@
  #include "gc/gc_12_1_0_sh_mask.h"
  #include "mmhub/mmhub_4_2_0_offset.h"
-MODULE_FIRMWARE("amdgpu/gc_12_1_0_imu.bin");
-
  #define TRANSFER_RAM_MASK     0x001c0000
static int imu_v12_1_init_microcode(struct amdgpu_device *adev)

Reply via email to