On Thu, Jun 4, 2020 at 12:47 AM Evan Quan <evan.quan@xxxxxxx> wrote: > > Thus redundant code can be dropped. > > Change-Id: I672f84ed5856da53b7f8f915b2f24ca11cd4b228 > Signed-off-by: Evan Quan <evan.quan@xxxxxxx> Clarify subject: drm/amd/powerplay: maximize code sharing between .hw_fini and .suspend With that fixed: Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 44 +++++++++++----------- > 1 file changed, 23 insertions(+), 21 deletions(-) > > diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c > index 55ffbf1cf086..65f5edcaa405 100644 > --- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c > +++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c > @@ -1376,6 +1376,26 @@ static int smu_disable_dpms(struct smu_context *smu) > return ret; > } > > +static int smu_internal_hw_cleanup(struct smu_context *smu) > +{ > + struct amdgpu_device *adev = smu->adev; > + int ret = 0; > + > + smu_i2c_eeprom_fini(smu, &adev->pm.smu_i2c); > + > + ret = smu_disable_thermal_alert(smu); > + if (ret) { > + pr_warn("Fail to stop thermal control!\n"); > + return ret; > + } > + > + ret = smu_disable_dpms(smu); > + if (ret) > + return ret; > + > + return 0; > +} > + > static int smu_hw_fini(void *handle) > { > struct amdgpu_device *adev = (struct amdgpu_device *)handle; > @@ -1396,19 +1416,9 @@ static int smu_hw_fini(void *handle) > > adev->pm.dpm_enabled = false; > > - smu_i2c_eeprom_fini(smu, &adev->pm.smu_i2c); > - > - ret = smu_disable_thermal_alert(smu); > - if (ret) { > - pr_warn("Fail to stop thermal control!\n"); > - return ret; > - } > - > - ret = smu_disable_dpms(smu); > - if (ret) { > - pr_warn("Fail to stop Dpms!\n"); > + ret = smu_internal_hw_cleanup(smu); > + if (ret) > return ret; > - } > > return 0; > } > @@ -1445,15 +1455,7 @@ static int smu_suspend(void *handle) > > adev->pm.dpm_enabled = false; > > - smu_i2c_eeprom_fini(smu, &adev->pm.smu_i2c); > - > - ret = smu_disable_thermal_alert(smu); > - if (ret) { > - pr_warn("Fail to stop thermal control!\n"); > - return ret; > - } > - > - ret = smu_disable_dpms(smu); > + ret = smu_internal_hw_cleanup(smu); > if (ret) > return ret; > > -- > 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