diff options
| author | Kenneth Feng <kenneth.feng@amd.com> | 2025-06-12 15:57:40 +0800 | 
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2025-06-18 12:19:19 -0400 | 
| commit | eeb760c34afa034d1e879aa2394ae659a95e8f0b (patch) | |
| tree | a832b08c680e76fcbdb867d1b38d2f4389c6694f /drivers/gpu/drm/amd/pm | |
| parent | 1a18607c07bb68661a6373b4027c26ea8eab4b40 (diff) | |
drm/amd/pm: update pcie dpm parameters before smu feature enablement
update pcie dpm parameters before smu feature enablement
Signed-off-by: Kenneth Feng <kenneth.feng@amd.com>
Reviewed-by: Yang Wang <kevinyang.wang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/pm')
| -rw-r--r-- | drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 40 | 
1 files changed, 20 insertions, 20 deletions
| diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c index aedb209c75da..824fcc6dd32a 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c @@ -1687,26 +1687,6 @@ static int smu_smc_hw_setup(struct smu_context *smu)  		}  	} -	ret = smu_system_features_control(smu, true); -	if (ret) { -		dev_err(adev->dev, "Failed to enable requested dpm features!\n"); -		return ret; -	} - -	smu_init_xgmi_plpd_mode(smu); - -	ret = smu_feature_get_enabled_mask(smu, &features_supported); -	if (ret) { -		dev_err(adev->dev, "Failed to retrieve supported dpm features!\n"); -		return ret; -	} -	bitmap_copy(feature->supported, -		    (unsigned long *)&features_supported, -		    feature->feature_num); - -	if (!smu_is_dpm_running(smu)) -		dev_info(adev->dev, "dpm has been disabled\n"); -  	/*  	 * Set initialized values (get from vbios) to dpm tables context such as  	 * gfxclk, memclk, dcefclk, and etc. And enable the DPM feature for each @@ -1753,6 +1733,26 @@ static int smu_smc_hw_setup(struct smu_context *smu)  		return ret;  	} +	ret = smu_system_features_control(smu, true); +	if (ret) { +		dev_err(adev->dev, "Failed to enable requested dpm features!\n"); +		return ret; +	} + +	smu_init_xgmi_plpd_mode(smu); + +	ret = smu_feature_get_enabled_mask(smu, &features_supported); +	if (ret) { +		dev_err(adev->dev, "Failed to retrieve supported dpm features!\n"); +		return ret; +	} +	bitmap_copy(feature->supported, +		    (unsigned long *)&features_supported, +		    feature->feature_num); + +	if (!smu_is_dpm_running(smu)) +		dev_info(adev->dev, "dpm has been disabled\n"); +  	ret = smu_get_thermal_temperature_range(smu);  	if (ret) {  		dev_err(adev->dev, "Failed to get thermal temperature ranges!\n"); | 
