mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 01:38:06 +02:00
ac/perfcounter: add new GCEA_SE block definition on GFX12
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39100>
This commit is contained in:
parent
7f84c0056f
commit
11a12893d6
4 changed files with 29 additions and 1 deletions
|
|
@ -761,6 +761,7 @@ bool ac_init_perfcounters(const struct radeon_info *info,
|
|||
break;
|
||||
case GL2C:
|
||||
case GCEA:
|
||||
case GCEA_SE:
|
||||
block->num_instances = info->num_tcc_blocks;
|
||||
break;
|
||||
case GL2A:
|
||||
|
|
|
|||
|
|
@ -714,6 +714,29 @@ static struct ac_pc_block_base gfx12_GCEA_CPWD = {
|
|||
.spm_block_select = AC_SPM_GLOBAL_BLOCK_GCEA_CPWD,
|
||||
};
|
||||
|
||||
/* GCEA_SE */
|
||||
static unsigned gfx12_GCEA_SE_select0[] = {
|
||||
R_036880_GC_EA_SE_PERFCOUNTER0_SELECT,
|
||||
R_036888_GC_EA_SE_PERFCOUNTER1_SELECT,
|
||||
};
|
||||
static unsigned gfx12_GCEA_SE_select1[] = {
|
||||
R_036884_GC_EA_SE_PERFCOUNTER0_SELECT1,
|
||||
};
|
||||
static struct ac_pc_block_base gfx12_GCEA_SE = {
|
||||
.gpu_block = GCEA_SE,
|
||||
.name = "GCEA_SE",
|
||||
.distribution = AC_PC_GLOBAL_BLOCK,
|
||||
.num_counters = 2,
|
||||
|
||||
.select0 = gfx12_GCEA_SE_select0,
|
||||
.select1 = gfx12_GCEA_SE_select1,
|
||||
.counter0_lo = R_0349C0_GC_EA_SE_PERFCOUNTER0_LO,
|
||||
|
||||
.num_spm_counters = 1,
|
||||
.num_spm_wires = 2,
|
||||
.spm_block_select = AC_SPM_GLOBAL_BLOCK_GCEA_SE,
|
||||
};
|
||||
|
||||
static struct ac_pc_block_gfxdescr groups_gfx12[] = {
|
||||
{&gfx12_CB, 315},
|
||||
{&gfx12_CHA, 25},
|
||||
|
|
@ -742,6 +765,7 @@ static struct ac_pc_block_gfxdescr groups_gfx12[] = {
|
|||
{&gfx12_UTCL1, 71, 2},
|
||||
{&gfx12_SQ_WGP, 511, 4},
|
||||
{&gfx12_GCEA_CPWD, 32},
|
||||
{&gfx12_GCEA_SE, 32},
|
||||
};
|
||||
|
||||
const struct ac_pc_block_gfxdescr *
|
||||
|
|
|
|||
|
|
@ -294,7 +294,8 @@ ac_spm_init_instance_mapping(const struct radeon_info *info,
|
|||
assert(block->b->b->gpu_block == GL2C ||
|
||||
block->b->b->gpu_block == CPF ||
|
||||
block->b->b->gpu_block == GCEA ||
|
||||
block->b->b->gpu_block == GCEA_CPWD);
|
||||
block->b->b->gpu_block == GCEA_CPWD ||
|
||||
block->b->b->gpu_block == GCEA_SE);
|
||||
instance_index = counter->instance;
|
||||
}
|
||||
|
||||
|
|
@ -348,6 +349,7 @@ ac_spm_init_grbm_gfx_index(const struct ac_pc_block *block,
|
|||
case CPF:
|
||||
case GCEA:
|
||||
case GCEA_CPWD:
|
||||
case GCEA_SE:
|
||||
/* Global blocks. */
|
||||
grbm_gfx_index |= S_030800_SE_BROADCAST_WRITES(1);
|
||||
FALLTHROUGH;
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ enum ac_spm_global_block {
|
|||
AC_SPM_GLOBAL_BLOCK_GUS,
|
||||
AC_SPM_GLOBAL_BLOCK_GCEA,
|
||||
AC_SPM_GLOBAL_BLOCK_GCEA_CPWD = AC_SPM_GLOBAL_BLOCK_GCEA,
|
||||
AC_SPM_GLOBAL_BLOCK_GCEA_SE = AC_SPM_GLOBAL_BLOCK_GCEA,
|
||||
AC_SPM_GLOBAL_BLOCK_CHA,
|
||||
AC_SPM_GLOBAL_BLOCK_CHC,
|
||||
AC_SPM_GLOBAL_BLOCK_CHCG,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue