#define SI_SH_REG_OFFSET 0x0000B000
#define SI_SH_REG_END 0x0000C000
#define SI_CONTEXT_REG_OFFSET 0x00028000
-#define SI_CONTEXT_REG_END 0x00029000
+#define SI_CONTEXT_REG_END 0x00030000
#define CIK_UCONFIG_REG_OFFSET 0x00030000
-#define CIK_UCONFIG_REG_END 0x00038000
+#define CIK_UCONFIG_REG_END 0x00040000
+
#define EVENT_TYPE_CACHE_FLUSH 0x6
#define EVENT_TYPE_PS_PARTIAL_FLUSH 0x10
#define PKT3_INDEX_BASE 0x26
#define PKT3_DRAW_INDEX_2 0x27
#define PKT3_CONTEXT_CONTROL 0x28
-#define CONTEXT_CONTROL_LOAD_ENABLE(x) (((unsigned)(x) & 0x1) << 31)
-#define CONTEXT_CONTROL_LOAD_CE_RAM(x) (((unsigned)(x) & 0x1) << 28)
-#define CONTEXT_CONTROL_SHADOW_ENABLE(x) (((unsigned)(x) & 0x1) << 31)
+#define CC0_LOAD_GLOBAL_CONFIG(x) (((unsigned)(x) & 0x1) << 0)
+#define CC0_LOAD_PER_CONTEXT_STATE(x) (((unsigned)(x) & 0x1) << 1)
+#define CC0_LOAD_GLOBAL_UCONFIG(x) (((unsigned)(x) & 0x1) << 15)
+#define CC0_LOAD_GFX_SH_REGS(x) (((unsigned)(x) & 0x1) << 16)
+#define CC0_LOAD_CS_SH_REGS(x) (((unsigned)(x) & 0x1) << 24)
+#define CC0_LOAD_CE_RAM(x) (((unsigned)(x) & 0x1) << 28)
+#define CC0_UPDATE_LOAD_ENABLES(x) (((unsigned)(x) & 0x1) << 31)
+#define CC1_SHADOW_GLOBAL_CONFIG(x) (((unsigned)(x) & 0x1) << 0)
+#define CC1_SHADOW_PER_CONTEXT_STATE(x) (((unsigned)(x) & 0x1) << 1)
+#define CC1_SHADOW_GLOBAL_UCONFIG(x) (((unsigned)(x) & 0x1) << 15)
+#define CC1_SHADOW_GFX_SH_REGS(x) (((unsigned)(x) & 0x1) << 16)
+#define CC1_SHADOW_CS_SH_REGS(x) (((unsigned)(x) & 0x1) << 24)
+#define CC1_UPDATE_SHADOW_ENABLES(x) (((unsigned)(x) & 0x1) << 31)
#define PKT3_INDEX_TYPE 0x2A /* not on GFX9 */
#define PKT3_DRAW_INDIRECT_MULTI 0x2C
#define R_2C3_DRAW_INDEX_LOC 0x2C3
#define PKT3_ONE_REG_WRITE 0x57 /* not on CIK */
#define PKT3_ACQUIRE_MEM 0x58 /* new for CIK */
#define PKT3_REWIND 0x59 /* VI+ [any ring] or CIK [compute ring only] */
+#define PKT3_LOAD_UCONFIG_REG 0x5E /* GFX7+ */
+#define PKT3_LOAD_SH_REG 0x5F
+#define PKT3_LOAD_CONTEXT_REG 0x61
#define PKT3_SET_CONFIG_REG 0x68
#define PKT3_SET_CONTEXT_REG 0x69
#define PKT3_SET_SH_REG 0x76
#define PKT3_INCREMENT_DE_COUNTER 0x85
#define PKT3_WAIT_ON_CE_COUNTER 0x86
#define PKT3_SET_SH_REG_INDEX 0x9B
-#define PKT3_LOAD_CONTEXT_REG 0x9F /* new for VI */
+#define PKT3_LOAD_CONTEXT_REG_INDEX 0x9F /* new for VI */
#define PKT_TYPE_S(x) (((unsigned)(x) & 0x3) << 30)
#define PKT_TYPE_G(x) (((x) >> 30) & 0x3)
{
"chips": ["gfx10"],
"map": {"at": 47248, "to": "mm"},
- "name": "COMPUTE_PREF_PRI_ACCUM_0",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "COMPUTE_USER_ACCUM_0",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 47252, "to": "mm"},
- "name": "COMPUTE_PREF_PRI_ACCUM_1",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "COMPUTE_USER_ACCUM_1",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 47256, "to": "mm"},
- "name": "COMPUTE_PREF_PRI_ACCUM_2",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "COMPUTE_USER_ACCUM_2",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 47260, "to": "mm"},
- "name": "COMPUTE_PREF_PRI_ACCUM_3",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "COMPUTE_USER_ACCUM_3",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
{
"chips": ["gfx10"],
"map": {"at": 45768, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_ESGS_0",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_ESGS_0",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 45772, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_ESGS_1",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_ESGS_1",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 45776, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_ESGS_2",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_ESGS_2",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 45780, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_ESGS_3",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_ESGS_3",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 46280, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_LSHS_0",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_LSHS_0",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 46284, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_LSHS_1",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_LSHS_1",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 46288, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_LSHS_2",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_LSHS_2",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 46292, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_LSHS_3",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_LSHS_3",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 45256, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_PS_0",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_PS_0",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 45260, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_PS_1",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_PS_1",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 45264, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_PS_2",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_PS_2",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 45268, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_PS_3",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_PS_3",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 45512, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_VS_0",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_VS_0",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 45516, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_VS_1",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_VS_1",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 45520, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_VS_2",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_VS_2",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
"map": {"at": 45524, "to": "mm"},
- "name": "SPI_SHADER_PREF_PRI_ACCUM_VS_3",
- "type_ref": "COMPUTE_PREF_PRI_ACCUM_0"
+ "name": "SPI_SHADER_USER_ACCUM_VS_3",
+ "type_ref": "COMPUTE_USER_ACCUM_0"
},
{
"chips": ["gfx10"],
{"bits": [0, 0], "name": "PIPELINESTAT_ENABLE"}
]
},
- "COMPUTE_PREF_PRI_ACCUM_0": {
+ "COMPUTE_USER_ACCUM_0": {
"fields": [
- {"bits": [0, 2], "name": "COEFFICIENT_HIER_SELECT"},
- {"bits": [3, 5], "name": "CONTRIBUTION_HIER_SELECT"},
- {"bits": [6, 6], "name": "GROUP_UPDATE_EN"},
- {"bits": [7, 7], "name": "RESERVED"},
- {"bits": [8, 15], "name": "COEFFICIENT"},
- {"bits": [16, 23], "name": "CONTRIBUTION"}
+ {"bits": [0, 6], "name": "CONTRIBUTION"}
]
},
"COMPUTE_PREF_PRI_CNTR_CTRL": {