Please drop the table_count member from the smu_table structure as it's totally unused. With that fixed, the patch is reviewed-by: Evan Quan <evan.quan@xxxxxxx> > -----Original Message----- > From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of > Wang, Kevin(Yang) > Sent: 2019年9月3日 16:17 > To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx; Huang, Ray <Ray.Huang@xxxxxxx> > Cc: Wang, Kevin(Yang) <Kevin1.Wang@xxxxxxx> > Subject: [PATCH] drm/amd/powerplay: replace smu->table_count with > SMU_TABLE_COUNT in smu > > fix bellow patch issue: > drm/amd/powerplay: introduce smu table id type to handle the smu table > for each asic > ---- > "This patch introduces new smu table type, it's to handle the different smu > table defines for each asic with the same smu ip." > > before: > use smu->table_count to represent the actual table count in smc firmware > use actual table count to check smu function parameter about smu table > after: > use logic table count "SMU_TABLE_COUNT" to check function parameter > because table id already mapped in smu driver, and smu function will use > logic table id not actual table id to check func parameter. > > Signed-off-by: Kevin Wang <kevin1.wang@xxxxxxx> > --- > drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 13 ++++--------- > drivers/gpu/drm/amd/powerplay/arcturus_ppt.c | 1 - > drivers/gpu/drm/amd/powerplay/navi10_ppt.c | 1 - > drivers/gpu/drm/amd/powerplay/renoir_ppt.c | 1 - > drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 5 ++--- > drivers/gpu/drm/amd/powerplay/vega20_ppt.c | 1 - > 6 files changed, 6 insertions(+), 16 deletions(-) > > diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c > b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c > index 6f435d60fe86..c71a82a6a785 100644 > --- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c > +++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c > @@ -462,7 +462,7 @@ int smu_update_table(struct smu_context *smu, > enum smu_table_id table_index, int > int ret = 0; > int table_id = smu_table_get_index(smu, table_index); > > - if (!table_data || table_id >= smu_table->table_count || table_id < 0) > + if (!table_data || table_id >= SMU_TABLE_COUNT || table_id < 0) > return -EINVAL; > > table = &smu_table->tables[table_index]; @@ -940,14 +940,10 @@ > static int smu_init_fb_allocations(struct smu_context *smu) > struct amdgpu_device *adev = smu->adev; > struct smu_table_context *smu_table = &smu->smu_table; > struct smu_table *tables = smu_table->tables; > - uint32_t table_count = smu_table->table_count; > uint32_t i = 0; > int32_t ret = 0; > > - if (table_count <= 0) > - return -EINVAL; > - > - for (i = 0 ; i < table_count; i++) { > + for (i = 0; i < SMU_TABLE_COUNT; i++) { > if (tables[i].size == 0) > continue; > ret = amdgpu_bo_create_kernel(adev, > @@ -978,13 +974,12 @@ static int smu_fini_fb_allocations(struct > smu_context *smu) { > struct smu_table_context *smu_table = &smu->smu_table; > struct smu_table *tables = smu_table->tables; > - uint32_t table_count = smu_table->table_count; > uint32_t i = 0; > > - if (table_count == 0 || tables == NULL) > + if (!tables) > return 0; > > - for (i = 0 ; i < table_count; i++) { > + for (i = 0; i < SMU_TABLE_COUNT; i++) { > if (tables[i].size == 0) > continue; > amdgpu_bo_free_kernel(&tables[i].bo, > diff --git a/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c > b/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c > index f1f072012fac..6e8eb0f94c8b 100644 > --- a/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c > +++ b/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c > @@ -1934,5 +1934,4 @@ void arcturus_set_ppt_funcs(struct smu_context > *smu) > struct smu_table_context *smu_table = &smu->smu_table; > > smu->ppt_funcs = &arcturus_ppt_funcs; > - smu_table->table_count = TABLE_COUNT; > } > diff --git a/drivers/gpu/drm/amd/powerplay/navi10_ppt.c > b/drivers/gpu/drm/amd/powerplay/navi10_ppt.c > index 744b7501c34d..e3add8b59291 100644 > --- a/drivers/gpu/drm/amd/powerplay/navi10_ppt.c > +++ b/drivers/gpu/drm/amd/powerplay/navi10_ppt.c > @@ -1633,5 +1633,4 @@ void navi10_set_ppt_funcs(struct smu_context > *smu) > struct smu_table_context *smu_table = &smu->smu_table; > > smu->ppt_funcs = &navi10_ppt_funcs; > - smu_table->table_count = TABLE_COUNT; > } > diff --git a/drivers/gpu/drm/amd/powerplay/renoir_ppt.c > b/drivers/gpu/drm/amd/powerplay/renoir_ppt.c > index de43159564a5..2b953f7431b6 100644 > --- a/drivers/gpu/drm/amd/powerplay/renoir_ppt.c > +++ b/drivers/gpu/drm/amd/powerplay/renoir_ppt.c > @@ -169,5 +169,4 @@ void renoir_set_ppt_funcs(struct smu_context *smu) > > smu->ppt_funcs = &renoir_ppt_funcs; > smu->smc_if_version = SMU12_DRIVER_IF_VERSION; > - smu_table->table_count = TABLE_COUNT; > } > diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > index deca9f85764c..3709e4d77338 100644 > --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c > @@ -439,7 +439,7 @@ static int smu_v11_0_init_smc_tables(struct > smu_context *smu) > struct smu_table *tables = NULL; > int ret = 0; > > - if (smu_table->tables || smu_table->table_count == 0) > + if (smu_table->tables) > return -EINVAL; > > tables = kcalloc(SMU_TABLE_COUNT, sizeof(struct smu_table), @@ - > 465,13 +465,12 @@ static int smu_v11_0_fini_smc_tables(struct > smu_context *smu) > struct smu_table_context *smu_table = &smu->smu_table; > int ret = 0; > > - if (!smu_table->tables || smu_table->table_count == 0) > + if (!smu_table->tables) > return -EINVAL; > > kfree(smu_table->tables); > kfree(smu_table->metrics_table); > smu_table->tables = NULL; > - smu_table->table_count = 0; > smu_table->metrics_table = NULL; > smu_table->metrics_time = 0; > > diff --git a/drivers/gpu/drm/amd/powerplay/vega20_ppt.c > b/drivers/gpu/drm/amd/powerplay/vega20_ppt.c > index 899bf96b23e1..68548ba9b6ea 100644 > --- a/drivers/gpu/drm/amd/powerplay/vega20_ppt.c > +++ b/drivers/gpu/drm/amd/powerplay/vega20_ppt.c > @@ -3189,5 +3189,4 @@ void vega20_set_ppt_funcs(struct smu_context > *smu) > struct smu_table_context *smu_table = &smu->smu_table; > > smu->ppt_funcs = &vega20_ppt_funcs; > - smu_table->table_count = TABLE_COUNT; > } > -- > 2.22.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