evergreend.h revision 60a4a3e0ce0b575e8b4cb6bf39d2c40e403bdfc7
10fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher/* 20fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * Copyright 2010 Advanced Micro Devices, Inc. 30fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * 40fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * Permission is hereby granted, free of charge, to any person obtaining a 50fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * copy of this software and associated documentation files (the "Software"), 60fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * to deal in the Software without restriction, including without limitation 70fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * the rights to use, copy, modify, merge, publish, distribute, sublicense, 80fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * and/or sell copies of the Software, and to permit persons to whom the 90fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * Software is furnished to do so, subject to the following conditions: 100fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * 110fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * The above copyright notice and this permission notice shall be included in 120fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * all copies or substantial portions of the Software. 130fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * 140fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 150fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 160fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 170fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 180fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 190fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 200fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * OTHER DEALINGS IN THE SOFTWARE. 210fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * 220fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher * Authors: Alex Deucher 230fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher */ 240fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#ifndef EVERGREEND_H 250fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EVERGREEND_H 260fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define EVERGREEN_MAX_SH_GPRS 256 2832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define EVERGREEN_MAX_TEMP_GPRS 16 2932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define EVERGREEN_MAX_SH_THREADS 256 3032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define EVERGREEN_MAX_SH_STACK_ENTRIES 4096 3132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define EVERGREEN_MAX_FRC_EOV_CNT 16384 3232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define EVERGREEN_MAX_BACKENDS 8 3332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define EVERGREEN_MAX_BACKENDS_MASK 0xFF 3432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define EVERGREEN_MAX_SIMDS 16 3532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define EVERGREEN_MAX_SIMDS_MASK 0xFFFF 3632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define EVERGREEN_MAX_PIPES 8 3732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define EVERGREEN_MAX_PIPES_MASK 0xFF 3832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define EVERGREEN_MAX_LDS_NUM 0xFFFF 3932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher 400fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher/* Registers */ 410fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 4232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define RCU_IND_INDEX 0x100 4332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define RCU_IND_DATA 0x104 4432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher 4532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define GRBM_GFX_INDEX 0x802C 4632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define INSTANCE_INDEX(x) ((x) << 0) 4732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SE_INDEX(x) ((x) << 16) 4832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define INSTANCE_BROADCAST_WRITES (1 << 30) 4932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SE_BROADCAST_WRITES (1 << 31) 5032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define RLC_GFX_INDEX 0x3fC4 5132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CC_GC_SHADER_PIPE_CONFIG 0x8950 5232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define WRITE_DIS (1 << 0) 5332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CC_RB_BACKEND_DISABLE 0x98F4 5432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define BACKEND_DISABLE(x) ((x) << 16) 5532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define GB_ADDR_CONFIG 0x98F8 5632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_PIPES(x) ((x) << 0) 5732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define PIPE_INTERLEAVE_SIZE(x) ((x) << 4) 5832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define BANK_INTERLEAVE_SIZE(x) ((x) << 8) 5932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_SHADER_ENGINES(x) ((x) << 12) 6032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SHADER_ENGINE_TILE_SIZE(x) ((x) << 16) 6132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_GPUS(x) ((x) << 20) 6232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define MULTI_GPU_TILE_SIZE(x) ((x) << 24) 6332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define ROW_SIZE(x) ((x) << 28) 6432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define GB_BACKEND_MAP 0x98FC 6532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define DMIF_ADDR_CONFIG 0xBD4 6632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define HDP_ADDR_CONFIG 0x2F48 6732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher 680fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CC_SYS_RB_BACKEND_DISABLE 0x3F88 6932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define GC_USER_RB_BACKEND_DISABLE 0x9B7C 700fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 710fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CGTS_SYS_TCC_DISABLE 0x3F90 720fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CGTS_TCC_DISABLE 0x9148 730fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CGTS_USER_SYS_TCC_DISABLE 0x3F94 740fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CGTS_USER_TCC_DISABLE 0x914C 750fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 760fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CONFIG_MEMSIZE 0x5428 770fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 7832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CP_ME_CNTL 0x86D8 7932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CP_ME_HALT (1 << 28) 8032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CP_PFP_HALT (1 << 26) 810fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_ME_RAM_DATA 0xC160 820fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_ME_RAM_RADDR 0xC158 830fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_ME_RAM_WADDR 0xC15C 840fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_MEQ_THRESHOLDS 0x8764 850fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define STQ_SPLIT(x) ((x) << 0) 860fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_PERFMON_CNTL 0x87FC 870fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_PFP_UCODE_ADDR 0xC150 880fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_PFP_UCODE_DATA 0xC154 890fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_QUEUE_THRESHOLDS 0x8760 900fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ROQ_IB1_START(x) ((x) << 0) 910fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ROQ_IB2_START(x) ((x) << 8) 92fe251e2fffa1ebc17c8e6e895b0374ae4e732fa5Alex Deucher#define CP_RB_BASE 0xC100 930fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_CNTL 0xC104 9432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define RB_BUFSZ(x) ((x) << 0) 9532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define RB_BLKSZ(x) ((x) << 8) 9632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define RB_NO_UPDATE (1 << 27) 9732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define RB_RPTR_WR_ENA (1 << 31) 980fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BUF_SWAP_32BIT (2 << 16) 990fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_RPTR 0x8700 1000fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_RPTR_ADDR 0xC10C 1010fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_RPTR_ADDR_HI 0xC110 1020fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_RPTR_WR 0xC108 1030fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_WPTR 0xC114 1040fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_WPTR_ADDR 0xC118 1050fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_WPTR_ADDR_HI 0xC11C 1060fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_WPTR_DELAY 0x8704 1070fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_SEM_WAIT_TIMER 0x85BC 108fe251e2fffa1ebc17c8e6e895b0374ae4e732fa5Alex Deucher#define CP_DEBUG 0xC1FC 1090fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1100fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1110fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GC_USER_SHADER_PIPE_CONFIG 0x8954 1120fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INACTIVE_QD_PIPES(x) ((x) << 8) 1130fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INACTIVE_QD_PIPES_MASK 0x0000FF00 1140fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INACTIVE_SIMDS(x) ((x) << 16) 1150fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INACTIVE_SIMDS_MASK 0x00FF0000 1160fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1170fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GRBM_CNTL 0x8000 1180fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GRBM_READ_TIMEOUT(x) ((x) << 0) 1190fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GRBM_SOFT_RESET 0x8020 120747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_CP (1 << 0) 121747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_CB (1 << 1) 122747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_DB (1 << 3) 123747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_PA (1 << 5) 124747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SC (1 << 6) 125747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SPI (1 << 8) 126747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SH (1 << 9) 127747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SX (1 << 10) 128747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_TC (1 << 11) 129747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_TA (1 << 12) 130747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_VC (1 << 13) 131747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_VGT (1 << 14) 132747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher 1330fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GRBM_STATUS 0x8010 1340fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CMDFIFO_AVAIL_MASK 0x0000000F 135747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SRBM_RQ_PENDING (1 << 5) 136747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define CF_RQ_PENDING (1 << 7) 137747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define PF_RQ_PENDING (1 << 8) 138747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define GRBM_EE_BUSY (1 << 10) 139747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SX_CLEAN (1 << 11) 140747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define DB_CLEAN (1 << 12) 141747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define CB_CLEAN (1 << 13) 142747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define TA_BUSY (1 << 14) 143747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define VGT_BUSY_NO_DMA (1 << 16) 144747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define VGT_BUSY (1 << 17) 145747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SX_BUSY (1 << 20) 146747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SH_BUSY (1 << 21) 147747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SPI_BUSY (1 << 22) 148747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SC_BUSY (1 << 24) 149747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define PA_BUSY (1 << 25) 150747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define DB_BUSY (1 << 26) 151747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define CP_COHERENCY_BUSY (1 << 28) 152747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define CP_BUSY (1 << 29) 153747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define CB_BUSY (1 << 30) 154747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define GUI_ACTIVE (1 << 31) 155747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define GRBM_STATUS_SE0 0x8014 156747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define GRBM_STATUS_SE1 0x8018 157747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_SX_CLEAN (1 << 0) 158747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_DB_CLEAN (1 << 1) 159747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_CB_CLEAN (1 << 2) 160747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_TA_BUSY (1 << 25) 161747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_SX_BUSY (1 << 26) 162747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_SPI_BUSY (1 << 27) 163747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_SH_BUSY (1 << 28) 164747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_SC_BUSY (1 << 29) 165747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_DB_BUSY (1 << 30) 166747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_CB_BUSY (1 << 31) 1670fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1680fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_HOST_PATH_CNTL 0x2C00 1690fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_NONSURFACE_BASE 0x2C04 1700fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_NONSURFACE_INFO 0x2C08 1710fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_NONSURFACE_SIZE 0x2C0C 1720fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_REG_COHERENCY_FLUSH_CNTL 0x54A0 1730fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_TILING_CONFIG 0x2F3C 1740fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1750fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_SHARED_CHMAP 0x2004 1760fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCHAN_SHIFT 12 1770fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCHAN_MASK 0x00003000 1780fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1790fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_ARB_RAMCFG 0x2760 1800fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFBANK_SHIFT 0 1810fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFBANK_MASK 0x00000003 1820fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFRANK_SHIFT 2 1830fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFRANK_MASK 0x00000004 1840fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFROWS_SHIFT 3 1850fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFROWS_MASK 0x00000038 1860fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCOLS_SHIFT 6 1870fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCOLS_MASK 0x000000C0 1880fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CHANSIZE_SHIFT 8 1890fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CHANSIZE_MASK 0x00000100 1900fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BURSTLENGTH_SHIFT 9 1910fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BURSTLENGTH_MASK 0x00000200 1920fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CHANSIZE_OVERRIDE (1 << 11) 1930fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_AGP_TOP 0x2028 1940fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_AGP_BOT 0x202C 1950fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_AGP_BASE 0x2030 1960fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_FB_LOCATION 0x2024 1970fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB0_CNTL 0x2234 1980fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB1_CNTL 0x2238 1990fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB2_CNTL 0x223C 2000fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB3_CNTL 0x2240 2010fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L1_TLB (1 << 0) 2020fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L1_FRAGMENT_PROCESSING (1 << 1) 2030fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_PA_ONLY (0 << 3) 2040fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_USE_SYS_MAP (1 << 3) 2050fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_IN_SYS (2 << 3) 2060fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_NOT_IN_SYS (3 << 3) 2070fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_APERTURE_UNMAPPED_ACCESS_PASS_THRU (0 << 5) 2080fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EFFECTIVE_L1_TLB_SIZE(x) ((x)<<15) 2090fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EFFECTIVE_L1_QUEUE_SIZE(x) ((x)<<18) 2100fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MD_L1_TLB0_CNTL 0x2654 2110fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MD_L1_TLB1_CNTL 0x2658 2120fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MD_L1_TLB2_CNTL 0x265C 2130fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR 0x203C 2140fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_SYSTEM_APERTURE_HIGH_ADDR 0x2038 2150fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_SYSTEM_APERTURE_LOW_ADDR 0x2034 2160fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2170fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_CL_ENHANCE 0x8A14 2180fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CLIP_VTX_REORDER_ENA (1 << 0) 2190fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_CLIP_SEQ(x) ((x) << 1) 2200fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_AA_CONFIG 0x28C04 221cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define MSAA_NUM_SAMPLES_SHIFT 0 222cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define MSAA_NUM_SAMPLES_MASK 0x3 2230fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_CLIPRECT_RULE 0x2820C 2240fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_EDGERULE 0x28230 2250fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_FIFO_SIZE 0x8BCC 2260fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SC_PRIM_FIFO_SIZE(x) ((x) << 0) 2270fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SC_HIZ_TILE_FIFO_SIZE(x) ((x) << 12) 22832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SC_EARLYZ_TILE_FIFO_SIZE(x) ((x) << 20) 2290fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_FORCE_EOV_MAX_CNTS 0x8B24 23032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define FORCE_EOV_MAX_CLK_CNT(x) ((x) << 0) 23132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define FORCE_EOV_MAX_REZ_CNT(x) ((x) << 16) 2320fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_LINE_STIPPLE 0x28A0C 2330fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_LINE_STIPPLE_STATE 0x8B10 2340fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2350fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG0 0x8500 2360fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG1 0x8504 2370fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG2 0x8508 2380fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG3 0x850C 2390fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG4 0x8510 2400fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG5 0x8514 2410fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG6 0x8518 2420fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG7 0x851C 2430fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_UMSK 0x8540 2440fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_ADDR 0x8544 2450fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2460fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SMX_DC_CTL0 0xA020 2470fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define USE_HASH_FUNCTION (1 << 0) 24832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUMBER_OF_SETS(x) ((x) << 1) 2490fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define FLUSH_ALL_ON_EVENT (1 << 10) 2500fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define STALL_ON_EVENT (1 << 11) 2510fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SMX_EVENT_CTL 0xA02C 2520fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ES_FLUSH_CTL(x) ((x) << 0) 2530fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GS_FLUSH_CTL(x) ((x) << 3) 2540fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ACK_FLUSH_CTL(x) ((x) << 6) 2550fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_FLUSH_CTL (1 << 8) 2560fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2570fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_CONFIG_CNTL 0x9100 2580fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GPR_WRITE_PRIORITY(x) ((x) << 0) 2590fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_CONFIG_CNTL_1 0x913C 2600fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VTX_DONE_DELAY(x) ((x) << 0) 2610fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INTERP_ONE_PRIM_PER_ROW (1 << 4) 2620fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_INPUT_Z 0x286D8 2630fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_PS_IN_CONTROL_0 0x286CC 2640fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_INTERP(x) ((x)<<0) 2650fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_ENA (1<<8) 2660fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_CENTROID (1<<9) 2670fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_ADDR(x) ((x)<<10) 2680fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PARAM_GEN(x) ((x)<<15) 2690fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PARAM_GEN_ADDR(x) ((x)<<19) 2700fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BARYC_SAMPLE_CNTL(x) ((x)<<26) 2710fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PERSP_GRADIENT_ENA (1<<28) 2720fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define LINEAR_GRADIENT_ENA (1<<29) 2730fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_SAMPLE (1<<30) 2740fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BARYC_AT_SAMPLE_ENA (1<<31) 2750fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2760fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_CONFIG 0x8C00 2770fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VC_ENABLE (1 << 0) 2780fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EXPORT_SRC_C (1 << 1) 27932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CS_PRIO(x) ((x) << 18) 28032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define LS_PRIO(x) ((x) << 20) 28132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define HS_PRIO(x) ((x) << 22) 28232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define PS_PRIO(x) ((x) << 24) 28332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define VS_PRIO(x) ((x) << 26) 28432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define GS_PRIO(x) ((x) << 28) 28532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define ES_PRIO(x) ((x) << 30) 2860fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_GPR_RESOURCE_MGMT_1 0x8C04 2870fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_PS_GPRS(x) ((x) << 0) 2880fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_VS_GPRS(x) ((x) << 16) 2890fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_CLAUSE_TEMP_GPRS(x) ((x) << 28) 2900fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_GPR_RESOURCE_MGMT_2 0x8C08 2910fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_GS_GPRS(x) ((x) << 0) 2920fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_ES_GPRS(x) ((x) << 16) 29332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_GPR_RESOURCE_MGMT_3 0x8C0C 29432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_HS_GPRS(x) ((x) << 0) 29532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_LS_GPRS(x) ((x) << 16) 29632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_THREAD_RESOURCE_MGMT 0x8C18 29732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_PS_THREADS(x) ((x) << 0) 29832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_VS_THREADS(x) ((x) << 8) 29932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_GS_THREADS(x) ((x) << 16) 30032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_ES_THREADS(x) ((x) << 24) 30132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_THREAD_RESOURCE_MGMT_2 0x8C1C 30232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_HS_THREADS(x) ((x) << 0) 30332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_LS_THREADS(x) ((x) << 8) 30432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_STACK_RESOURCE_MGMT_1 0x8C20 30532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_PS_STACK_ENTRIES(x) ((x) << 0) 30632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_VS_STACK_ENTRIES(x) ((x) << 16) 30732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_STACK_RESOURCE_MGMT_2 0x8C24 30832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_GS_STACK_ENTRIES(x) ((x) << 0) 30932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_ES_STACK_ENTRIES(x) ((x) << 16) 31032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_STACK_RESOURCE_MGMT_3 0x8C28 31132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_HS_STACK_ENTRIES(x) ((x) << 0) 31232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_LS_STACK_ENTRIES(x) ((x) << 16) 31332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_DYN_GPR_CNTL_PS_FLUSH_REQ 0x8D8C 31432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_LDS_RESOURCE_MGMT 0x8E2C 31532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher 3160fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_MS_FIFO_SIZES 0x8CF0 3170fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CACHE_FIFO_SIZE(x) ((x) << 0) 3180fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define FETCH_FIFO_HIWATER(x) ((x) << 8) 3190fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DONE_FIFO_HIWATER(x) ((x) << 16) 3200fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ALU_UPDATE_FIFO_HIWATER(x) ((x) << 24) 3210fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3220fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SX_DEBUG_1 0x9058 3230fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_NEW_SMX_ADDRESS (1 << 16) 3240fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SX_EXPORT_BUFFER_SIZES 0x900C 3250fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define COLOR_BUFFER_SIZE(x) ((x) << 0) 3260fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_BUFFER_SIZE(x) ((x) << 8) 3270fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SMX_BUFFER_SIZE(x) ((x) << 16) 3280fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SX_MISC 0x28350 3290fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 33032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR0_SEL_0 0x9A20 33132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR0_SEL_1 0x9A24 33232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR1_SEL_0 0x9A28 33332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR1_SEL_1 0x9A2C 33432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR2_SEL_0 0x9A30 33532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR2_SEL_1 0x9A34 33632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR3_SEL_0 0x9A38 33732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR3_SEL_1 0x9A3C 33832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher 3390fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define TA_CNTL_AUX 0x9508 3400fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DISABLE_CUBE_WRAP (1 << 0) 3410fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DISABLE_CUBE_ANISO (1 << 1) 3420fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_GRADIENT (1 << 24) 3430fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_WALKER (1 << 25) 3440fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_ALIGNER (1 << 26) 3450fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3460fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_CACHE_INVALIDATION 0x88C4 34732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CACHE_INVALIDATION(x) ((x) << 0) 3480fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VC_ONLY 0 3490fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define TC_ONLY 1 3500fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VC_AND_TC 2 3510fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define AUTO_INVLD_EN(x) ((x) << 6) 3520fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NO_AUTO 0 3530fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ES_AUTO 1 3540fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GS_AUTO 2 3550fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ES_AND_GS_AUTO 3 3560fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_GS_VERTEX_REUSE 0x88D4 3570fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_NUM_INSTANCES 0x8974 3580fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_OUT_DEALLOC_CNTL 0x28C5C 3590fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DEALLOC_DIST_MASK 0x0000007F 3600fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_VERTEX_REUSE_BLOCK_CNTL 0x28C58 3610fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VTX_REUSE_DEPTH_MASK 0x000000FF 3620fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3630fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_CNTL 0x1410 3640fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_CONTEXT (1 << 0) 3650fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PAGE_TABLE_DEPTH(x) (((x) & 3) << 1) 3660fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define RANGE_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 4) 3670fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT1_CNTL 0x1414 3680fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PAGE_TABLE_BASE_ADDR 0x153C 3690fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PAGE_TABLE_END_ADDR 0x157C 3700fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PAGE_TABLE_START_ADDR 0x155C 3710fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR 0x1518 3720fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_REQUEST_RESPONSE 0x1470 3730fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define REQUEST_TYPE(x) (((x) & 0xf) << 0) 3740fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define RESPONSE_TYPE_MASK 0x000000F0 3750fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define RESPONSE_TYPE_SHIFT 4 3760fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_CNTL 0x1400 3770fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L2_CACHE (1 << 0) 3780fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L2_FRAGMENT_PROCESSING (1 << 1) 3790fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L2_PTE_CACHE_LRU_UPDATE_BY_WRITE (1 << 9) 3800fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EFFECTIVE_L2_QUEUE_SIZE(x) (((x) & 7) << 14) 3810fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_CNTL2 0x1404 3820fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INVALIDATE_ALL_L1_TLBS (1 << 0) 3830fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INVALIDATE_L2_CACHE (1 << 1) 3840fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_CNTL3 0x1408 3850fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BANK_SELECT(x) ((x) << 0) 3860fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CACHE_UPDATE_MODE(x) ((x) << 6) 3870fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_STATUS 0x140C 3880fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define L2_BUSY (1 << 0) 3890fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3900fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define WAIT_UNTIL 0x8040 3910fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3920fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SRBM_STATUS 0x0E50 393747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SRBM_SOFT_RESET 0x0E60 394747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SRBM_SOFT_RESET_ALL_MASK 0x00FEEFA6 395747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_BIF (1 << 1) 396747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_CG (1 << 2) 397747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_DC (1 << 5) 398747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_GRBM (1 << 8) 399747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_HDP (1 << 9) 400747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_IH (1 << 10) 401747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_MC (1 << 11) 402747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_RLC (1 << 13) 403747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_ROM (1 << 14) 404747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SEM (1 << 15) 405747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_VMC (1 << 17) 406747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_TST (1 << 21) 407747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_REGBB (1 << 22) 408747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_ORB (1 << 23) 4090fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 41045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_CNTL 0x3e00 41145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_RB_ENABLE (1 << 0) 41245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_IB_SIZE(x) ((x) << 1) /* log2 */ 41345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_RB_FULL_DRAIN_ENABLE (1 << 6) 41445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_WRITEBACK_ENABLE (1 << 8) 41545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_WRITEBACK_TIMER(x) ((x) << 9) /* log2 */ 41645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_OVERFLOW_ENABLE (1 << 16) 41745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_OVERFLOW_CLEAR (1 << 31) 41845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_BASE 0x3e04 41945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_RPTR 0x3e08 42045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_WPTR 0x3e0c 42145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RB_OVERFLOW (1 << 0) 42245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define WPTR_OFFSET_MASK 0x3fffc 42345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_WPTR_ADDR_HI 0x3e10 42445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_WPTR_ADDR_LO 0x3e14 42545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_CNTL 0x3e18 42645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define ENABLE_INTR (1 << 0) 42745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP(x) ((x) << 2) 42845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_NONE 0 42945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_16BIT 1 43045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_32BIT 2 43145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_64BIT 3 43245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RPTR_REARM (1 << 4) 43345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define MC_WRREQ_CREDIT(x) ((x) << 15) 43445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define MC_WR_CLEAN_CNT(x) ((x) << 20) 43545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 43645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define CP_INT_CNTL 0xc124 43745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define CNTX_BUSY_INT_ENABLE (1 << 19) 43845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define CNTX_EMPTY_INT_ENABLE (1 << 20) 43945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define SCRATCH_INT_ENABLE (1 << 25) 44045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define TIME_STAMP_INT_ENABLE (1 << 26) 44145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB2_INT_ENABLE (1 << 29) 44245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB1_INT_ENABLE (1 << 30) 44345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RB_INT_ENABLE (1 << 31) 44445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define CP_INT_STATUS 0xc128 44545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define SCRATCH_INT_STAT (1 << 25) 44645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define TIME_STAMP_INT_STAT (1 << 26) 44745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB2_INT_STAT (1 << 29) 44845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB1_INT_STAT (1 << 30) 44945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RB_INT_STAT (1 << 31) 45045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 45145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define GRBM_INT_CNTL 0x8060 45245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RDERR_INT_ENABLE (1 << 0) 45345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GUI_IDLE_INT_ENABLE (1 << 19) 45445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 45545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6e98, 0x7a98, 0x10698, 0x11298, 0x11e98, 0x12a98 */ 45645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define CRTC_STATUS_FRAME_COUNT 0x6e98 45745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 45845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6bb8, 0x77b8, 0x103b8, 0x10fb8, 0x11bb8, 0x127b8 */ 45945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define VLINE_STATUS 0x6bb8 46045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_OCCURRED (1 << 0) 46145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_ACK (1 << 4) 46245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_STAT (1 << 12) 46345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_INTERRUPT (1 << 16) 46445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_INTERRUPT_TYPE (1 << 17) 46545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6bbc, 0x77bc, 0x103bc, 0x10fbc, 0x11bbc, 0x127bc */ 46645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define VBLANK_STATUS 0x6bbc 46745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_OCCURRED (1 << 0) 46845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_ACK (1 << 4) 46945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_STAT (1 << 12) 47045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_INTERRUPT (1 << 16) 47145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_INTERRUPT_TYPE (1 << 17) 47245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 47345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6b40, 0x7740, 0x10340, 0x10f40, 0x11b40, 0x12740 */ 47445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define INT_MASK 0x6b40 47545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_INT_MASK (1 << 0) 47645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_INT_MASK (1 << 4) 47745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 47845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS 0x60f4 47945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D1_VLINE_INTERRUPT (1 << 2) 48045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D1_VBLANK_INTERRUPT (1 << 3) 48145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD1_INTERRUPT (1 << 17) 48245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD1_RX_INTERRUPT (1 << 18) 48345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DACA_AUTODETECT_INTERRUPT (1 << 22) 48445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DACB_AUTODETECT_INTERRUPT (1 << 23) 48545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_I2C_SW_DONE_INTERRUPT (1 << 24) 48645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_I2C_HW_DONE_INTERRUPT (1 << 25) 48745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE 0x60f8 48845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D2_VLINE_INTERRUPT (1 << 2) 48945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D2_VBLANK_INTERRUPT (1 << 3) 49045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD2_INTERRUPT (1 << 17) 49145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD2_RX_INTERRUPT (1 << 18) 49245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DISP_TIMER_INTERRUPT (1 << 24) 49345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE2 0x60fc 49445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D3_VLINE_INTERRUPT (1 << 2) 49545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D3_VBLANK_INTERRUPT (1 << 3) 49645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD3_INTERRUPT (1 << 17) 49745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD3_RX_INTERRUPT (1 << 18) 49845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE3 0x6100 49945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D4_VLINE_INTERRUPT (1 << 2) 50045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D4_VBLANK_INTERRUPT (1 << 3) 50145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD4_INTERRUPT (1 << 17) 50245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD4_RX_INTERRUPT (1 << 18) 50345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE4 0x614c 50445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D5_VLINE_INTERRUPT (1 << 2) 50545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D5_VBLANK_INTERRUPT (1 << 3) 50645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD5_INTERRUPT (1 << 17) 50745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD5_RX_INTERRUPT (1 << 18) 50845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE5 0x6050 50945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D6_VLINE_INTERRUPT (1 << 2) 51045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D6_VBLANK_INTERRUPT (1 << 3) 51145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD6_INTERRUPT (1 << 17) 51245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD6_RX_INTERRUPT (1 << 18) 51345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 51445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6858, 0x7458, 0x10058, 0x10c58, 0x11858, 0x12458 */ 51545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define GRPH_INT_STATUS 0x6858 51645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_OCCURRED (1 << 0) 51745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_CLEAR (1 << 8) 51845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x685c, 0x745c, 0x1005c, 0x10c5c, 0x1185c, 0x1245c */ 51945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define GRPH_INT_CONTROL 0x685c 52045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_MASK (1 << 0) 52145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_TYPE (1 << 8) 52245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 52345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DACA_AUTODETECT_INT_CONTROL 0x66c8 52445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DACB_AUTODETECT_INT_CONTROL 0x67c8 52545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 52645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD1_INT_STATUS 0x601c 52745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD2_INT_STATUS 0x6028 52845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD3_INT_STATUS 0x6034 52945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD4_INT_STATUS 0x6040 53045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD5_INT_STATUS 0x604c 53145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD6_INT_STATUS 0x6058 53245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_STATUS (1 << 0) 53345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_SENSE (1 << 1) 53445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_STATUS (1 << 8) 53545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 53645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD1_INT_CONTROL 0x6020 53745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD2_INT_CONTROL 0x602c 53845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD3_INT_CONTROL 0x6038 53945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD4_INT_CONTROL 0x6044 54045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD5_INT_CONTROL 0x6050 54145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD6_INT_CONTROL 0x605c 54245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_ACK (1 << 0) 54345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_POLARITY (1 << 8) 54445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_EN (1 << 16) 54545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_ACK (1 << 20) 54645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_EN (1 << 24) 54745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 54845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD1_CONTROL 0x6024 54945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD2_CONTROL 0x6030 55045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD3_CONTROL 0x603c 55145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD4_CONTROL 0x6048 55245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD5_CONTROL 0x6054 55345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD6_CONTROL 0x6060 55445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_CONNECTION_TIMER(x) ((x) << 0) 55545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_TIMER(x) ((x) << 16) 55645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_EN (1 << 28) 55745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 558cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* 559cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher * PM4 560cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher */ 561cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE0 0 562cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE1 1 563cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE2 2 564cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE3 3 565cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 566cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET_GET_TYPE(h) (((h) >> 30) & 3) 567cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET_GET_COUNT(h) (((h) >> 16) & 0x3FFF) 568cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET0_GET_REG(h) (((h) & 0xFFFF) << 2) 569cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET3_GET_OPCODE(h) (((h) >> 8) & 0xFF) 570cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET0(reg, n) ((PACKET_TYPE0 << 30) | \ 571cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher (((reg) >> 2) & 0xFFFF) | \ 572cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher ((n) & 0x3FFF) << 16) 573cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET2 0x80000000 574cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET2_PAD_SHIFT 0 575cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET2_PAD_MASK (0x3fffffff << 0) 576cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 577cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET2(v) (CP_PACKET2 | REG_SET(PACKET2_PAD, (v))) 578cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 579cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3(op, n) ((PACKET_TYPE3 << 30) | \ 580cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher (((op) & 0xFF) << 8) | \ 581cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher ((n) & 0x3FFF) << 16) 582cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 583cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* Packet 3 types */ 584cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_NOP 0x10 585cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BASE 0x11 586cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_CLEAR_STATE 0x12 587cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDIRECT_BUFFER_SIZE 0x13 588cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DISPATCH_DIRECT 0x15 589cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DISPATCH_INDIRECT 0x16 590cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDIRECT_BUFFER_END 0x17 591cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_PREDICATION 0x20 592cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_REG_RMW 0x21 593cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_COND_EXEC 0x22 594cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_PRED_EXEC 0x23 595cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDIRECT 0x24 596cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_INDIRECT 0x25 597cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDEX_BASE 0x26 598cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_2 0x27 599cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_CONTEXT_CONTROL 0x28 600cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_OFFSET 0x29 601cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDEX_TYPE 0x2A 602cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX 0x2B 603cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_AUTO 0x2D 604cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_IMMD 0x2E 605cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_NUM_INSTANCES 0x2F 606cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_MULTI_AUTO 0x30 607cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_STRMOUT_BUFFER_UPDATE 0x34 608cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_OFFSET_2 0x35 609cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_MULTI_ELEMENT 0x36 610cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_MEM_SEMAPHORE 0x39 611cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_MPEG_INDEX 0x3A 612cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_WAIT_REG_MEM 0x3C 613cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_MEM_WRITE 0x3D 614cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDIRECT_BUFFER 0x32 615cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SURFACE_SYNC 0x43 616cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB0_DEST_BASE_ENA (1 << 6) 617cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB1_DEST_BASE_ENA (1 << 7) 618cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB2_DEST_BASE_ENA (1 << 8) 619cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB3_DEST_BASE_ENA (1 << 9) 620cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB4_DEST_BASE_ENA (1 << 10) 621cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB5_DEST_BASE_ENA (1 << 11) 622cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB6_DEST_BASE_ENA (1 << 12) 623cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB7_DEST_BASE_ENA (1 << 13) 624cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_DB_DEST_BASE_ENA (1 << 14) 625cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB8_DEST_BASE_ENA (1 << 15) 626cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB9_DEST_BASE_ENA (1 << 16) 627cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB10_DEST_BASE_ENA (1 << 17) 628cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB11_DEST_BASE_ENA (1 << 17) 629cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_FULL_CACHE_ENA (1 << 20) 630cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_TC_ACTION_ENA (1 << 23) 631cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_VC_ACTION_ENA (1 << 24) 632cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB_ACTION_ENA (1 << 25) 633cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_DB_ACTION_ENA (1 << 26) 634cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_SH_ACTION_ENA (1 << 27) 635cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_SMX_ACTION_ENA (1 << 28) 636cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ME_INITIALIZE 0x44 637cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ME_INITIALIZE_DEVICE_ID(x) ((x) << 16) 638cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_COND_WRITE 0x45 639cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_EVENT_WRITE 0x46 640cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_EVENT_WRITE_EOP 0x47 641cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_EVENT_WRITE_EOS 0x48 642cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_PREAMBLE_CNTL 0x4A 643cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_RB_OFFSET 0x4B 644cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_PS_CONST_BUFFER_COPY 0x4C 645cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_VS_CONST_BUFFER_COPY 0x4D 646cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_PS_CONST_UPDATE 0x4E 647cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_VS_CONST_UPDATE 0x4F 648cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ONE_REG_WRITE 0x57 649cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONFIG_REG 0x68 650cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONFIG_REG_START 0x00008000 651cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONFIG_REG_END 0x0000ac00 652cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG 0x69 653cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG_START 0x00028000 654cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG_END 0x00029000 655cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_ALU_CONST 0x6A 656cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* alu const buffers only; no reg file */ 657cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BOOL_CONST 0x6B 658cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BOOL_CONST_START 0x0003a500 659cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BOOL_CONST_END 0x0003a518 660cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_LOOP_CONST 0x6C 661cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_LOOP_CONST_START 0x0003a200 662cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_LOOP_CONST_END 0x0003a500 663cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE 0x6D 664cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_START 0x00030000 665cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_END 0x00038000 666cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_SAMPLER 0x6E 667cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_SAMPLER_START 0x0003c000 668cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_SAMPLER_END 0x0003c600 669cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CTL_CONST 0x6F 670cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CTL_CONST_START 0x0003cff0 671cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CTL_CONST_END 0x0003ff0c 672cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_OFFSET 0x70 673cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_ALU_CONST_VS 0x71 674cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_ALU_CONST_DI 0x72 675cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG_INDIRECT 0x73 676cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_INDIRECT 0x74 677cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_APPEND_CNT 0x75 678cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 679cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_RESOURCE_CONSTANT_WORD7_0 0x3001c 680cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define S__SQ_CONSTANT_TYPE(x) (((x) & 3) << 30) 681cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define G__SQ_CONSTANT_TYPE(x) (((x) >> 30) & 3) 682cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_INVALID_TEXTURE 0x0 683cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_INVALID_BUFFER 0x1 684cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_VALID_TEXTURE 0x2 685cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_VALID_BUFFER 0x3 686cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 687cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_CONST_MEM_BASE 0x8df8 688cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 689cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESGS_RING_SIZE 0x8c44 690cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_SIZE 0x8c4c 691cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESTMP_RING_SIZE 0x8c54 692cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSTMP_RING_SIZE 0x8c5c 693cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_VSTMP_RING_SIZE 0x8c64 694cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PSTMP_RING_SIZE 0x8c6c 695cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_LSTMP_RING_SIZE 0x8e14 696cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_HSTMP_RING_SIZE 0x8e1c 697cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define VGT_TF_RING_SIZE 0x8988 698cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 699cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESGS_RING_ITEMSIZE 0x28900 700cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_ITEMSIZE 0x28904 701cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESTMP_RING_ITEMSIZE 0x28908 702cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSTMP_RING_ITEMSIZE 0x2890c 703cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_VSTMP_RING_ITEMSIZE 0x28910 704cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PSTMP_RING_ITEMSIZE 0x28914 705cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_LSTMP_RING_ITEMSIZE 0x28830 706cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_HSTMP_RING_ITEMSIZE 0x28834 707cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 708cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE 0x2891c 709cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE_1 0x28920 710cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE_2 0x28924 711cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE_3 0x28928 712cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_OFFSET_1 0x2892c 713cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_OFFSET_2 0x28930 714cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_OFFSET_3 0x28934 715cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 71660a4a3e0ce0b575e8b4cb6bf39d2c40e403bdfc7Alex Deucher#define SQ_ALU_CONST_BUFFER_SIZE_PS_0 0x28140 71760a4a3e0ce0b575e8b4cb6bf39d2c40e403bdfc7Alex Deucher#define SQ_ALU_CONST_BUFFER_SIZE_HS_0 0x28f80 71860a4a3e0ce0b575e8b4cb6bf39d2c40e403bdfc7Alex Deucher 719cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_0 0x28940 720cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_1 0x28944 721cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_2 0x28948 722cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_3 0x2894c 723cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_4 0x28950 724cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_5 0x28954 725cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_6 0x28958 726cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_7 0x2895c 727cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_8 0x28960 728cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_9 0x28964 729cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_10 0x28968 730cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_11 0x2896c 731cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_12 0x28970 732cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_13 0x28974 733cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_14 0x28978 734cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_15 0x2897c 735cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_0 0x28980 736cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_1 0x28984 737cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_2 0x28988 738cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_3 0x2898c 739cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_4 0x28990 740cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_5 0x28994 741cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_6 0x28998 742cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_7 0x2899c 743cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_8 0x289a0 744cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_9 0x289a4 745cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_10 0x289a8 746cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_11 0x289ac 747cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_12 0x289b0 748cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_13 0x289b4 749cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_14 0x289b8 750cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_15 0x289bc 751cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_0 0x289c0 752cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_1 0x289c4 753cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_2 0x289c8 754cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_3 0x289cc 755cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_4 0x289d0 756cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_5 0x289d4 757cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_6 0x289d8 758cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_7 0x289dc 759cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_8 0x289e0 760cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_9 0x289e4 761cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_10 0x289e8 762cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_11 0x289ec 763cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_12 0x289f0 764cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_13 0x289f4 765cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_14 0x289f8 766cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_15 0x289fc 767cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_0 0x28f00 768cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_1 0x28f04 769cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_2 0x28f08 770cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_3 0x28f0c 771cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_4 0x28f10 772cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_5 0x28f14 773cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_6 0x28f18 774cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_7 0x28f1c 775cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_8 0x28f20 776cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_9 0x28f24 777cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_10 0x28f28 778cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_11 0x28f2c 779cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_12 0x28f30 780cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_13 0x28f34 781cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_14 0x28f38 782cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_15 0x28f3c 783cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_0 0x28f40 784cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_1 0x28f44 785cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_2 0x28f48 786cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_3 0x28f4c 787cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_4 0x28f50 788cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_5 0x28f54 789cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_6 0x28f58 790cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_7 0x28f5c 791cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_8 0x28f60 792cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_9 0x28f64 793cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_10 0x28f68 794cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_11 0x28f6c 795cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_12 0x28f70 796cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_13 0x28f74 797cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_14 0x28f78 798cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_15 0x28f7c 799cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 800cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_DEPTH_CONTROL 0x28800 801cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_DEPTH_VIEW 0x28008 802cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_HTILE_DATA_BASE 0x28014 803cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_Z_INFO 0x28040 804cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define Z_ARRAY_MODE(x) ((x) << 4) 805cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_STENCIL_INFO 0x28044 806cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_Z_READ_BASE 0x28048 807cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_STENCIL_READ_BASE 0x2804c 808cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_Z_WRITE_BASE 0x28050 809cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_STENCIL_WRITE_BASE 0x28054 810cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_DEPTH_SIZE 0x28058 811cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 812cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_PS 0x28840 813cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_VS 0x2885c 814cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_GS 0x28874 815cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_ES 0x2888c 816cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_FS 0x288a4 817cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_HS 0x288b8 818cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_LS 0x288d0 819cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 820cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define VGT_STRMOUT_CONFIG 0x28b94 821cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define VGT_STRMOUT_BUFFER_CONFIG 0x28b98 822cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 823cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_TARGET_MASK 0x28238 824cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_SHADER_MASK 0x2823c 825cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 826cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define GDS_ADDR_BASE 0x28720 827cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 828cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED0_BASE 0x28b9c 829cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED1_BASE 0x28ba0 830cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED2_BASE 0x28ba4 831cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED3_BASE 0x28ba8 832cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED4_BASE 0x28bac 833cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED5_BASE 0x28bb0 834cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED6_BASE 0x28bb4 835cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED7_BASE 0x28bb8 836cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED8_BASE 0x28bbc 837cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED9_BASE 0x28bc0 838cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED10_BASE 0x28bc4 839cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED11_BASE 0x28bc8 840cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 841cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* all 12 CB blocks have these regs */ 842cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_BASE 0x28c60 843cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_PITCH 0x28c64 844cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_SLICE 0x28c68 845cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_VIEW 0x28c6c 846cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_INFO 0x28c70 847cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define CB_ARRAY_MODE(x) ((x) << 8) 848cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_LINEAR_GENERAL 0 849cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_LINEAR_ALIGNED 1 850cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_1D_TILED_THIN1 2 851cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_2D_TILED_THIN1 4 852cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_ATTRIB 0x28c74 853cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_DIM 0x28c78 854cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* only CB0-7 blocks have these regs */ 855cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CMASK 0x28c7c 856cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CMASK_SLICE 0x28c80 857cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_FMASK 0x28c84 858cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_FMASK_SLICE 0x28c88 859cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD0 0x28c8c 860cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD1 0x28c90 861cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD2 0x28c94 862cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD3 0x28c98 863cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 864cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_BASE 0x28c9c 865cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_BASE 0x28cd8 866cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_BASE 0x28d14 867cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_BASE 0x28d50 868cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_BASE 0x28d8c 869cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_BASE 0x28dc8 870cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_BASE 0x28e04 871cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_BASE 0x28e40 872cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_BASE 0x28e5c 873cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_BASE 0x28e78 874cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_BASE 0x28e94 875cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 876cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_PITCH 0x28ca0 877cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_PITCH 0x28cdc 878cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_PITCH 0x28d18 879cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_PITCH 0x28d54 880cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_PITCH 0x28d90 881cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_PITCH 0x28dcc 882cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_PITCH 0x28e08 883cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_PITCH 0x28e44 884cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_PITCH 0x28e60 885cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_PITCH 0x28e7c 886cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_PITCH 0x28e98 887cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 888cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_SLICE 0x28ca4 889cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_SLICE 0x28ce0 890cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_SLICE 0x28d1c 891cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_SLICE 0x28d58 892cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_SLICE 0x28d94 893cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_SLICE 0x28dd0 894cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_SLICE 0x28e0c 895cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_SLICE 0x28e48 896cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_SLICE 0x28e64 897cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_SLICE 0x28e80 898cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_SLICE 0x28e9c 899cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 900cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_VIEW 0x28ca8 901cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_VIEW 0x28ce4 902cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_VIEW 0x28d20 903cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_VIEW 0x28d5c 904cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_VIEW 0x28d98 905cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_VIEW 0x28dd4 906cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_VIEW 0x28e10 907cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_VIEW 0x28e4c 908cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_VIEW 0x28e68 909cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_VIEW 0x28e84 910cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_VIEW 0x28ea0 911cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 912cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_INFO 0x28cac 913cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_INFO 0x28ce8 914cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_INFO 0x28d24 915cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_INFO 0x28d60 916cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_INFO 0x28d9c 917cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_INFO 0x28dd8 918cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_INFO 0x28e14 919cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_INFO 0x28e50 920cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_INFO 0x28e6c 921cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_INFO 0x28e88 922cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_INFO 0x28ea4 923cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 924cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_ATTRIB 0x28cb0 925cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_ATTRIB 0x28cec 926cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_ATTRIB 0x28d28 927cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_ATTRIB 0x28d64 928cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_ATTRIB 0x28da0 929cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_ATTRIB 0x28ddc 930cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_ATTRIB 0x28e18 931cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_ATTRIB 0x28e54 932cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_ATTRIB 0x28e70 933cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_ATTRIB 0x28e8c 934cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_ATTRIB 0x28ea8 935cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 936cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_DIM 0x28cb4 937cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_DIM 0x28cf0 938cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_DIM 0x28d2c 939cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_DIM 0x28d68 940cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_DIM 0x28da4 941cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_DIM 0x28de0 942cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_DIM 0x28e1c 943cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_DIM 0x28e58 944cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_DIM 0x28e74 945cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_DIM 0x28e90 946cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_DIM 0x28eac 947cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 948cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CMASK 0x28cb8 949cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CMASK 0x28cf4 950cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CMASK 0x28d30 951cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CMASK 0x28d6c 952cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CMASK 0x28da8 953cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CMASK 0x28de4 954cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CMASK 0x28e20 955cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 956cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CMASK_SLICE 0x28cbc 957cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CMASK_SLICE 0x28cf8 958cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CMASK_SLICE 0x28d34 959cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CMASK_SLICE 0x28d70 960cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CMASK_SLICE 0x28dac 961cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CMASK_SLICE 0x28de8 962cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CMASK_SLICE 0x28e24 963cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 964cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_FMASK 0x28cc0 965cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_FMASK 0x28cfc 966cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_FMASK 0x28d38 967cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_FMASK 0x28d74 968cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_FMASK 0x28db0 969cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_FMASK 0x28dec 970cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_FMASK 0x28e28 971cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 972cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_FMASK_SLICE 0x28cc4 973cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_FMASK_SLICE 0x28d00 974cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_FMASK_SLICE 0x28d3c 975cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_FMASK_SLICE 0x28d78 976cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_FMASK_SLICE 0x28db4 977cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_FMASK_SLICE 0x28df0 978cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_FMASK_SLICE 0x28e2c 979cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 980cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD0 0x28cc8 981cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD0 0x28d04 982cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD0 0x28d40 983cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD0 0x28d7c 984cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD0 0x28db8 985cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD0 0x28df4 986cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD0 0x28e30 987cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 988cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD1 0x28ccc 989cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD1 0x28d08 990cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD1 0x28d44 991cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD1 0x28d80 992cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD1 0x28dbc 993cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD1 0x28df8 994cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD1 0x28e34 995cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 996cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD2 0x28cd0 997cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD2 0x28d0c 998cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD2 0x28d48 999cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD2 0x28d84 1000cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD2 0x28dc0 1001cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD2 0x28dfc 1002cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD2 0x28e38 1003cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1004cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD3 0x28cd4 1005cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD3 0x28d10 1006cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD3 0x28d4c 1007cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD3 0x28d88 1008cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD3 0x28dc4 1009cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD3 0x28e00 1010cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD3 0x28e3c 1011cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1012cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD0_0 0x30000 1013cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD1_0 0x30004 1014cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define TEX_ARRAY_MODE(x) ((x) << 28) 1015cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD2_0 0x30008 1016cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD3_0 0x3000C 1017cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD4_0 0x30010 1018cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD5_0 0x30014 1019cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD6_0 0x30018 1020cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD7_0 0x3001c 1021cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1022cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 10230fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#endif 1024