[PATCH] drm/amdgpu: fix vega20 pstate status change

Quan, Evan Evan.Quan at amd.com
Thu Nov 7 04:03:27 UTC 2019


Reviewed-by: Evan Quan <evan.quan at amd.com>

> -----Original Message-----
> From: Kim, Jonathan <Jonathan.Kim at amd.com>
> Sent: Wednesday, November 6, 2019 10:04 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Kuehling, Felix <Felix.Kuehling at amd.com>; Quan, Evan
> <Evan.Quan at amd.com>; Strawbridge, Michael
> <Michael.Strawbridge at amd.com>; Kim, Jonathan <Jonathan.Kim at amd.com>;
> Kim, Jonathan <Jonathan.Kim at amd.com>
> Subject: [PATCH] drm/amdgpu: fix vega20 pstate status change
> 
> vega20 only requires all devices be set to same pstate level for low pstate and
> not high.
> 
> Change-Id: I399c84a47f6e24abca937ce950685c0c7f0e3279
> Signed-off-by: Jonathan Kim <Jonathan.Kim at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> index de20a9a1c444..61d13d8b7b20 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> @@ -276,6 +276,7 @@ int amdgpu_xgmi_set_pstate(struct amdgpu_device
> *adev, int pstate)
>  	struct amdgpu_hive_info *hive = amdgpu_get_xgmi_hive(adev, 0);
>  	struct amdgpu_device *tmp_adev;
>  	bool update_hive_pstate = true;
> +	bool is_high_pstate = pstate && adev->asic_type == CHIP_VEGA20;
> 
>  	if (!hive)
>  		return 0;
> @@ -283,8 +284,8 @@ int amdgpu_xgmi_set_pstate(struct amdgpu_device
> *adev, int pstate)
>  	mutex_lock(&hive->hive_lock);
> 
>  	if (hive->pstate == pstate) {
> -		mutex_unlock(&hive->hive_lock);
> -		return 0;
> +		adev->pstate = is_high_pstate ? pstate : adev->pstate;
> +		goto out;
>  	}
> 
>  	dev_dbg(adev->dev, "Set xgmi pstate %d.\n", pstate); @@ -317,7
> +318,7 @@ int amdgpu_xgmi_set_pstate(struct amdgpu_device *adev, int
> pstate)
>  			break;
>  		}
>  	}
> -	if (update_hive_pstate)
> +	if (update_hive_pstate || is_high_pstate)
>  		hive->pstate = pstate;
> 
>  out:
> --
> 2.17.1



More information about the amd-gfx mailing list