[PATCH 1/3] drm/amdgpu: add mmhub powergating set by smu
Eric Huang
jinhuieric.huang at amd.com
Tue Feb 6 21:31:52 UTC 2018
Yes. SMU only provides enabling message.
Thanks,
Eric
On 2018-02-06 03:50 PM, Deucher, Alexander wrote:
>> -----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