On Thu, Jun 4, 2020 at 12:47 AM Evan Quan <evan.quan@xxxxxxx> wrote: > > Since smu_smc_table_hw_init() is needed for both .hw_init and .resume. > By doing this, we can drop unnecessary operations on resume. > > Change-Id: I2af6277efaa9adba2de69161e20e54c4aa10a411 > Signed-off-by: Evan Quan <evan.quan@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 40 +++++++++++----------- > 1 file changed, 20 insertions(+), 20 deletions(-) > > diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c > index 78fb2b42fc93..3bd6b9a5b63c 100644 > --- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c > +++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c > @@ -1130,25 +1130,6 @@ static int smu_smc_table_hw_init(struct smu_context *smu, > if (ret) > return ret; > > - if (initialize) { > - /* get boot_values from vbios to set revision, gfxclk, and etc. */ > - ret = smu_get_vbios_bootup_values(smu); > - if (ret) > - return ret; > - > - ret = smu_setup_pptable(smu); > - if (ret) > - return ret; > - > - /* > - * Send msg GetDriverIfVersion to check if the return value is equal > - * with DRIVER_IF_VERSION of smc header. > - */ > - ret = smu_check_fw_version(smu); > - if (ret) > - return ret; > - } > - > ret = smu_set_driver_table_location(smu); > if (ret) > return ret; > @@ -1236,10 +1217,20 @@ static int smu_start_smc_engine(struct smu_context *smu) > > if (smu->ppt_funcs->check_fw_status) { > ret = smu->ppt_funcs->check_fw_status(smu); > - if (ret) > + if (ret) { > pr_err("SMC is not ready\n"); > + return ret; > + } > } > > + /* > + * Send msg GetDriverIfVersion to check if the return value is equal > + * with DRIVER_IF_VERSION of smc header. > + */ > + ret = smu_check_fw_version(smu); > + if (ret) > + return ret; > + > return ret; > } > > @@ -1268,6 +1259,15 @@ static int smu_hw_init(void *handle) > if (!smu->pm_enabled) > return 0; > > + /* get boot_values from vbios to set revision, gfxclk, and etc. */ > + ret = smu_get_vbios_bootup_values(smu); > + if (ret) > + return ret; > + > + ret = smu_setup_pptable(smu); > + if (ret) > + return ret; > + > ret = smu_feature_init_dpm(smu); > if (ret) > goto failed; > -- > 2.27.0 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx