[PATCH] drm/amd/pm: fix uninitialized variable warning for smu8_hwmgr

Christian König ckoenig.leichtzumerken at gmail.com
Fri Apr 26 11:38:56 UTC 2024


Am 26.04.24 um 11:29 schrieb Tim Huang:
> Clear warnings that using uninitialized value level when fails
> to get the value from SMU.
>
> Signed-off-by: Tim Huang <Tim.Huang at amd.com>

Maybe drop the blank line before the "if (ret)", apart from that 
Reviewed-by: Christian König <christian.koenig at amd.com>

> ---
>   .../drm/amd/pm/powerplay/hwmgr/smu8_hwmgr.c    | 18 +++++++++++++++---
>   1 file changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu8_hwmgr.c b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu8_hwmgr.c
> index b015a601b385..4e4146ce71c1 100644
> --- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu8_hwmgr.c
> +++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu8_hwmgr.c
> @@ -584,6 +584,7 @@ static int smu8_init_uvd_limit(struct pp_hwmgr *hwmgr)
>   				hwmgr->dyn_state.uvd_clock_voltage_dependency_table;
>   	unsigned long clock = 0;
>   	uint32_t level;
> +	int ret;
>   
>   	if (NULL == table || table->count <= 0)
>   		return -EINVAL;
> @@ -591,7 +592,10 @@ static int smu8_init_uvd_limit(struct pp_hwmgr *hwmgr)
>   	data->uvd_dpm.soft_min_clk = 0;
>   	data->uvd_dpm.hard_min_clk = 0;
>   
> -	smum_send_msg_to_smc(hwmgr, PPSMC_MSG_GetMaxUvdLevel, &level);
> +	ret = smum_send_msg_to_smc(hwmgr, PPSMC_MSG_GetMaxUvdLevel, &level);
> +
> +	if (ret)
> +		return ret;
>   
>   	if (level < table->count)
>   		clock = table->entries[level].vclk;
> @@ -611,6 +615,7 @@ static int smu8_init_vce_limit(struct pp_hwmgr *hwmgr)
>   				hwmgr->dyn_state.vce_clock_voltage_dependency_table;
>   	unsigned long clock = 0;
>   	uint32_t level;
> +	int ret;
>   
>   	if (NULL == table || table->count <= 0)
>   		return -EINVAL;
> @@ -618,7 +623,10 @@ static int smu8_init_vce_limit(struct pp_hwmgr *hwmgr)
>   	data->vce_dpm.soft_min_clk = 0;
>   	data->vce_dpm.hard_min_clk = 0;
>   
> -	smum_send_msg_to_smc(hwmgr, PPSMC_MSG_GetMaxEclkLevel, &level);
> +	ret = smum_send_msg_to_smc(hwmgr, PPSMC_MSG_GetMaxEclkLevel, &level);
> +
> +	if (ret)
> +		return ret;
>   
>   	if (level < table->count)
>   		clock = table->entries[level].ecclk;
> @@ -638,6 +646,7 @@ static int smu8_init_acp_limit(struct pp_hwmgr *hwmgr)
>   				hwmgr->dyn_state.acp_clock_voltage_dependency_table;
>   	unsigned long clock = 0;
>   	uint32_t level;
> +	int ret;
>   
>   	if (NULL == table || table->count <= 0)
>   		return -EINVAL;
> @@ -645,7 +654,10 @@ static int smu8_init_acp_limit(struct pp_hwmgr *hwmgr)
>   	data->acp_dpm.soft_min_clk = 0;
>   	data->acp_dpm.hard_min_clk = 0;
>   
> -	smum_send_msg_to_smc(hwmgr, PPSMC_MSG_GetMaxAclkLevel, &level);
> +	ret = smum_send_msg_to_smc(hwmgr, PPSMC_MSG_GetMaxAclkLevel, &level);
> +
> +	if (ret)
> +		return ret;
>   
>   	if (level < table->count)
>   		clock = table->entries[level].acpclk;



More information about the amd-gfx mailing list