[AMD Official Use Only - General] -----Original Message----- From: Christian König <ckoenig.leichtzumerken@xxxxxxxxx> Sent: Friday, April 26, 2024 7:39 PM To: Huang, Tim <Tim.Huang@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Koenig, Christian <Christian.Koenig@xxxxxxx> Subject: Re: [PATCH] drm/amd/pm: fix uninitialized variable warning for smu8_hwmgr 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@xxxxxxx> > Maybe drop the blank line before the "if (ret)", apart from that Yes, will drop it. Thanks. Tim > Reviewed-by: Christian König <christian.koenig@xxxxxxx> > --- > .../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;