diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3217-drm-amdgpu-add-define-for-gfx-ras-subblock.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3217-drm-amdgpu-add-define-for-gfx-ras-subblock.patch | 470 |
1 files changed, 470 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3217-drm-amdgpu-add-define-for-gfx-ras-subblock.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3217-drm-amdgpu-add-define-for-gfx-ras-subblock.patch new file mode 100644 index 00000000..ab57e943 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3217-drm-amdgpu-add-define-for-gfx-ras-subblock.patch @@ -0,0 +1,470 @@ +From 915c10e08f420ab049cc46351589a34e886864dc Mon Sep 17 00:00:00 2001 +From: Dennis Li <Dennis.Li@amd.com> +Date: Fri, 19 Jul 2019 15:22:29 +0800 +Subject: [PATCH 3217/4256] drm/amdgpu: add define for gfx ras subblock + +Change-Id: Ib4b019b2bcbe6ef0b85ef170e7cf032bfa400553 +Signed-off-by: Dennis Li <Dennis.Li@amd.com> +Reviewed-by: Tao Zhou <tao.zhou1@amd.com> +Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h | 230 ++++++++++++++++++++++++ + drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 201 +++++++++++++++++++++ + 2 files changed, 431 insertions(+) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h +index 2c86a5135ec9..2765f2dbb1e6 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h +@@ -52,6 +52,236 @@ enum amdgpu_ras_block { + #define AMDGPU_RAS_BLOCK_COUNT AMDGPU_RAS_BLOCK__LAST + #define AMDGPU_RAS_BLOCK_MASK ((1ULL << AMDGPU_RAS_BLOCK_COUNT) - 1) + ++enum amdgpu_ras_gfx_subblock { ++ /* CPC */ ++ AMDGPU_RAS_BLOCK__GFX_CPC_INDEX_START = 0, ++ AMDGPU_RAS_BLOCK__GFX_CPC_SCRATCH = ++ AMDGPU_RAS_BLOCK__GFX_CPC_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_CPC_UCODE, ++ AMDGPU_RAS_BLOCK__GFX_DC_STATE_ME1, ++ AMDGPU_RAS_BLOCK__GFX_DC_CSINVOC_ME1, ++ AMDGPU_RAS_BLOCK__GFX_DC_RESTORE_ME1, ++ AMDGPU_RAS_BLOCK__GFX_DC_STATE_ME2, ++ AMDGPU_RAS_BLOCK__GFX_DC_CSINVOC_ME2, ++ AMDGPU_RAS_BLOCK__GFX_DC_RESTORE_ME2, ++ AMDGPU_RAS_BLOCK__GFX_CPC_INDEX_END = ++ AMDGPU_RAS_BLOCK__GFX_DC_RESTORE_ME2, ++ /* CPF */ ++ AMDGPU_RAS_BLOCK__GFX_CPF_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_CPF_ROQ_ME2 = ++ AMDGPU_RAS_BLOCK__GFX_CPF_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_CPF_ROQ_ME1, ++ AMDGPU_RAS_BLOCK__GFX_CPF_TAG, ++ AMDGPU_RAS_BLOCK__GFX_CPF_INDEX_END = AMDGPU_RAS_BLOCK__GFX_CPF_TAG, ++ /* CPG */ ++ AMDGPU_RAS_BLOCK__GFX_CPG_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_CPG_DMA_ROQ = ++ AMDGPU_RAS_BLOCK__GFX_CPG_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_CPG_DMA_TAG, ++ AMDGPU_RAS_BLOCK__GFX_CPG_TAG, ++ AMDGPU_RAS_BLOCK__GFX_CPG_INDEX_END = AMDGPU_RAS_BLOCK__GFX_CPG_TAG, ++ /* GDS */ ++ AMDGPU_RAS_BLOCK__GFX_GDS_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_GDS_MEM = AMDGPU_RAS_BLOCK__GFX_GDS_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_GDS_INPUT_QUEUE, ++ AMDGPU_RAS_BLOCK__GFX_GDS_OA_PHY_CMD_RAM_MEM, ++ AMDGPU_RAS_BLOCK__GFX_GDS_OA_PHY_DATA_RAM_MEM, ++ AMDGPU_RAS_BLOCK__GFX_GDS_OA_PIPE_MEM, ++ AMDGPU_RAS_BLOCK__GFX_GDS_INDEX_END = ++ AMDGPU_RAS_BLOCK__GFX_GDS_OA_PIPE_MEM, ++ /* SPI */ ++ AMDGPU_RAS_BLOCK__GFX_SPI_SR_MEM, ++ /* SQ */ ++ AMDGPU_RAS_BLOCK__GFX_SQ_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_SQ_SGPR = AMDGPU_RAS_BLOCK__GFX_SQ_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_SQ_LDS_D, ++ AMDGPU_RAS_BLOCK__GFX_SQ_LDS_I, ++ AMDGPU_RAS_BLOCK__GFX_SQ_VGPR, ++ AMDGPU_RAS_BLOCK__GFX_SQ_INDEX_END = AMDGPU_RAS_BLOCK__GFX_SQ_VGPR, ++ /* SQC (3 ranges) */ ++ AMDGPU_RAS_BLOCK__GFX_SQC_INDEX_START, ++ /* SQC range 0 */ ++ AMDGPU_RAS_BLOCK__GFX_SQC_INDEX0_START = ++ AMDGPU_RAS_BLOCK__GFX_SQC_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_SQC_INST_UTCL1_LFIFO = ++ AMDGPU_RAS_BLOCK__GFX_SQC_INDEX0_START, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_CU0_WRITE_DATA_BUF, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_CU0_UTCL1_LFIFO, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_CU1_WRITE_DATA_BUF, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_CU1_UTCL1_LFIFO, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_CU2_WRITE_DATA_BUF, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_CU2_UTCL1_LFIFO, ++ AMDGPU_RAS_BLOCK__GFX_SQC_INDEX0_END = ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_CU2_UTCL1_LFIFO, ++ /* SQC range 1 */ ++ AMDGPU_RAS_BLOCK__GFX_SQC_INDEX1_START, ++ AMDGPU_RAS_BLOCK__GFX_SQC_INST_BANKA_TAG_RAM = ++ AMDGPU_RAS_BLOCK__GFX_SQC_INDEX1_START, ++ AMDGPU_RAS_BLOCK__GFX_SQC_INST_BANKA_UTCL1_MISS_FIFO, ++ AMDGPU_RAS_BLOCK__GFX_SQC_INST_BANKA_MISS_FIFO, ++ AMDGPU_RAS_BLOCK__GFX_SQC_INST_BANKA_BANK_RAM, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_BANKA_TAG_RAM, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_BANKA_HIT_FIFO, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_BANKA_MISS_FIFO, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_BANKA_DIRTY_BIT_RAM, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_BANKA_BANK_RAM, ++ AMDGPU_RAS_BLOCK__GFX_SQC_INDEX1_END = ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_BANKA_BANK_RAM, ++ /* SQC range 2 */ ++ AMDGPU_RAS_BLOCK__GFX_SQC_INDEX2_START, ++ AMDGPU_RAS_BLOCK__GFX_SQC_INST_BANKB_TAG_RAM = ++ AMDGPU_RAS_BLOCK__GFX_SQC_INDEX2_START, ++ AMDGPU_RAS_BLOCK__GFX_SQC_INST_BANKB_UTCL1_MISS_FIFO, ++ AMDGPU_RAS_BLOCK__GFX_SQC_INST_BANKB_MISS_FIFO, ++ AMDGPU_RAS_BLOCK__GFX_SQC_INST_BANKB_BANK_RAM, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_BANKB_TAG_RAM, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_BANKB_HIT_FIFO, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_BANKB_MISS_FIFO, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_BANKB_DIRTY_BIT_RAM, ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_BANKB_BANK_RAM, ++ AMDGPU_RAS_BLOCK__GFX_SQC_INDEX2_END = ++ AMDGPU_RAS_BLOCK__GFX_SQC_DATA_BANKB_BANK_RAM, ++ AMDGPU_RAS_BLOCK__GFX_SQC_INDEX_END = ++ AMDGPU_RAS_BLOCK__GFX_SQC_INDEX2_END, ++ /* TA */ ++ AMDGPU_RAS_BLOCK__GFX_TA_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_TA_FS_DFIFO = ++ AMDGPU_RAS_BLOCK__GFX_TA_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_TA_FS_AFIFO, ++ AMDGPU_RAS_BLOCK__GFX_TA_FL_LFIFO, ++ AMDGPU_RAS_BLOCK__GFX_TA_FX_LFIFO, ++ AMDGPU_RAS_BLOCK__GFX_TA_FS_CFIFO, ++ AMDGPU_RAS_BLOCK__GFX_TA_INDEX_END = AMDGPU_RAS_BLOCK__GFX_TA_FS_CFIFO, ++ /* TCA */ ++ AMDGPU_RAS_BLOCK__GFX_TCA_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_TCA_HOLE_FIFO = ++ AMDGPU_RAS_BLOCK__GFX_TCA_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_TCA_REQ_FIFO, ++ AMDGPU_RAS_BLOCK__GFX_TCA_INDEX_END = ++ AMDGPU_RAS_BLOCK__GFX_TCA_REQ_FIFO, ++ /* TCC (5 sub-ranges) */ ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX_START, ++ /* TCC range 0 */ ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX0_START = ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_TCC_CACHE_DATA = ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX0_START, ++ AMDGPU_RAS_BLOCK__GFX_TCC_CACHE_DATA_BANK_0_1, ++ AMDGPU_RAS_BLOCK__GFX_TCC_CACHE_DATA_BANK_1_0, ++ AMDGPU_RAS_BLOCK__GFX_TCC_CACHE_DATA_BANK_1_1, ++ AMDGPU_RAS_BLOCK__GFX_TCC_CACHE_DIRTY_BANK_0, ++ AMDGPU_RAS_BLOCK__GFX_TCC_CACHE_DIRTY_BANK_1, ++ AMDGPU_RAS_BLOCK__GFX_TCC_HIGH_RATE_TAG, ++ AMDGPU_RAS_BLOCK__GFX_TCC_LOW_RATE_TAG, ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX0_END = ++ AMDGPU_RAS_BLOCK__GFX_TCC_LOW_RATE_TAG, ++ /* TCC range 1 */ ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX1_START, ++ AMDGPU_RAS_BLOCK__GFX_TCC_IN_USE_DEC = ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX1_START, ++ AMDGPU_RAS_BLOCK__GFX_TCC_IN_USE_TRANSFER, ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX1_END = ++ AMDGPU_RAS_BLOCK__GFX_TCC_IN_USE_TRANSFER, ++ /* TCC range 2 */ ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX2_START, ++ AMDGPU_RAS_BLOCK__GFX_TCC_RETURN_DATA = ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX2_START, ++ AMDGPU_RAS_BLOCK__GFX_TCC_RETURN_CONTROL, ++ AMDGPU_RAS_BLOCK__GFX_TCC_UC_ATOMIC_FIFO, ++ AMDGPU_RAS_BLOCK__GFX_TCC_WRITE_RETURN, ++ AMDGPU_RAS_BLOCK__GFX_TCC_WRITE_CACHE_READ, ++ AMDGPU_RAS_BLOCK__GFX_TCC_SRC_FIFO, ++ AMDGPU_RAS_BLOCK__GFX_TCC_SRC_FIFO_NEXT_RAM, ++ AMDGPU_RAS_BLOCK__GFX_TCC_CACHE_TAG_PROBE_FIFO, ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX2_END = ++ AMDGPU_RAS_BLOCK__GFX_TCC_CACHE_TAG_PROBE_FIFO, ++ /* TCC range 3 */ ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX3_START, ++ AMDGPU_RAS_BLOCK__GFX_TCC_LATENCY_FIFO = ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX3_START, ++ AMDGPU_RAS_BLOCK__GFX_TCC_LATENCY_FIFO_NEXT_RAM, ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX3_END = ++ AMDGPU_RAS_BLOCK__GFX_TCC_LATENCY_FIFO_NEXT_RAM, ++ /* TCC range 4 */ ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX4_START, ++ AMDGPU_RAS_BLOCK__GFX_TCC_WRRET_TAG_WRITE_RETURN = ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX4_START, ++ AMDGPU_RAS_BLOCK__GFX_TCC_ATOMIC_RETURN_BUFFER, ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX4_END = ++ AMDGPU_RAS_BLOCK__GFX_TCC_ATOMIC_RETURN_BUFFER, ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX_END = ++ AMDGPU_RAS_BLOCK__GFX_TCC_INDEX4_END, ++ /* TCI */ ++ AMDGPU_RAS_BLOCK__GFX_TCI_WRITE_RAM, ++ /* TCP */ ++ AMDGPU_RAS_BLOCK__GFX_TCP_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_TCP_CACHE_RAM = ++ AMDGPU_RAS_BLOCK__GFX_TCP_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_TCP_LFIFO_RAM, ++ AMDGPU_RAS_BLOCK__GFX_TCP_CMD_FIFO, ++ AMDGPU_RAS_BLOCK__GFX_TCP_VM_FIFO, ++ AMDGPU_RAS_BLOCK__GFX_TCP_DB_RAM, ++ AMDGPU_RAS_BLOCK__GFX_TCP_UTCL1_LFIFO0, ++ AMDGPU_RAS_BLOCK__GFX_TCP_UTCL1_LFIFO1, ++ AMDGPU_RAS_BLOCK__GFX_TCP_INDEX_END = ++ AMDGPU_RAS_BLOCK__GFX_TCP_UTCL1_LFIFO1, ++ /* TD */ ++ AMDGPU_RAS_BLOCK__GFX_TD_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_TD_SS_FIFO_LO = ++ AMDGPU_RAS_BLOCK__GFX_TD_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_TD_SS_FIFO_HI, ++ AMDGPU_RAS_BLOCK__GFX_TD_CS_FIFO, ++ AMDGPU_RAS_BLOCK__GFX_TD_INDEX_END = AMDGPU_RAS_BLOCK__GFX_TD_CS_FIFO, ++ /* EA (3 sub-ranges) */ ++ AMDGPU_RAS_BLOCK__GFX_EA_INDEX_START, ++ /* EA range 0 */ ++ AMDGPU_RAS_BLOCK__GFX_EA_INDEX0_START = ++ AMDGPU_RAS_BLOCK__GFX_EA_INDEX_START, ++ AMDGPU_RAS_BLOCK__GFX_EA_DRAMRD_CMDMEM = ++ AMDGPU_RAS_BLOCK__GFX_EA_INDEX0_START, ++ AMDGPU_RAS_BLOCK__GFX_EA_DRAMWR_CMDMEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_DRAMWR_DATAMEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_RRET_TAGMEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_WRET_TAGMEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_GMIRD_CMDMEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_GMIWR_CMDMEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_GMIWR_DATAMEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_INDEX0_END = ++ AMDGPU_RAS_BLOCK__GFX_EA_GMIWR_DATAMEM, ++ /* EA range 1 */ ++ AMDGPU_RAS_BLOCK__GFX_EA_INDEX1_START, ++ AMDGPU_RAS_BLOCK__GFX_EA_DRAMRD_PAGEMEM = ++ AMDGPU_RAS_BLOCK__GFX_EA_INDEX1_START, ++ AMDGPU_RAS_BLOCK__GFX_EA_DRAMWR_PAGEMEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_IORD_CMDMEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_IOWR_CMDMEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_IOWR_DATAMEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_GMIRD_PAGEMEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_GMIWR_PAGEMEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_INDEX1_END = ++ AMDGPU_RAS_BLOCK__GFX_EA_GMIWR_PAGEMEM, ++ /* EA range 2 */ ++ AMDGPU_RAS_BLOCK__GFX_EA_INDEX2_START, ++ AMDGPU_RAS_BLOCK__GFX_EA_MAM_D0MEM = ++ AMDGPU_RAS_BLOCK__GFX_EA_INDEX2_START, ++ AMDGPU_RAS_BLOCK__GFX_EA_MAM_D1MEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_MAM_D2MEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_MAM_D3MEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_INDEX2_END = ++ AMDGPU_RAS_BLOCK__GFX_EA_MAM_D3MEM, ++ AMDGPU_RAS_BLOCK__GFX_EA_INDEX_END = ++ AMDGPU_RAS_BLOCK__GFX_EA_INDEX2_END, ++ /* UTC VM L2 bank */ ++ AMDGPU_RAS_BLOCK__UTC_VML2_BANK_CACHE, ++ /* UTC VM walker */ ++ AMDGPU_RAS_BLOCK__UTC_VML2_WALKER, ++ /* UTC ATC L2 2MB cache */ ++ AMDGPU_RAS_BLOCK__UTC_ATCL2_CACHE_2M_BANK, ++ /* UTC ATC L2 4KB cache */ ++ AMDGPU_RAS_BLOCK__UTC_ATCL2_CACHE_4K_BANK, ++ AMDGPU_RAS_BLOCK__GFX_MAX ++}; ++ + enum amdgpu_ras_error_type { + AMDGPU_RAS_ERROR__NONE = 0, + AMDGPU_RAS_ERROR__PARITY = 1, +diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +index b6569f221b51..e10bc8749333 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +@@ -117,6 +117,207 @@ MODULE_FIRMWARE("amdgpu/arcturus_rlc.bin"); + #define mmTCP_CHAN_STEER_5_ARCT 0x0b0c + #define mmTCP_CHAN_STEER_5_ARCT_BASE_IDX 0 + ++enum ta_ras_gfx_subblock { ++ /*CPC*/ ++ TA_RAS_BLOCK__GFX_CPC_INDEX_START = 0, ++ TA_RAS_BLOCK__GFX_CPC_SCRATCH = TA_RAS_BLOCK__GFX_CPC_INDEX_START, ++ TA_RAS_BLOCK__GFX_CPC_UCODE, ++ TA_RAS_BLOCK__GFX_DC_STATE_ME1, ++ TA_RAS_BLOCK__GFX_DC_CSINVOC_ME1, ++ TA_RAS_BLOCK__GFX_DC_RESTORE_ME1, ++ TA_RAS_BLOCK__GFX_DC_STATE_ME2, ++ TA_RAS_BLOCK__GFX_DC_CSINVOC_ME2, ++ TA_RAS_BLOCK__GFX_DC_RESTORE_ME2, ++ TA_RAS_BLOCK__GFX_CPC_INDEX_END = TA_RAS_BLOCK__GFX_DC_RESTORE_ME2, ++ /* CPF*/ ++ TA_RAS_BLOCK__GFX_CPF_INDEX_START, ++ TA_RAS_BLOCK__GFX_CPF_ROQ_ME2 = TA_RAS_BLOCK__GFX_CPF_INDEX_START, ++ TA_RAS_BLOCK__GFX_CPF_ROQ_ME1, ++ TA_RAS_BLOCK__GFX_CPF_TAG, ++ TA_RAS_BLOCK__GFX_CPF_INDEX_END = TA_RAS_BLOCK__GFX_CPF_TAG, ++ /* CPG*/ ++ TA_RAS_BLOCK__GFX_CPG_INDEX_START, ++ TA_RAS_BLOCK__GFX_CPG_DMA_ROQ = TA_RAS_BLOCK__GFX_CPG_INDEX_START, ++ TA_RAS_BLOCK__GFX_CPG_DMA_TAG, ++ TA_RAS_BLOCK__GFX_CPG_TAG, ++ TA_RAS_BLOCK__GFX_CPG_INDEX_END = TA_RAS_BLOCK__GFX_CPG_TAG, ++ /* GDS*/ ++ TA_RAS_BLOCK__GFX_GDS_INDEX_START, ++ TA_RAS_BLOCK__GFX_GDS_MEM = TA_RAS_BLOCK__GFX_GDS_INDEX_START, ++ TA_RAS_BLOCK__GFX_GDS_INPUT_QUEUE, ++ TA_RAS_BLOCK__GFX_GDS_OA_PHY_CMD_RAM_MEM, ++ TA_RAS_BLOCK__GFX_GDS_OA_PHY_DATA_RAM_MEM, ++ TA_RAS_BLOCK__GFX_GDS_OA_PIPE_MEM, ++ TA_RAS_BLOCK__GFX_GDS_INDEX_END = TA_RAS_BLOCK__GFX_GDS_OA_PIPE_MEM, ++ /* SPI*/ ++ TA_RAS_BLOCK__GFX_SPI_SR_MEM, ++ /* SQ*/ ++ TA_RAS_BLOCK__GFX_SQ_INDEX_START, ++ TA_RAS_BLOCK__GFX_SQ_SGPR = TA_RAS_BLOCK__GFX_SQ_INDEX_START, ++ TA_RAS_BLOCK__GFX_SQ_LDS_D, ++ TA_RAS_BLOCK__GFX_SQ_LDS_I, ++ TA_RAS_BLOCK__GFX_SQ_VGPR, /* VGPR = SP*/ ++ TA_RAS_BLOCK__GFX_SQ_INDEX_END = TA_RAS_BLOCK__GFX_SQ_VGPR, ++ /* SQC (3 ranges)*/ ++ TA_RAS_BLOCK__GFX_SQC_INDEX_START, ++ /* SQC range 0*/ ++ TA_RAS_BLOCK__GFX_SQC_INDEX0_START = TA_RAS_BLOCK__GFX_SQC_INDEX_START, ++ TA_RAS_BLOCK__GFX_SQC_INST_UTCL1_LFIFO = ++ TA_RAS_BLOCK__GFX_SQC_INDEX0_START, ++ TA_RAS_BLOCK__GFX_SQC_DATA_CU0_WRITE_DATA_BUF, ++ TA_RAS_BLOCK__GFX_SQC_DATA_CU0_UTCL1_LFIFO, ++ TA_RAS_BLOCK__GFX_SQC_DATA_CU1_WRITE_DATA_BUF, ++ TA_RAS_BLOCK__GFX_SQC_DATA_CU1_UTCL1_LFIFO, ++ TA_RAS_BLOCK__GFX_SQC_DATA_CU2_WRITE_DATA_BUF, ++ TA_RAS_BLOCK__GFX_SQC_DATA_CU2_UTCL1_LFIFO, ++ TA_RAS_BLOCK__GFX_SQC_INDEX0_END = ++ TA_RAS_BLOCK__GFX_SQC_DATA_CU2_UTCL1_LFIFO, ++ /* SQC range 1*/ ++ TA_RAS_BLOCK__GFX_SQC_INDEX1_START, ++ TA_RAS_BLOCK__GFX_SQC_INST_BANKA_TAG_RAM = ++ TA_RAS_BLOCK__GFX_SQC_INDEX1_START, ++ TA_RAS_BLOCK__GFX_SQC_INST_BANKA_UTCL1_MISS_FIFO, ++ TA_RAS_BLOCK__GFX_SQC_INST_BANKA_MISS_FIFO, ++ TA_RAS_BLOCK__GFX_SQC_INST_BANKA_BANK_RAM, ++ TA_RAS_BLOCK__GFX_SQC_DATA_BANKA_TAG_RAM, ++ TA_RAS_BLOCK__GFX_SQC_DATA_BANKA_HIT_FIFO, ++ TA_RAS_BLOCK__GFX_SQC_DATA_BANKA_MISS_FIFO, ++ TA_RAS_BLOCK__GFX_SQC_DATA_BANKA_DIRTY_BIT_RAM, ++ TA_RAS_BLOCK__GFX_SQC_DATA_BANKA_BANK_RAM, ++ TA_RAS_BLOCK__GFX_SQC_INDEX1_END = ++ TA_RAS_BLOCK__GFX_SQC_DATA_BANKA_BANK_RAM, ++ /* SQC range 2*/ ++ TA_RAS_BLOCK__GFX_SQC_INDEX2_START, ++ TA_RAS_BLOCK__GFX_SQC_INST_BANKB_TAG_RAM = ++ TA_RAS_BLOCK__GFX_SQC_INDEX2_START, ++ TA_RAS_BLOCK__GFX_SQC_INST_BANKB_UTCL1_MISS_FIFO, ++ TA_RAS_BLOCK__GFX_SQC_INST_BANKB_MISS_FIFO, ++ TA_RAS_BLOCK__GFX_SQC_INST_BANKB_BANK_RAM, ++ TA_RAS_BLOCK__GFX_SQC_DATA_BANKB_TAG_RAM, ++ TA_RAS_BLOCK__GFX_SQC_DATA_BANKB_HIT_FIFO, ++ TA_RAS_BLOCK__GFX_SQC_DATA_BANKB_MISS_FIFO, ++ TA_RAS_BLOCK__GFX_SQC_DATA_BANKB_DIRTY_BIT_RAM, ++ TA_RAS_BLOCK__GFX_SQC_DATA_BANKB_BANK_RAM, ++ TA_RAS_BLOCK__GFX_SQC_INDEX2_END = ++ TA_RAS_BLOCK__GFX_SQC_DATA_BANKB_BANK_RAM, ++ TA_RAS_BLOCK__GFX_SQC_INDEX_END = TA_RAS_BLOCK__GFX_SQC_INDEX2_END, ++ /* TA*/ ++ TA_RAS_BLOCK__GFX_TA_INDEX_START, ++ TA_RAS_BLOCK__GFX_TA_FS_DFIFO = TA_RAS_BLOCK__GFX_TA_INDEX_START, ++ TA_RAS_BLOCK__GFX_TA_FS_AFIFO, ++ TA_RAS_BLOCK__GFX_TA_FL_LFIFO, ++ TA_RAS_BLOCK__GFX_TA_FX_LFIFO, ++ TA_RAS_BLOCK__GFX_TA_FS_CFIFO, ++ TA_RAS_BLOCK__GFX_TA_INDEX_END = TA_RAS_BLOCK__GFX_TA_FS_CFIFO, ++ /* TCA*/ ++ TA_RAS_BLOCK__GFX_TCA_INDEX_START, ++ TA_RAS_BLOCK__GFX_TCA_HOLE_FIFO = TA_RAS_BLOCK__GFX_TCA_INDEX_START, ++ TA_RAS_BLOCK__GFX_TCA_REQ_FIFO, ++ TA_RAS_BLOCK__GFX_TCA_INDEX_END = TA_RAS_BLOCK__GFX_TCA_REQ_FIFO, ++ /* TCC (5 sub-ranges)*/ ++ TA_RAS_BLOCK__GFX_TCC_INDEX_START, ++ /* TCC range 0*/ ++ TA_RAS_BLOCK__GFX_TCC_INDEX0_START = TA_RAS_BLOCK__GFX_TCC_INDEX_START, ++ TA_RAS_BLOCK__GFX_TCC_CACHE_DATA = TA_RAS_BLOCK__GFX_TCC_INDEX0_START, ++ TA_RAS_BLOCK__GFX_TCC_CACHE_DATA_BANK_0_1, ++ TA_RAS_BLOCK__GFX_TCC_CACHE_DATA_BANK_1_0, ++ TA_RAS_BLOCK__GFX_TCC_CACHE_DATA_BANK_1_1, ++ TA_RAS_BLOCK__GFX_TCC_CACHE_DIRTY_BANK_0, ++ TA_RAS_BLOCK__GFX_TCC_CACHE_DIRTY_BANK_1, ++ TA_RAS_BLOCK__GFX_TCC_HIGH_RATE_TAG, ++ TA_RAS_BLOCK__GFX_TCC_LOW_RATE_TAG, ++ TA_RAS_BLOCK__GFX_TCC_INDEX0_END = TA_RAS_BLOCK__GFX_TCC_LOW_RATE_TAG, ++ /* TCC range 1*/ ++ TA_RAS_BLOCK__GFX_TCC_INDEX1_START, ++ TA_RAS_BLOCK__GFX_TCC_IN_USE_DEC = TA_RAS_BLOCK__GFX_TCC_INDEX1_START, ++ TA_RAS_BLOCK__GFX_TCC_IN_USE_TRANSFER, ++ TA_RAS_BLOCK__GFX_TCC_INDEX1_END = ++ TA_RAS_BLOCK__GFX_TCC_IN_USE_TRANSFER, ++ /* TCC range 2*/ ++ TA_RAS_BLOCK__GFX_TCC_INDEX2_START, ++ TA_RAS_BLOCK__GFX_TCC_RETURN_DATA = TA_RAS_BLOCK__GFX_TCC_INDEX2_START, ++ TA_RAS_BLOCK__GFX_TCC_RETURN_CONTROL, ++ TA_RAS_BLOCK__GFX_TCC_UC_ATOMIC_FIFO, ++ TA_RAS_BLOCK__GFX_TCC_WRITE_RETURN, ++ TA_RAS_BLOCK__GFX_TCC_WRITE_CACHE_READ, ++ TA_RAS_BLOCK__GFX_TCC_SRC_FIFO, ++ TA_RAS_BLOCK__GFX_TCC_SRC_FIFO_NEXT_RAM, ++ TA_RAS_BLOCK__GFX_TCC_CACHE_TAG_PROBE_FIFO, ++ TA_RAS_BLOCK__GFX_TCC_INDEX2_END = ++ TA_RAS_BLOCK__GFX_TCC_CACHE_TAG_PROBE_FIFO, ++ /* TCC range 3*/ ++ TA_RAS_BLOCK__GFX_TCC_INDEX3_START, ++ TA_RAS_BLOCK__GFX_TCC_LATENCY_FIFO = TA_RAS_BLOCK__GFX_TCC_INDEX3_START, ++ TA_RAS_BLOCK__GFX_TCC_LATENCY_FIFO_NEXT_RAM, ++ TA_RAS_BLOCK__GFX_TCC_INDEX3_END = ++ TA_RAS_BLOCK__GFX_TCC_LATENCY_FIFO_NEXT_RAM, ++ /* TCC range 4*/ ++ TA_RAS_BLOCK__GFX_TCC_INDEX4_START, ++ TA_RAS_BLOCK__GFX_TCC_WRRET_TAG_WRITE_RETURN = ++ TA_RAS_BLOCK__GFX_TCC_INDEX4_START, ++ TA_RAS_BLOCK__GFX_TCC_ATOMIC_RETURN_BUFFER, ++ TA_RAS_BLOCK__GFX_TCC_INDEX4_END = ++ TA_RAS_BLOCK__GFX_TCC_ATOMIC_RETURN_BUFFER, ++ TA_RAS_BLOCK__GFX_TCC_INDEX_END = TA_RAS_BLOCK__GFX_TCC_INDEX4_END, ++ /* TCI*/ ++ TA_RAS_BLOCK__GFX_TCI_WRITE_RAM, ++ /* TCP*/ ++ TA_RAS_BLOCK__GFX_TCP_INDEX_START, ++ TA_RAS_BLOCK__GFX_TCP_CACHE_RAM = TA_RAS_BLOCK__GFX_TCP_INDEX_START, ++ TA_RAS_BLOCK__GFX_TCP_LFIFO_RAM, ++ TA_RAS_BLOCK__GFX_TCP_CMD_FIFO, ++ TA_RAS_BLOCK__GFX_TCP_VM_FIFO, ++ TA_RAS_BLOCK__GFX_TCP_DB_RAM, ++ TA_RAS_BLOCK__GFX_TCP_UTCL1_LFIFO0, ++ TA_RAS_BLOCK__GFX_TCP_UTCL1_LFIFO1, ++ TA_RAS_BLOCK__GFX_TCP_INDEX_END = TA_RAS_BLOCK__GFX_TCP_UTCL1_LFIFO1, ++ /* TD*/ ++ TA_RAS_BLOCK__GFX_TD_INDEX_START, ++ TA_RAS_BLOCK__GFX_TD_SS_FIFO_LO = TA_RAS_BLOCK__GFX_TD_INDEX_START, ++ TA_RAS_BLOCK__GFX_TD_SS_FIFO_HI, ++ TA_RAS_BLOCK__GFX_TD_CS_FIFO, ++ TA_RAS_BLOCK__GFX_TD_INDEX_END = TA_RAS_BLOCK__GFX_TD_CS_FIFO, ++ /* EA (3 sub-ranges)*/ ++ TA_RAS_BLOCK__GFX_EA_INDEX_START, ++ /* EA range 0*/ ++ TA_RAS_BLOCK__GFX_EA_INDEX0_START = TA_RAS_BLOCK__GFX_EA_INDEX_START, ++ TA_RAS_BLOCK__GFX_EA_DRAMRD_CMDMEM = TA_RAS_BLOCK__GFX_EA_INDEX0_START, ++ TA_RAS_BLOCK__GFX_EA_DRAMWR_CMDMEM, ++ TA_RAS_BLOCK__GFX_EA_DRAMWR_DATAMEM, ++ TA_RAS_BLOCK__GFX_EA_RRET_TAGMEM, ++ TA_RAS_BLOCK__GFX_EA_WRET_TAGMEM, ++ TA_RAS_BLOCK__GFX_EA_GMIRD_CMDMEM, ++ TA_RAS_BLOCK__GFX_EA_GMIWR_CMDMEM, ++ TA_RAS_BLOCK__GFX_EA_GMIWR_DATAMEM, ++ TA_RAS_BLOCK__GFX_EA_INDEX0_END = TA_RAS_BLOCK__GFX_EA_GMIWR_DATAMEM, ++ /* EA range 1*/ ++ TA_RAS_BLOCK__GFX_EA_INDEX1_START, ++ TA_RAS_BLOCK__GFX_EA_DRAMRD_PAGEMEM = TA_RAS_BLOCK__GFX_EA_INDEX1_START, ++ TA_RAS_BLOCK__GFX_EA_DRAMWR_PAGEMEM, ++ TA_RAS_BLOCK__GFX_EA_IORD_CMDMEM, ++ TA_RAS_BLOCK__GFX_EA_IOWR_CMDMEM, ++ TA_RAS_BLOCK__GFX_EA_IOWR_DATAMEM, ++ TA_RAS_BLOCK__GFX_EA_GMIRD_PAGEMEM, ++ TA_RAS_BLOCK__GFX_EA_GMIWR_PAGEMEM, ++ TA_RAS_BLOCK__GFX_EA_INDEX1_END = TA_RAS_BLOCK__GFX_EA_GMIWR_PAGEMEM, ++ /* EA range 2*/ ++ TA_RAS_BLOCK__GFX_EA_INDEX2_START, ++ TA_RAS_BLOCK__GFX_EA_MAM_D0MEM = TA_RAS_BLOCK__GFX_EA_INDEX2_START, ++ TA_RAS_BLOCK__GFX_EA_MAM_D1MEM, ++ TA_RAS_BLOCK__GFX_EA_MAM_D2MEM, ++ TA_RAS_BLOCK__GFX_EA_MAM_D3MEM, ++ TA_RAS_BLOCK__GFX_EA_INDEX2_END = TA_RAS_BLOCK__GFX_EA_MAM_D3MEM, ++ TA_RAS_BLOCK__GFX_EA_INDEX_END = TA_RAS_BLOCK__GFX_EA_INDEX2_END, ++ /* UTC VM L2 bank*/ ++ TA_RAS_BLOCK__UTC_VML2_BANK_CACHE, ++ /* UTC VM walker*/ ++ TA_RAS_BLOCK__UTC_VML2_WALKER, ++ /* UTC ATC L2 2MB cache*/ ++ TA_RAS_BLOCK__UTC_ATCL2_CACHE_2M_BANK, ++ /* UTC ATC L2 4KB cache*/ ++ TA_RAS_BLOCK__UTC_ATCL2_CACHE_4K_BANK, ++ TA_RAS_BLOCK__GFX_MAX ++}; + static const struct soc15_reg_golden golden_settings_gc_9_0[] = + { + SOC15_REG_GOLDEN_VALUE(GC, 0, mmDB_DEBUG2, 0xf00fffff, 0x00000400), +-- +2.17.1 + |