[PATCH 13/16] drm/amd/powerplay: max code sharing between .hw_fini and .suspend
Alex Deucher
alexdeucher at gmail.com
Thu Jun 4 21:08:34 UTC 2020
On Thu, Jun 4, 2020 at 12:47 AM Evan Quan <evan.quan at amd.com> wrote:
>
> Thus redundant code can be dropped.
>
> Change-Id: I672f84ed5856da53b7f8f915b2f24ca11cd4b228
> Signed-off-by: Evan Quan <evan.quan at amd.com>
Clarify subject:
drm/amd/powerplay: maximize code sharing between .hw_fini and .suspend
With that fixed:
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list