]> www.infradead.org Git - users/hch/configfs.git/commitdiff
drm/amdgpu: Fix APU handling in amdgpu_pm_load_smu_firmware()
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 25 Jul 2024 21:30:37 +0000 (17:30 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Sat, 27 Jul 2024 22:10:34 +0000 (18:10 -0400)
We only need to skip this on modern APUs.  It's required
on older APUs as it's where start_smu gets called from.

Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3502
Fixes: 064d92436b69 ("drm/amd/pm: avoid to load smu firmware for APUs")
Reviewed-by: Tim Huang <tim.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: Tim Huang <Tim.Huang@amd.com>
(cherry picked from commit 608d886c978cd5f3d8650630568d96c231845227)

drivers/gpu/drm/amd/pm/amdgpu_dpm.c

index a1b8a82d77cf9a8f138f2ec98ff9efd9ab26332b..8b7d6ed7e2ed235af9dcff50f14bb2f3996803dc 100644 (file)
@@ -618,7 +618,8 @@ 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 || adev->flags & AMD_IS_APU)
+       if (!pp_funcs || !pp_funcs->load_firmware ||
+           (is_support_sw_smu(adev) && (adev->flags & AMD_IS_APU)))
                return 0;
 
        mutex_lock(&adev->pm.mutex);