Mesa (main): amd/gfx11: add PixelWaitSync packet fields
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jun 15 21:27:03 UTC 2022
Module: Mesa
Branch: main
Commit: ee7150da79b9b8f6bddf179cdb032bfe9877b8ff
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ee7150da79b9b8f6bddf179cdb032bfe9877b8ff
Author: Marek Olšák <marek.olsak at amd.com>
Date: Thu May 19 20:12:08 2022 -0400
amd/gfx11: add PixelWaitSync packet fields
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16990>
---
src/amd/common/ac_debug.c | 10 ++++
src/amd/registers/pkt3.json | 140 +++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 149 insertions(+), 1 deletion(-)
diff --git a/src/amd/common/ac_debug.c b/src/amd/common/ac_debug.c
index a9b45cf66c4..ddc89b3cc8f 100644
--- a/src/amd/common/ac_debug.c
+++ b/src/amd/common/ac_debug.c
@@ -297,6 +297,16 @@ static void ac_parse_packet3(FILE *f, uint32_t header, struct ac_ib_parser *ib,
ac_parse_set_reg_packet(f, count, SI_SH_REG_OFFSET, ib);
break;
case PKT3_ACQUIRE_MEM:
+ if (ib->gfx_level >= GFX11 && G_585_PWS_ENA(ib->ib[ib->cur_dw + 5])) {
+ ac_dump_reg(f, ib->gfx_level, R_580_ACQUIRE_MEM_PWS_2, ac_ib_get(ib), ~0);
+ print_named_value(f, "GCR_SIZE", ac_ib_get(ib), 32);
+ print_named_value(f, "GCR_SIZE_HI", ac_ib_get(ib), 25);
+ print_named_value(f, "GCR_BASE_LO", ac_ib_get(ib), 32);
+ print_named_value(f, "GCR_BASE_HI", ac_ib_get(ib), 32);
+ ac_dump_reg(f, ib->gfx_level, R_585_ACQUIRE_MEM_PWS_7, ac_ib_get(ib), ~0);
+ ac_dump_reg(f, ib->gfx_level, R_586_GCR_CNTL, ac_ib_get(ib), ~0);
+ break;
+ }
ac_dump_reg(f, ib->gfx_level, R_0301F0_CP_COHER_CNTL, ac_ib_get(ib), ~0);
ac_dump_reg(f, ib->gfx_level, R_0301F4_CP_COHER_SIZE, ac_ib_get(ib), ~0);
ac_dump_reg(f, ib->gfx_level, R_030230_CP_COHER_SIZE_HI, ac_ib_get(ib), ~0);
diff --git a/src/amd/registers/pkt3.json b/src/amd/registers/pkt3.json
index 01edf965cc7..e54196e9eed 100644
--- a/src/amd/registers/pkt3.json
+++ b/src/amd/registers/pkt3.json
@@ -118,6 +118,91 @@
{"name": "SEQ_FORWARD", "value": 1},
{"name": "SEQ_REVERSE", "value": 2}
]
+ },
+ "PWS_STAGE_SEL": {
+ "entries": [
+ {"name": "PRE_DEPTH", "value": 0},
+ {"name": "PRE_SHADER", "value": 1},
+ {"name": "PRE_COLOR", "value": 2},
+ {"name": "PRE_PIX_SHADER", "value": 3},
+ {"name": "CP_PFP", "value": 4},
+ {"name": "CP_ME", "value": 5}
+ ]
+ },
+ "PWS_COUNTER_SEL": {
+ "entries": [
+ {"name": "TS_SELECT", "value": 0},
+ {"name": "PS_SELECT", "value": 1},
+ {"name": "CS_SELECT", "value": 2}
+ ]
+ },
+ "VGT_EVENT_TYPE_gfx11": {
+ "entries": [
+ {"name": "Reserved_0x00", "value": 0},
+ {"name": "SAMPLE_STREAMOUTSTATS1", "value": 1},
+ {"name": "SAMPLE_STREAMOUTSTATS2", "value": 2},
+ {"name": "SAMPLE_STREAMOUTSTATS3", "value": 3},
+ {"name": "CACHE_FLUSH_TS", "value": 4},
+ {"name": "CONTEXT_DONE", "value": 5},
+ {"name": "CACHE_FLUSH", "value": 6},
+ {"name": "CS_PARTIAL_FLUSH", "value": 7},
+ {"name": "VGT_STREAMOUT_SYNC", "value": 8},
+ {"name": "Reserved_0x09", "value": 9},
+ {"name": "VGT_STREAMOUT_RESET", "value": 10},
+ {"name": "END_OF_PIPE_INCR_DE", "value": 11},
+ {"name": "END_OF_PIPE_IB_END", "value": 12},
+ {"name": "RST_PIX_CNT", "value": 13},
+ {"name": "BREAK_BATCH", "value": 14},
+ {"name": "VS_PARTIAL_FLUSH", "value": 15},
+ {"name": "PS_PARTIAL_FLUSH", "value": 16},
+ {"name": "FLUSH_HS_OUTPUT", "value": 17},
+ {"name": "FLUSH_DFSM", "value": 18},
+ {"name": "RESET_TO_LOWEST_VGT", "value": 19},
+ {"name": "CACHE_FLUSH_AND_INV_TS_EVENT", "value": 20},
+ {"name": "WAIT_SYNC", "value": 21},
+ {"name": "CACHE_FLUSH_AND_INV_EVENT", "value": 22},
+ {"name": "PERFCOUNTER_START", "value": 23},
+ {"name": "PERFCOUNTER_STOP", "value": 24},
+ {"name": "PIPELINESTAT_START", "value": 25},
+ {"name": "PIPELINESTAT_STOP", "value": 26},
+ {"name": "PERFCOUNTER_SAMPLE", "value": 27},
+ {"name": "FLUSH_ES_OUTPUT", "value": 28},
+ {"name": "BIN_CONF_OVERRIDE_CHECK", "value": 29},
+ {"name": "SAMPLE_PIPELINESTAT", "value": 30},
+ {"name": "SO_VGTSTREAMOUT_FLUSH", "value": 31},
+ {"name": "SAMPLE_STREAMOUTSTATS", "value": 32},
+ {"name": "RESET_VTX_CNT", "value": 33},
+ {"name": "BLOCK_CONTEXT_DONE", "value": 34},
+ {"name": "CS_CONTEXT_DONE", "value": 35},
+ {"name": "VGT_FLUSH", "value": 36},
+ {"name": "TGID_ROLLOVER", "value": 37},
+ {"name": "SQ_NON_EVENT", "value": 38},
+ {"name": "SC_SEND_DB_VPZ", "value": 39},
+ {"name": "BOTTOM_OF_PIPE_TS", "value": 40},
+ {"name": "FLUSH_SX_TS", "value": 41},
+ {"name": "DB_CACHE_FLUSH_AND_INV", "value": 42},
+ {"name": "FLUSH_AND_INV_DB_DATA_TS", "value": 43},
+ {"name": "FLUSH_AND_INV_DB_META", "value": 44},
+ {"name": "FLUSH_AND_INV_CB_DATA_TS", "value": 45},
+ {"name": "FLUSH_AND_INV_CB_META", "value": 46},
+ {"name": "CS_DONE", "value": 47},
+ {"name": "PS_DONE", "value": 48},
+ {"name": "FLUSH_AND_INV_CB_PIXEL_DATA", "value": 49},
+ {"name": "SX_CB_RAT_ACK_REQUEST", "value": 50},
+ {"name": "THREAD_TRACE_START", "value": 51},
+ {"name": "THREAD_TRACE_STOP", "value": 52},
+ {"name": "THREAD_TRACE_MARKER", "value": 53},
+ {"name": "THREAD_TRACE_DRAW", "value": 54},
+ {"name": "THREAD_TRACE_FINISH", "value": 55},
+ {"name": "PIXEL_PIPE_STAT_CONTROL", "value": 56},
+ {"name": "PIXEL_PIPE_STAT_DUMP", "value": 57},
+ {"name": "PIXEL_PIPE_STAT_RESET", "value": 58},
+ {"name": "CONTEXT_SUSPEND", "value": 59},
+ {"name": "OFFCHIP_HS_DEALLOC", "value": 60},
+ {"name": "ENABLE_NGG_PIPELINE", "value": 61},
+ {"name": "ENABLE_LEGACY_PIPELINE", "value": 62},
+ {"name": "DRAW_DONE", "value": 63}
+ ]
}
},
"register_mappings": [
@@ -243,11 +328,17 @@
"type_ref": "IB_CONTROL"
},
{
- "chips": ["gfx10", "gfx103", "gfx11"],
+ "chips": ["gfx10", "gfx103"],
"map": {"at": 1168, "to": "pkt3"},
"name": "RELEASE_MEM_OP",
"type_ref": "RELEASE_MEM_OP"
},
+ {
+ "chips": ["gfx11"],
+ "map": {"at": 1168, "to": "pkt3"},
+ "name": "RELEASE_MEM_OP",
+ "type_ref": "RELEASE_MEM_OP_gfx11"
+ },
{
"chips": ["gfx6", "gfx7", "gfx8", "gfx81", "gfx9", "gfx10", "gfx103", "gfx11"],
"map": {"at": 1282, "to": "pkt3"},
@@ -257,6 +348,18 @@
"chips": ["gfx6", "gfx7", "gfx8", "gfx81", "gfx9", "gfx10", "gfx103", "gfx11"],
"map": {"at": 1281, "to": "pkt3"},
"name": "SRC_ADDR_LO"
+ },
+ {
+ "chips": ["gfx11"],
+ "map": {"at": 1408, "to": "pkt3"},
+ "name": "ACQUIRE_MEM_PWS_2",
+ "type_ref": "ACQUIRE_MEM_PWS_2"
+ },
+ {
+ "chips": ["gfx11"],
+ "map": {"at": 1413, "to": "pkt3"},
+ "name": "ACQUIRE_MEM_PWS_7",
+ "type_ref": "ACQUIRE_MEM_PWS_7"
}
],
"register_types": {
@@ -411,6 +514,41 @@
{"bits": [21, 21], "name": "GL2_WB"},
{"bits": [22, 23], "enum_ref": "GCR_SEQ", "name": "SEQ"}
]
+ },
+ "RELEASE_MEM_OP_gfx11": {
+ "fields": [
+ {"bits": [0, 5], "enum_ref": "VGT_EVENT_TYPE_gfx11", "name": "EVENT_TYPE"},
+ {"bits": [7, 7], "name": "WAIT_SYNC"},
+ {"bits": [8, 11], "name": "EVENT_INDEX"},
+ {"bits": [12, 12], "name": "GLM_WB"},
+ {"bits": [13, 13], "name": "GLM_INV"},
+ {"bits": [14, 14], "name": "GLV_INV"},
+ {"bits": [15, 15], "name": "GL1_INV"},
+ {"bits": [16, 16], "name": "GL2_US"},
+ {"bits": [17, 18], "enum_ref": "GCR_GL2_RANGE", "name": "GL2_RANGE"},
+ {"bits": [19, 19], "name": "GL2_DISCARD"},
+ {"bits": [20, 20], "name": "GL2_INV"},
+ {"bits": [21, 21], "name": "GL2_WB"},
+ {"bits": [22, 23], "enum_ref": "GCR_SEQ", "name": "SEQ"},
+ {"bits": [24, 24], "name": "GLK_WB"},
+ {"bits": [25, 26], "name": "CACHE_POLICY"},
+ {"bits": [28, 29], "name": "EXECUTE"},
+ {"bits": [30, 30], "name": "GLK_INV"},
+ {"bits": [31, 31], "name": "PWS_ENABLE"}
+ ]
+ },
+ "ACQUIRE_MEM_PWS_2": {
+ "fields": [
+ {"bits": [11, 13], "enum_ref": "PWS_STAGE_SEL", "name": "PWS_STAGE_SEL"},
+ {"bits": [14, 15], "enum_ref": "PWS_COUNTER_SEL", "name": "PWS_COUNTER_SEL"},
+ {"bits": [17, 17], "name": "PWS_ENA2"},
+ {"bits": [18, 23], "name": "PWS_COUNT"}
+ ]
+ },
+ "ACQUIRE_MEM_PWS_7": {
+ "fields": [
+ {"bits": [31, 31], "name": "PWS_ENA"}
+ ]
}
}
}
More information about the mesa-commit
mailing list