[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