[PATCH] drm/amd/pm: avoid to load smu firmware for APUs

Deucher, Alexander Alexander.Deucher at amd.com
Mon Jul 1 18:04:00 UTC 2024


[Public]

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
________________________________
From: Huang, Tim <Tim.Huang at amd.com>
Sent: Sunday, June 30, 2024 11:45 AM
To: amd-gfx at lists.freedesktop.org <amd-gfx at lists.freedesktop.org>
Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Zhang, Yifan <Yifan1.Zhang at amd.com>; Huang, Tim <Tim.Huang at amd.com>
Subject: [PATCH] drm/amd/pm: avoid to load smu firmware for APUs

Certain call paths still load the SMU firmware for APUs,
which needs to be skipped.

Signed-off-by: Tim Huang <Tim.Huang at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 8 +++-----
 drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 8 +++-----
 drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c | 8 +++-----
 drivers/gpu/drm/amd/pm/amdgpu_dpm.c    | 2 +-
 4 files changed, 10 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
index 18488c02d1cf..c55518fe542c 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
@@ -7324,11 +7324,9 @@ static int gfx_v10_0_hw_init(void *handle)
                  * loaded firstly, so in direct type, it has to load smc ucode
                  * here before rlc.
                  */
-               if (!(adev->flags & AMD_IS_APU)) {
-                       r = amdgpu_pm_load_smu_firmware(adev, NULL);
-                       if (r)
-                               return r;
-               }
+               r = amdgpu_pm_load_smu_firmware(adev, NULL);
+               if (r)
+                       return r;
                 gfx_v10_0_disable_gpa_mode(adev);
         }

diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
index 38150398a31b..0ad35e96d2b8 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
@@ -4558,11 +4558,9 @@ static int gfx_v11_0_hw_init(void *handle)
                  * loaded firstly, so in direct type, it has to load smc ucode
                  * here before rlc.
                  */
-               if (!(adev->flags & AMD_IS_APU)) {
-                       r = amdgpu_pm_load_smu_firmware(adev, NULL);
-                       if (r)
-                               return r;
-               }
+               r = amdgpu_pm_load_smu_firmware(adev, NULL);
+               if (r)
+                       return r;
         }

         gfx_v11_0_constants_init(adev);
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
index ccb26f78252a..40edda2c3003 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
@@ -3306,11 +3306,9 @@ static int gfx_v12_0_hw_init(void *handle)
                  * loaded firstly, so in direct type, it has to load smc ucode
                  * here before rlc.
                  */
-               if (!(adev->flags & AMD_IS_APU)) {
-                       r = amdgpu_pm_load_smu_firmware(adev, NULL);
-                       if (r)
-                               return r;
-               }
+               r = amdgpu_pm_load_smu_firmware(adev, NULL);
+               if (r)
+                       return r;
         }

         gfx_v12_0_constants_init(adev);
diff --git a/drivers/gpu/drm/amd/pm/amdgpu_dpm.c b/drivers/gpu/drm/amd/pm/amdgpu_dpm.c
index b3b5e7b74c85..a1b8a82d77cf 100644
--- a/drivers/gpu/drm/amd/pm/amdgpu_dpm.c
+++ b/drivers/gpu/drm/amd/pm/amdgpu_dpm.c
@@ -618,7 +618,7 @@ int amdgpu_pm_load_smu_firmware(struct amdgpu_device *adev, uint32_t *smu_versio
         const struct amd_pm_funcs *pp_funcs = adev->powerplay.pp_funcs;
         int r = 0;

-       if (!pp_funcs || !pp_funcs->load_firmware)
+       if (!pp_funcs || !pp_funcs->load_firmware || adev->flags & AMD_IS_APU)
                 return 0;

         mutex_lock(&adev->pm.mutex);
--
2.43.0

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20240701/b743381d/attachment.htm>


More information about the amd-gfx mailing list