drm/amdgpu/pm: add gfx_off_control for yellow carp
This patch implements gfx_off_control. Signed-off-by: Aaron Liu <aaron.liu@amd.com> Reviewed-by: Huang Rui <ray.huang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
647f007937
commit
999dc9c520
@ -49,5 +49,7 @@ int smu_v13_0_1_fini_smc_tables(struct smu_context *smu);
|
||||
int smu_v13_0_1_set_default_dpm_tables(struct smu_context *smu);
|
||||
|
||||
int smu_v13_0_1_set_driver_table_location(struct smu_context *smu);
|
||||
|
||||
int smu_v13_0_1_gfx_off_control(struct smu_context *smu, bool enable);
|
||||
#endif
|
||||
#endif
|
||||
|
@ -152,3 +152,24 @@ int smu_v13_0_1_set_driver_table_location(struct smu_context *smu)
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int smu_v13_0_1_gfx_off_control(struct smu_context *smu, bool enable)
|
||||
{
|
||||
int ret = 0;
|
||||
struct amdgpu_device *adev = smu->adev;
|
||||
|
||||
switch (adev->asic_type) {
|
||||
case CHIP_YELLOW_CARP:
|
||||
if (!(adev->pm.pp_feature & PP_GFXOFF_MASK))
|
||||
return 0;
|
||||
if (enable)
|
||||
ret = smu_cmn_send_smc_msg(smu, SMU_MSG_AllowGfxOff, NULL);
|
||||
else
|
||||
ret = smu_cmn_send_smc_msg(smu, SMU_MSG_DisallowGfxOff, NULL);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -152,6 +152,7 @@ static const struct pptable_funcs yellow_carp_ppt_funcs = {
|
||||
.get_enabled_mask = smu_cmn_get_enabled_32_bits_mask,
|
||||
.get_pp_feature_mask = smu_cmn_get_pp_feature_mask,
|
||||
.set_driver_table_location = smu_v13_0_1_set_driver_table_location,
|
||||
.gfx_off_control = smu_v13_0_1_gfx_off_control,
|
||||
};
|
||||
|
||||
void yellow_carp_set_ppt_funcs(struct smu_context *smu)
|
||||
|
Loading…
x
Reference in New Issue
Block a user