[PATCH 1/3] drm/amdgpu: add mmhub powergating set by smu
Deucher, Alexander
Alexander.Deucher at amd.com
Tue Feb 6 20:50:57 UTC 2018
> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf
> Of Eric Huang
> Sent: Tuesday, February 6, 2018 3:41 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Huang, JinHuiEric <JinHuiEric.Huang at 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.deucher at amd.com>
>
> Signed-off-by: Eric Huang <JinHuiEric.Huang at 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list