Reviewed-by: Evan Quan <evan.quan@xxxxxxx> > -----Original Message----- > From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of > Wang, Kevin(Yang) > Sent: Monday, April 08, 2019 4:43 PM > To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Huang, Ray <Ray.Huang@xxxxxxx>; Feng, Kenneth > <Kenneth.Feng@xxxxxxx>; Wang, Kevin(Yang) <Kevin1.Wang@xxxxxxx> > Subject: [PATCH 1/2] drm/amd/powerplay: optimization function of > smu_update_table > > in fact, the firmware need 2 parameter: 1.table_id, 2.XferArg so change the > function interface to match the firmware code > > Signed-off-by: Kevin Wang <kevin1.wang@xxxxxxx> > --- > drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 7 +++++-- > drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h | 5 ++++- > 2 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c > b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c > index 7e8c74da6a74..c058c784180e 100644 > --- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c > +++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c > @@ -97,16 +97,19 @@ int smu_common_read_sensor(struct smu_context > *smu, enum amd_pp_sensors sensor, > return ret; > } > > -int smu_update_table(struct smu_context *smu, uint32_t table_id, > +int smu_update_table_with_arg(struct smu_context *smu, uint16_t > +table_id, uint16_t exarg, > void *table_data, bool drv2smu) > { > struct smu_table_context *smu_table = &smu->smu_table; > struct smu_table *table = NULL; > int ret = 0; > + uint32_t table_index; > > if (!table_data || table_id >= smu_table->table_count) > return -EINVAL; > > + table_index = (exarg << 16) | table_id; > + > table = &smu_table->tables[table_id]; > > if (drv2smu) > @@ -123,7 +126,7 @@ int smu_update_table(struct smu_context *smu, > uint32_t table_id, > ret = smu_send_smc_msg_with_param(smu, drv2smu ? > > SMU_MSG_TransferTableDram2Smu : > > SMU_MSG_TransferTableSmu2Dram, > - table_id); > + table_index); > if (ret) > return ret; > > diff --git a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h > b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h > index 2083139533e9..c146b5e884f8 100644 > --- a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h > +++ b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h > @@ -745,8 +745,11 @@ extern int smu_feature_set_enabled(struct > smu_context *smu, int feature_id, bool extern int > smu_feature_is_supported(struct smu_context *smu, int feature_id); > extern int smu_feature_set_supported(struct smu_context *smu, int > feature_id, bool enable); > > -int smu_update_table(struct smu_context *smu, uint32_t table_id, > +int smu_update_table_with_arg(struct smu_context *smu, uint16_t > +table_id, uint16_t exarg, > void *table_data, bool drv2smu); > +#define smu_update_table(smu, table_id, table_data, drv2smu) \ > + smu_update_table_with_arg((smu), (table_id), 0, (table_data), > +(drv2smu)) > + > bool is_support_sw_smu(struct amdgpu_device *adev); int > smu_reset(struct smu_context *smu); int > smu_common_read_sensor(struct smu_context *smu, enum > amd_pp_sensors sensor, > -- > 2.21.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