On Wed, Aug 12, 2020 at 12:57 AM Evan Quan <evan.quan@xxxxxxx> wrote: > > Support Navi1X mgpu fan boost enablement. > > Change-Id: Iafbf07c56462120d2db578b6af45dd7f985a4cc1 > Signed-off-by: Evan Quan <evan.quan@xxxxxxx> > --- > .../drm/amd/powerplay/inc/smu_v11_0_ppsmc.h | 4 +++- > drivers/gpu/drm/amd/powerplay/navi10_ppt.c | 21 +++++++++++++++++++ > 2 files changed, 24 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0_ppsmc.h b/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0_ppsmc.h > index 406bfd187ce8..fa0174dc7e0e 100644 > --- a/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0_ppsmc.h > +++ b/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0_ppsmc.h > @@ -123,7 +123,9 @@ > #define PPSMC_MSG_DALDisableDummyPstateChange 0x49 > #define PPSMC_MSG_DALEnableDummyPstateChange 0x4A > > -#define PPSMC_Message_Count 0x4B > +#define PPSMC_MSG_SetMGpuFanBoostLimitRpm 0x4C > + > +#define PPSMC_Message_Count 0x4D > > typedef uint32_t PPSMC_Result; > typedef uint32_t PPSMC_Msg; > diff --git a/drivers/gpu/drm/amd/powerplay/navi10_ppt.c b/drivers/gpu/drm/amd/powerplay/navi10_ppt.c > index 61e2971be9f3..a86cd819b44b 100644 > --- a/drivers/gpu/drm/amd/powerplay/navi10_ppt.c > +++ b/drivers/gpu/drm/amd/powerplay/navi10_ppt.c > @@ -138,6 +138,7 @@ static struct cmn2asic_msg_mapping navi10_message_map[SMU_MSG_MAX_COUNT] = { > MSG_MAP(DAL_ENABLE_DUMMY_PSTATE_CHANGE, PPSMC_MSG_DALEnableDummyPstateChange, 0), > MSG_MAP(GetVoltageByDpm, PPSMC_MSG_GetVoltageByDpm, 0), > MSG_MAP(GetVoltageByDpmOverdrive, PPSMC_MSG_GetVoltageByDpmOverdrive, 0), > + MSG_MAP(SetMGpuFanBoostLimitRpm, PPSMC_MSG_SetMGpuFanBoostLimitRpm, 0), > }; > > static struct cmn2asic_mapping navi10_clk_map[SMU_CLK_COUNT] = { > @@ -2555,6 +2556,25 @@ static ssize_t navi10_get_gpu_metrics(struct smu_context *smu, > return sizeof(struct gpu_metrics_v1_0); > } > > +static int navi10_enable_mgpu_fan_boost(struct smu_context *smu) > +{ > + struct amdgpu_device *adev = smu->adev; > + uint32_t param = 0; > + > + /* Navi12 does not support this */ > + if (adev->asic_type == CHIP_NAVI12) > + return 0; > + > + if (adev->pdev->device == 0x7312 && > + adev->external_rev_id == 0) You want adev->pdev->revision here. With that fixed, series is: Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> > + param = 0xD188; > + > + return smu_cmn_send_smc_msg_with_param(smu, > + SMU_MSG_SetMGpuFanBoostLimitRpm, > + param, > + NULL); > +} > + > static const struct pptable_funcs navi10_ppt_funcs = { > .get_allowed_feature_mask = navi10_get_allowed_feature_mask, > .set_default_dpm_table = navi10_set_default_dpm_table, > @@ -2636,6 +2656,7 @@ static const struct pptable_funcs navi10_ppt_funcs = { > .get_pp_feature_mask = smu_cmn_get_pp_feature_mask, > .set_pp_feature_mask = smu_cmn_set_pp_feature_mask, > .get_gpu_metrics = navi10_get_gpu_metrics, > + .enable_mgpu_fan_boost = navi10_enable_mgpu_fan_boost, > }; > > void navi10_set_ppt_funcs(struct smu_context *smu) > -- > 2.28.0 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx