diff options
| author | Chengming Gui <[email protected]> | 2022-10-18 09:31:38 +0000 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2022-10-21 20:12:09 +0000 |
| commit | 79610d3041338dc1ef554d6fd8b3b3e23be527f5 (patch) | |
| tree | acbc3be5e7c7c96424cd00b99183d1471e0fe818 /drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | |
| parent | Merge tag 'drm-misc-fixes-2022-10-20' of git://anongit.freedesktop.org/drm/dr... (diff) | |
| download | kernel-79610d3041338dc1ef554d6fd8b3b3e23be527f5.tar.gz kernel-79610d3041338dc1ef554d6fd8b3b3e23be527f5.zip | |
drm/amdgpu: fix pstate setting issue
[WHY]
0, original pstate X
1, ctx_A_create -> ctx_A->stable_pstate = X
2, ctx_A_set_pstate (Y) -> current pstate is Y (PEAK or STANDARD)
3, ctx_B_create -> ctx_B->stable_pstate = Y
4, ctx_A_destroy -> restore pstate to X
5, ctx_B_destroy -> restore pstate to Y
Above sequence will cause final pstate is wrong (Y), should be original X.
[HOW]
When ctx_B create,
if ctx_A touched pstate setting
(not auto, stable_pstate_ctx != NULL),
set ctx_B->stable_pstate the same value as ctx_A saved,
if stable_pstate_ctx == NULL,
fetch current pstate to fill
ctx_B->stable_pstate.
Signed-off-by: Chengming Gui <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Cc: [email protected]
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c')
0 files changed, 0 insertions, 0 deletions
