diff options
author | Chengming Gui <Jack.Gui@amd.com> | 2022-10-18 17:31:38 +0800 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2022-10-21 15:44:56 -0400 |
commit | 8a7a5b5f23377a1eb79b8cc47ba79d805767da47 (patch) | |
tree | fff62b01a7ec9879c444be4078cc8aa13d38896a /drivers/gpu/drm/amd/pm | |
parent | 8f8033d5663b18e6efb33feb61f2287a04605ab5 (diff) | |
download | linux-8a7a5b5f23377a1eb79b8cc47ba79d805767da47.tar.bz2 |
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 <Jack.Gui@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/pm')
0 files changed, 0 insertions, 0 deletions