[PATCH] drm/amdgpu/ctx: only reset stable pstate if the user changed it (v2)
Lazar, Lijo
lijo.lazar at amd.com
Wed May 11 04:42:45 UTC 2022
On 5/10/2022 8:07 PM, Alex Deucher wrote:
> Check if the requested stable pstate matches the current one before
> changing it. This avoids changing the stable pstate on context
> destroy if the user never changed it in the first place via the
> IOCTL.
>
> v2: compare the current and requested rather than setting a flag (Lijo)
>
> Fixes: 8cda7a4f96e435 ("drm/amdgpu/UAPI: add new CTX OP to get/set stable pstates")
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar at amd.com>
Thanks,
Lijo
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
> index 5981c7d9bd48..94c3a52df131 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
> @@ -295,6 +295,7 @@ static int amdgpu_ctx_set_stable_pstate(struct amdgpu_ctx *ctx,
> {
> struct amdgpu_device *adev = ctx->adev;
> enum amd_dpm_forced_level level;
> + u32 current_stable_pstate;
> int r;
>
> mutex_lock(&adev->pm.stable_pstate_ctx_lock);
> @@ -303,6 +304,10 @@ static int amdgpu_ctx_set_stable_pstate(struct amdgpu_ctx *ctx,
> goto done;
> }
>
> + r = amdgpu_ctx_get_stable_pstate(ctx, ¤t_stable_pstate);
> + if (r || (stable_pstate == current_stable_pstate))
> + goto done;
> +
> switch (stable_pstate) {
> case AMDGPU_CTX_STABLE_PSTATE_NONE:
> level = AMD_DPM_FORCED_LEVEL_AUTO;
>
More information about the amd-gfx
mailing list