]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu: skip imu related function if dpm=0
authorLikun Gao <Likun.Gao@amd.com>
Fri, 30 Jun 2023 09:02:43 +0000 (17:02 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 2 May 2024 20:18:11 +0000 (16:18 -0400)
Only execute IMU related functions if dpm>0.

Signed-off-by: Likun Gao <Likun.Gao@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c

index 1253053d10339fbe74f23e95d78f9db09cb2b3d5..f3f8601d6e1841c492f1ff680ccd01ba893f28e8 100644 (file)
@@ -1076,7 +1076,7 @@ static int gfx_v12_0_rlc_backdoor_autoload_enable(struct amdgpu_device *adev)
 
        WREG32_SOC15(GC, 0, regGFX_IMU_RLC_BOOTLOADER_SIZE, rlc_g_size);
 
-       if (adev->gfx.imu.funcs) {
+       if (adev->gfx.imu.funcs && (amdgpu_dpm > 0)) {
                /* RLC autoload sequence 3: load IMU fw */
                if (adev->gfx.imu.funcs->load_microcode)
                        adev->gfx.imu.funcs->load_microcode(adev);
@@ -1149,7 +1149,7 @@ static int gfx_v12_0_sw_init(void *handle)
 
        adev->gfx.gfx_current_status = AMDGPU_GFX_NORMAL_MODE;
 
-       if (adev->gfx.imu.funcs) {
+       if (adev->gfx.imu.funcs && (amdgpu_dpm > 0)) {
                if (adev->gfx.imu.funcs->init_microcode) {
                        r = adev->gfx.imu.funcs->init_microcode(adev);
                        if (r)
@@ -3215,7 +3215,7 @@ static int gfx_v12_0_hw_init(void *handle)
        struct amdgpu_device *adev = (struct amdgpu_device *)handle;
 
        if (adev->firmware.load_type == AMDGPU_FW_LOAD_RLC_BACKDOOR_AUTO) {
-               if (adev->gfx.imu.funcs) {
+               if (adev->gfx.imu.funcs && (amdgpu_dpm > 0)) {
                        /* RLC autoload sequence 1: Program rlc ram */
                        if (adev->gfx.imu.funcs->program_rlc_ram)
                                adev->gfx.imu.funcs->program_rlc_ram(adev);