radeonsi: program COMPUTE_STATIC_THREAD_MGMT_SE4..7 on Arcturus
authorMarek Olšák <marek.olsak@amd.com>
Wed, 8 Dec 2021 06:11:21 +0000 (01:11 -0500)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 5 Jan 2022 06:36:10 +0000 (01:36 -0500)
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14122>

src/amd/registers/registers-manually-defined.json
src/gallium/drivers/radeonsi/si_compute.c

index 8ea46f8..c50d33e 100644 (file)
    "type_ref": "SRBM_STATUS3"
   },
   {
+   "chips": ["gfx9"],
+   "map": {"at": 47252, "to": "mm"},
+   "name": "COMPUTE_STATIC_THREAD_MGMT_SE4"
+  },
+  {
+   "chips": ["gfx9"],
+   "map": {"at": 47256, "to": "mm"},
+   "name": "COMPUTE_STATIC_THREAD_MGMT_SE5"
+  },
+  {
+   "chips": ["gfx9"],
+   "map": {"at": 47260, "to": "mm"},
+   "name": "COMPUTE_STATIC_THREAD_MGMT_SE6"
+  },
+  {
+   "chips": ["gfx9"],
+   "map": {"at": 47264, "to": "mm"},
+   "name": "COMPUTE_STATIC_THREAD_MGMT_SE7"
+  },
+  {
    "chips": ["gfx103"],
    "map": {"at": 199052, "to": "mm"},
    "name": "GE_VRS_RATE",
index 7447f79..743f81a 100644 (file)
@@ -426,6 +426,14 @@ void si_emit_initial_compute_regs(struct si_context *sctx, struct radeon_cmdbuf
        (cs != &sctx->gfx_cs || !sctx->screen->info.has_graphics)) {
       radeon_set_uconfig_reg(R_0301EC_CP_COHER_START_DELAY,
                              sctx->chip_class >= GFX10 ? 0x20 : 0);
+
+      if (!info->has_graphics && info->family >= CHIP_ARCTURUS) {
+         radeon_set_sh_reg_seq(R_00B894_COMPUTE_STATIC_THREAD_MGMT_SE4, 4);
+         radeon_emit(S_00B858_SH0_CU_EN(info->spi_cu_en) | S_00B858_SH1_CU_EN(info->spi_cu_en));
+         radeon_emit(S_00B858_SH0_CU_EN(info->spi_cu_en) | S_00B858_SH1_CU_EN(info->spi_cu_en));
+         radeon_emit(S_00B858_SH0_CU_EN(info->spi_cu_en) | S_00B858_SH1_CU_EN(info->spi_cu_en));
+         radeon_emit(S_00B858_SH0_CU_EN(info->spi_cu_en) | S_00B858_SH1_CU_EN(info->spi_cu_en));
+      }
    }
 
    if (sctx->chip_class >= GFX10) {