mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
drm/amdgpu: disable workload profile switching when OD is enabled
Users have reported that they have to reduce the level of undervolting
to acheive stability when dynamic workload profiles are enabled on
GC 10.3.x. Disable dynamic workload profiles if the user has enabled
OD.
Fixes: b9467983b7 ("drm/amdgpu: add dynamic workload profile switching for gfx10")
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4262
Reviewed-by: Kenneth Feng <kenneth.feng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org # 6.15.x
This commit is contained in:
@@ -2228,6 +2228,9 @@ void amdgpu_gfx_profile_ring_begin_use(struct amdgpu_ring *ring)
|
||||
enum PP_SMC_POWER_PROFILE profile;
|
||||
int r;
|
||||
|
||||
if (amdgpu_dpm_is_overdrive_enabled(adev))
|
||||
return;
|
||||
|
||||
if (adev->gfx.num_gfx_rings)
|
||||
profile = PP_SMC_POWER_PROFILE_FULLSCREEN3D;
|
||||
else
|
||||
@@ -2258,6 +2261,11 @@ void amdgpu_gfx_profile_ring_begin_use(struct amdgpu_ring *ring)
|
||||
|
||||
void amdgpu_gfx_profile_ring_end_use(struct amdgpu_ring *ring)
|
||||
{
|
||||
struct amdgpu_device *adev = ring->adev;
|
||||
|
||||
if (amdgpu_dpm_is_overdrive_enabled(adev))
|
||||
return;
|
||||
|
||||
atomic_dec(&ring->adev->gfx.total_submission_cnt);
|
||||
|
||||
schedule_delayed_work(&ring->adev->gfx.idle_work, GFX_PROFILE_IDLE_TIMEOUT);
|
||||
|
||||
Reference in New Issue
Block a user