]> www.infradead.org Git - users/hch/dma-mapping.git/commitdiff
drm/amdgpu/swsmu: default to fullscreen 3D profile for dGPUs
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 3 Oct 2024 13:57:38 +0000 (09:57 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 16 Oct 2024 19:51:10 +0000 (15:51 -0400)
This uses more aggressive hueristics than the the bootup default
profile.  On windows the OS has a special fullscreen 3D mode
where this is used.  Since we don't have the equivalent on Linux
default to this profile for dGPUs.

Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3618
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/1500
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/3131
Reviewed-by: Kenneth Feng <kenneth.feng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 336568de918e08c825b3b1cbe2ec809f2fc26d94)

drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c

index 0cf5989835529fcd9d2f9dd76a09610e69ef560a..9ad9cf7a9c98663a3043aa3baecea6b83095f028 100644 (file)
@@ -1264,7 +1264,11 @@ static int smu_sw_init(void *handle)
        smu->workload_prority[PP_SMC_POWER_PROFILE_VR] = 4;
        smu->workload_prority[PP_SMC_POWER_PROFILE_COMPUTE] = 5;
        smu->workload_prority[PP_SMC_POWER_PROFILE_CUSTOM] = 6;
-       smu->workload_mask = 1 << smu->workload_prority[PP_SMC_POWER_PROFILE_BOOTUP_DEFAULT];
+
+       if (smu->is_apu)
+               smu->workload_mask = 1 << smu->workload_prority[PP_SMC_POWER_PROFILE_BOOTUP_DEFAULT];
+       else
+               smu->workload_mask = 1 << smu->workload_prority[PP_SMC_POWER_PROFILE_FULLSCREEN3D];
 
        smu->workload_setting[0] = PP_SMC_POWER_PROFILE_BOOTUP_DEFAULT;
        smu->workload_setting[1] = PP_SMC_POWER_PROFILE_FULLSCREEN3D;