diff --git a/src/amd/common/ac_perfcounter.c b/src/amd/common/ac_perfcounter.c index fe7e48fbe80..abb4a36b7f9 100644 --- a/src/amd/common/ac_perfcounter.c +++ b/src/amd/common/ac_perfcounter.c @@ -1353,6 +1353,11 @@ bool ac_init_perfcounters(const struct radeon_info *info, } else if (!strcmp(block->b->b->name, "GL2C") || !strcmp(block->b->b->name, "GCEA")) { block->num_instances = block->num_global_instances = info->num_tcc_blocks; + } else if (!strcmp(block->b->b->name, "CPF")) { + block->num_instances = block->num_global_instances = 1; + } else if (!strcmp(block->b->b->name, "TA") || + !strcmp(block->b->b->name, "TD")) { + block->num_global_instances = block->num_instances; } } diff --git a/src/amd/common/ac_spm.c b/src/amd/common/ac_spm.c index 54866ccb857..d14ac2b80c0 100644 --- a/src/amd/common/ac_spm.c +++ b/src/amd/common/ac_spm.c @@ -165,14 +165,18 @@ ac_spm_init_instance_mapping(const struct radeon_info *info, /* Per-SA blocks. */ assert(block->b->b->gpu_block == GL1C || block->b->b->gpu_block == TCP || - block->b->b->gpu_block == SQ_WGP); + block->b->b->gpu_block == SQ_WGP || + block->b->b->gpu_block == TA || + block->b->b->gpu_block == TD); se_index = (counter->instance / block->num_instances) / info->max_sa_per_se; sa_index = (counter->instance / block->num_instances) % info->max_sa_per_se; instance_index = counter->instance % block->num_instances; } } else { /* Global blocks. */ - assert(block->b->b->gpu_block == GL2C); + assert(block->b->b->gpu_block == GL2C || + block->b->b->gpu_block == CPF || + block->b->b->gpu_block == GCEA); instance_index = counter->instance; }