> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-boun...@lists.freedesktop.org] On Behalf
> Of Eric Huang
> Sent: Tuesday, February 6, 2018 3:41 PM
> To: amd-gfx@lists.freedesktop.org
> Cc: Huang, JinHuiEric <jinhuieric.hu...@amd.com>
> Subject: [PATCH 1/3] drm/amdgpu: add mmhub powergating set by smu
> 
> PSP will disable legacy mmhub PG setting that is programming registers, and
> drive will use SMC message to set it up.

Split this into two patches, one to add the new dpm interface, and one to add 
the change to mmhub_v1_0.c.  I guess presumably there's no way to disable it 
once it's been enabled?

With the above addressed:
Reviewed-by: Alex Deucher <alexander.deuc...@amd.com>

> 
> Signed-off-by: Eric Huang <jinhuieric.hu...@amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h        | 4 ++++
>  drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c        | 3 +++
>  drivers/gpu/drm/amd/include/kgd_pp_interface.h | 1 +
>  3 files changed, 8 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h
> index c489c69..bd745a4 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h
> @@ -375,6 +375,10 @@ enum amdgpu_pcie_gen {
>               ((adev)->powerplay.pp_funcs->odn_edit_dpm_table(\
>                       (adev)->powerplay.pp_handle, type, parameter,
> size))
> 
> +#define amdgpu_dpm_set_mmhub_powergating_by_smu(adev) \
> +             ((adev)->powerplay.pp_funcs-
> >set_mmhub_powergating_by_smu( \
> +             (adev)->powerplay.pp_handle))
> +
>  struct amdgpu_dpm {
>       struct amdgpu_ps        *ps;
>       /* number of valid power states */
> diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c
> b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c
> index 82f8bc8..d0ade9f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c
> @@ -471,6 +471,9 @@ void mmhub_v1_0_update_power_gating(struct
> amdgpu_device *adev,
> 
>       RENG_EXECUTE_ON_REG_UPDATE, 1);
>               WREG32_SOC15(MMHUB, 0, mmPCTL1_RENG_EXECUTE,
> pctl1_reng_execute);
> 
> +             if (adev->powerplay.pp_funcs-
> >set_mmhub_powergating_by_smu)
> +
>       amdgpu_dpm_set_mmhub_powergating_by_smu(adev);
> +
>       } else {
>               pctl0_reng_execute = REG_SET_FIELD(pctl0_reng_execute,
>                                               PCTL0_RENG_EXECUTE,
> diff --git a/drivers/gpu/drm/amd/include/kgd_pp_interface.h
> b/drivers/gpu/drm/amd/include/kgd_pp_interface.h
> index 1fc995b..4f69fe8 100644
> --- a/drivers/gpu/drm/amd/include/kgd_pp_interface.h
> +++ b/drivers/gpu/drm/amd/include/kgd_pp_interface.h
> @@ -310,6 +310,7 @@ struct amd_pm_funcs {
>       int (*get_power_profile_mode)(void *handle, char *buf);
>       int (*set_power_profile_mode)(void *handle, long *input, uint32_t
> size);
>       int (*odn_edit_dpm_table)(void *handle, uint32_t type, long *input,
> uint32_t size);
> +     int (*set_mmhub_powergating_by_smu)(void *handle);
>  };
> 
>  #endif
> --
> 2.7.4
> 
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to