evergreend.h revision 2281a378e1830d7ab78d3067f228e4e55d368b0d
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 16821a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher#define CG_MULT_THERMAL_STATUS 0x740 16921a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher#define ASIC_T(x) ((x) << 16) 17021a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher#define ASIC_T_MASK 0x7FF0000 17121a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher#define ASIC_T_SHIFT 16 17221a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher 1730fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_HOST_PATH_CNTL 0x2C00 1740fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_NONSURFACE_BASE 0x2C04 1750fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_NONSURFACE_INFO 0x2C08 1760fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_NONSURFACE_SIZE 0x2C0C 1770fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_REG_COHERENCY_FLUSH_CNTL 0x54A0 1780fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_TILING_CONFIG 0x2F3C 1790fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1800fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_SHARED_CHMAP 0x2004 1810fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCHAN_SHIFT 12 1820fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCHAN_MASK 0x00003000 1830fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1840fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_ARB_RAMCFG 0x2760 1850fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFBANK_SHIFT 0 1860fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFBANK_MASK 0x00000003 1870fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFRANK_SHIFT 2 1880fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFRANK_MASK 0x00000004 1890fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFROWS_SHIFT 3 1900fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFROWS_MASK 0x00000038 1910fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCOLS_SHIFT 6 1920fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCOLS_MASK 0x000000C0 1930fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CHANSIZE_SHIFT 8 1940fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CHANSIZE_MASK 0x00000100 1950fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BURSTLENGTH_SHIFT 9 1960fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BURSTLENGTH_MASK 0x00000200 1970fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CHANSIZE_OVERRIDE (1 << 11) 1980fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_AGP_TOP 0x2028 1990fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_AGP_BOT 0x202C 2000fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_AGP_BASE 0x2030 2010fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_FB_LOCATION 0x2024 2020fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB0_CNTL 0x2234 2030fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB1_CNTL 0x2238 2040fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB2_CNTL 0x223C 2050fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB3_CNTL 0x2240 2060fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L1_TLB (1 << 0) 2070fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L1_FRAGMENT_PROCESSING (1 << 1) 2080fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_PA_ONLY (0 << 3) 2090fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_USE_SYS_MAP (1 << 3) 2100fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_IN_SYS (2 << 3) 2110fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_NOT_IN_SYS (3 << 3) 2120fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_APERTURE_UNMAPPED_ACCESS_PASS_THRU (0 << 5) 2130fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EFFECTIVE_L1_TLB_SIZE(x) ((x)<<15) 2140fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EFFECTIVE_L1_QUEUE_SIZE(x) ((x)<<18) 2150fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MD_L1_TLB0_CNTL 0x2654 2160fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MD_L1_TLB1_CNTL 0x2658 2170fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MD_L1_TLB2_CNTL 0x265C 2180fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR 0x203C 2190fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_SYSTEM_APERTURE_HIGH_ADDR 0x2038 2200fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_SYSTEM_APERTURE_LOW_ADDR 0x2034 2210fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2220fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_CL_ENHANCE 0x8A14 2230fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CLIP_VTX_REORDER_ENA (1 << 0) 2240fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_CLIP_SEQ(x) ((x) << 1) 2250fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_AA_CONFIG 0x28C04 226cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define MSAA_NUM_SAMPLES_SHIFT 0 227cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define MSAA_NUM_SAMPLES_MASK 0x3 2280fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_CLIPRECT_RULE 0x2820C 2290fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_EDGERULE 0x28230 2300fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_FIFO_SIZE 0x8BCC 2310fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SC_PRIM_FIFO_SIZE(x) ((x) << 0) 2320fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SC_HIZ_TILE_FIFO_SIZE(x) ((x) << 12) 23332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SC_EARLYZ_TILE_FIFO_SIZE(x) ((x) << 20) 2340fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_FORCE_EOV_MAX_CNTS 0x8B24 23532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define FORCE_EOV_MAX_CLK_CNT(x) ((x) << 0) 23632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define FORCE_EOV_MAX_REZ_CNT(x) ((x) << 16) 2370fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_LINE_STIPPLE 0x28A0C 2380fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_LINE_STIPPLE_STATE 0x8B10 2390fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2400fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG0 0x8500 2410fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG1 0x8504 2420fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG2 0x8508 2430fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG3 0x850C 2440fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG4 0x8510 2450fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG5 0x8514 2460fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG6 0x8518 2470fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG7 0x851C 2480fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_UMSK 0x8540 2490fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_ADDR 0x8544 2500fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2510fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SMX_DC_CTL0 0xA020 2520fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define USE_HASH_FUNCTION (1 << 0) 25332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUMBER_OF_SETS(x) ((x) << 1) 2540fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define FLUSH_ALL_ON_EVENT (1 << 10) 2550fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define STALL_ON_EVENT (1 << 11) 2560fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SMX_EVENT_CTL 0xA02C 2570fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ES_FLUSH_CTL(x) ((x) << 0) 2580fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GS_FLUSH_CTL(x) ((x) << 3) 2590fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ACK_FLUSH_CTL(x) ((x) << 6) 2600fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_FLUSH_CTL (1 << 8) 2610fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2620fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_CONFIG_CNTL 0x9100 2630fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GPR_WRITE_PRIORITY(x) ((x) << 0) 2640fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_CONFIG_CNTL_1 0x913C 2650fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VTX_DONE_DELAY(x) ((x) << 0) 2660fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INTERP_ONE_PRIM_PER_ROW (1 << 4) 2670fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_INPUT_Z 0x286D8 2680fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_PS_IN_CONTROL_0 0x286CC 2690fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_INTERP(x) ((x)<<0) 2700fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_ENA (1<<8) 2710fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_CENTROID (1<<9) 2720fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_ADDR(x) ((x)<<10) 2730fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PARAM_GEN(x) ((x)<<15) 2740fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PARAM_GEN_ADDR(x) ((x)<<19) 2750fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BARYC_SAMPLE_CNTL(x) ((x)<<26) 2760fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PERSP_GRADIENT_ENA (1<<28) 2770fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define LINEAR_GRADIENT_ENA (1<<29) 2780fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_SAMPLE (1<<30) 2790fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BARYC_AT_SAMPLE_ENA (1<<31) 2800fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2810fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_CONFIG 0x8C00 2820fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VC_ENABLE (1 << 0) 2830fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EXPORT_SRC_C (1 << 1) 28432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CS_PRIO(x) ((x) << 18) 28532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define LS_PRIO(x) ((x) << 20) 28632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define HS_PRIO(x) ((x) << 22) 28732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define PS_PRIO(x) ((x) << 24) 28832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define VS_PRIO(x) ((x) << 26) 28932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define GS_PRIO(x) ((x) << 28) 29032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define ES_PRIO(x) ((x) << 30) 2910fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_GPR_RESOURCE_MGMT_1 0x8C04 2920fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_PS_GPRS(x) ((x) << 0) 2930fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_VS_GPRS(x) ((x) << 16) 2940fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_CLAUSE_TEMP_GPRS(x) ((x) << 28) 2950fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_GPR_RESOURCE_MGMT_2 0x8C08 2960fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_GS_GPRS(x) ((x) << 0) 2970fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_ES_GPRS(x) ((x) << 16) 29832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_GPR_RESOURCE_MGMT_3 0x8C0C 29932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_HS_GPRS(x) ((x) << 0) 30032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_LS_GPRS(x) ((x) << 16) 30132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_THREAD_RESOURCE_MGMT 0x8C18 30232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_PS_THREADS(x) ((x) << 0) 30332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_VS_THREADS(x) ((x) << 8) 30432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_GS_THREADS(x) ((x) << 16) 30532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_ES_THREADS(x) ((x) << 24) 30632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_THREAD_RESOURCE_MGMT_2 0x8C1C 30732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_HS_THREADS(x) ((x) << 0) 30832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_LS_THREADS(x) ((x) << 8) 30932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_STACK_RESOURCE_MGMT_1 0x8C20 31032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_PS_STACK_ENTRIES(x) ((x) << 0) 31132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_VS_STACK_ENTRIES(x) ((x) << 16) 31232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_STACK_RESOURCE_MGMT_2 0x8C24 31332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_GS_STACK_ENTRIES(x) ((x) << 0) 31432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_ES_STACK_ENTRIES(x) ((x) << 16) 31532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_STACK_RESOURCE_MGMT_3 0x8C28 31632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_HS_STACK_ENTRIES(x) ((x) << 0) 31732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_LS_STACK_ENTRIES(x) ((x) << 16) 31832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_DYN_GPR_CNTL_PS_FLUSH_REQ 0x8D8C 31932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_LDS_RESOURCE_MGMT 0x8E2C 32032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher 3210fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_MS_FIFO_SIZES 0x8CF0 3220fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CACHE_FIFO_SIZE(x) ((x) << 0) 3230fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define FETCH_FIFO_HIWATER(x) ((x) << 8) 3240fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DONE_FIFO_HIWATER(x) ((x) << 16) 3250fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ALU_UPDATE_FIFO_HIWATER(x) ((x) << 24) 3260fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3270fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SX_DEBUG_1 0x9058 3280fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_NEW_SMX_ADDRESS (1 << 16) 3290fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SX_EXPORT_BUFFER_SIZES 0x900C 3300fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define COLOR_BUFFER_SIZE(x) ((x) << 0) 3310fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_BUFFER_SIZE(x) ((x) << 8) 3320fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SMX_BUFFER_SIZE(x) ((x) << 16) 3330fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SX_MISC 0x28350 3340fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 33532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR0_SEL_0 0x9A20 33632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR0_SEL_1 0x9A24 33732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR1_SEL_0 0x9A28 33832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR1_SEL_1 0x9A2C 33932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR2_SEL_0 0x9A30 34032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR2_SEL_1 0x9A34 34132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR3_SEL_0 0x9A38 34232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR3_SEL_1 0x9A3C 34332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher 3440fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define TA_CNTL_AUX 0x9508 3450fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DISABLE_CUBE_WRAP (1 << 0) 3460fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DISABLE_CUBE_ANISO (1 << 1) 3470fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_GRADIENT (1 << 24) 3480fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_WALKER (1 << 25) 3490fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_ALIGNER (1 << 26) 3500fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3510fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_CACHE_INVALIDATION 0x88C4 35232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CACHE_INVALIDATION(x) ((x) << 0) 3530fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VC_ONLY 0 3540fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define TC_ONLY 1 3550fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VC_AND_TC 2 3560fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define AUTO_INVLD_EN(x) ((x) << 6) 3570fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NO_AUTO 0 3580fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ES_AUTO 1 3590fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GS_AUTO 2 3600fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ES_AND_GS_AUTO 3 3610fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_GS_VERTEX_REUSE 0x88D4 3620fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_NUM_INSTANCES 0x8974 3630fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_OUT_DEALLOC_CNTL 0x28C5C 3640fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DEALLOC_DIST_MASK 0x0000007F 3650fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_VERTEX_REUSE_BLOCK_CNTL 0x28C58 3660fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VTX_REUSE_DEPTH_MASK 0x000000FF 3670fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3680fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_CNTL 0x1410 3690fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_CONTEXT (1 << 0) 3700fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PAGE_TABLE_DEPTH(x) (((x) & 3) << 1) 3710fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define RANGE_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 4) 3720fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT1_CNTL 0x1414 3730fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PAGE_TABLE_BASE_ADDR 0x153C 3740fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PAGE_TABLE_END_ADDR 0x157C 3750fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PAGE_TABLE_START_ADDR 0x155C 3760fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR 0x1518 3770fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_REQUEST_RESPONSE 0x1470 3780fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define REQUEST_TYPE(x) (((x) & 0xf) << 0) 3790fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define RESPONSE_TYPE_MASK 0x000000F0 3800fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define RESPONSE_TYPE_SHIFT 4 3810fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_CNTL 0x1400 3820fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L2_CACHE (1 << 0) 3830fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L2_FRAGMENT_PROCESSING (1 << 1) 3840fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L2_PTE_CACHE_LRU_UPDATE_BY_WRITE (1 << 9) 3850fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EFFECTIVE_L2_QUEUE_SIZE(x) (((x) & 7) << 14) 3860fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_CNTL2 0x1404 3870fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INVALIDATE_ALL_L1_TLBS (1 << 0) 3880fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INVALIDATE_L2_CACHE (1 << 1) 3890fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_CNTL3 0x1408 3900fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BANK_SELECT(x) ((x) << 0) 3910fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CACHE_UPDATE_MODE(x) ((x) << 6) 3920fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_STATUS 0x140C 3930fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define L2_BUSY (1 << 0) 3940fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3950fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define WAIT_UNTIL 0x8040 3960fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3970fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SRBM_STATUS 0x0E50 398747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SRBM_SOFT_RESET 0x0E60 399747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SRBM_SOFT_RESET_ALL_MASK 0x00FEEFA6 400747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_BIF (1 << 1) 401747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_CG (1 << 2) 402747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_DC (1 << 5) 403747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_GRBM (1 << 8) 404747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_HDP (1 << 9) 405747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_IH (1 << 10) 406747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_MC (1 << 11) 407747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_RLC (1 << 13) 408747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_ROM (1 << 14) 409747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SEM (1 << 15) 410747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_VMC (1 << 17) 411747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_TST (1 << 21) 412747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_REGBB (1 << 22) 413747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_ORB (1 << 23) 4140fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 415f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher/* display watermarks */ 416f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define DC_LB_MEMORY_SPLIT 0x6b0c 417f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PRIORITY_A_CNT 0x6b18 418f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PRIORITY_MARK_MASK 0x7fff 419f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PRIORITY_OFF (1 << 16) 420f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PRIORITY_ALWAYS_ON (1 << 20) 421f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PRIORITY_B_CNT 0x6b1c 422f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PIPE0_ARBITRATION_CONTROL3 0x0bf0 423f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher# define LATENCY_WATERMARK_MASK(x) ((x) << 16) 424f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PIPE0_LATENCY_CONTROL 0x0bf4 425f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher# define LATENCY_LOW_WATERMARK(x) ((x) << 0) 426f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher# define LATENCY_HIGH_WATERMARK(x) ((x) << 16) 427f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher 42845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_CNTL 0x3e00 42945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_RB_ENABLE (1 << 0) 43045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_IB_SIZE(x) ((x) << 1) /* log2 */ 43145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_RB_FULL_DRAIN_ENABLE (1 << 6) 43245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_WRITEBACK_ENABLE (1 << 8) 43345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_WRITEBACK_TIMER(x) ((x) << 9) /* log2 */ 43445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_OVERFLOW_ENABLE (1 << 16) 43545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_OVERFLOW_CLEAR (1 << 31) 43645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_BASE 0x3e04 43745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_RPTR 0x3e08 43845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_WPTR 0x3e0c 43945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RB_OVERFLOW (1 << 0) 44045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define WPTR_OFFSET_MASK 0x3fffc 44145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_WPTR_ADDR_HI 0x3e10 44245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_WPTR_ADDR_LO 0x3e14 44345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_CNTL 0x3e18 44445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define ENABLE_INTR (1 << 0) 44545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP(x) ((x) << 2) 44645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_NONE 0 44745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_16BIT 1 44845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_32BIT 2 44945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_64BIT 3 45045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RPTR_REARM (1 << 4) 45145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define MC_WRREQ_CREDIT(x) ((x) << 15) 45245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define MC_WR_CLEAN_CNT(x) ((x) << 20) 45345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 45445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define CP_INT_CNTL 0xc124 45545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define CNTX_BUSY_INT_ENABLE (1 << 19) 45645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define CNTX_EMPTY_INT_ENABLE (1 << 20) 45745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define SCRATCH_INT_ENABLE (1 << 25) 45845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define TIME_STAMP_INT_ENABLE (1 << 26) 45945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB2_INT_ENABLE (1 << 29) 46045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB1_INT_ENABLE (1 << 30) 46145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RB_INT_ENABLE (1 << 31) 46245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define CP_INT_STATUS 0xc128 46345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define SCRATCH_INT_STAT (1 << 25) 46445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define TIME_STAMP_INT_STAT (1 << 26) 46545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB2_INT_STAT (1 << 29) 46645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB1_INT_STAT (1 << 30) 46745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RB_INT_STAT (1 << 31) 46845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 46945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define GRBM_INT_CNTL 0x8060 47045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RDERR_INT_ENABLE (1 << 0) 47145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GUI_IDLE_INT_ENABLE (1 << 19) 47245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 47345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6e98, 0x7a98, 0x10698, 0x11298, 0x11e98, 0x12a98 */ 47445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define CRTC_STATUS_FRAME_COUNT 0x6e98 47545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 47645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6bb8, 0x77b8, 0x103b8, 0x10fb8, 0x11bb8, 0x127b8 */ 47745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define VLINE_STATUS 0x6bb8 47845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_OCCURRED (1 << 0) 47945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_ACK (1 << 4) 48045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_STAT (1 << 12) 48145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_INTERRUPT (1 << 16) 48245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_INTERRUPT_TYPE (1 << 17) 48345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6bbc, 0x77bc, 0x103bc, 0x10fbc, 0x11bbc, 0x127bc */ 48445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define VBLANK_STATUS 0x6bbc 48545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_OCCURRED (1 << 0) 48645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_ACK (1 << 4) 48745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_STAT (1 << 12) 48845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_INTERRUPT (1 << 16) 48945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_INTERRUPT_TYPE (1 << 17) 49045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 49145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6b40, 0x7740, 0x10340, 0x10f40, 0x11b40, 0x12740 */ 49245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define INT_MASK 0x6b40 49345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_INT_MASK (1 << 0) 49445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_INT_MASK (1 << 4) 49545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 49645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS 0x60f4 49745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D1_VLINE_INTERRUPT (1 << 2) 49845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D1_VBLANK_INTERRUPT (1 << 3) 49945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD1_INTERRUPT (1 << 17) 50045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD1_RX_INTERRUPT (1 << 18) 50145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DACA_AUTODETECT_INTERRUPT (1 << 22) 50245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DACB_AUTODETECT_INTERRUPT (1 << 23) 50345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_I2C_SW_DONE_INTERRUPT (1 << 24) 50445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_I2C_HW_DONE_INTERRUPT (1 << 25) 50545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE 0x60f8 50645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D2_VLINE_INTERRUPT (1 << 2) 50745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D2_VBLANK_INTERRUPT (1 << 3) 50845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD2_INTERRUPT (1 << 17) 50945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD2_RX_INTERRUPT (1 << 18) 51045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DISP_TIMER_INTERRUPT (1 << 24) 51145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE2 0x60fc 51245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D3_VLINE_INTERRUPT (1 << 2) 51345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D3_VBLANK_INTERRUPT (1 << 3) 51445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD3_INTERRUPT (1 << 17) 51545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD3_RX_INTERRUPT (1 << 18) 51645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE3 0x6100 51745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D4_VLINE_INTERRUPT (1 << 2) 51845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D4_VBLANK_INTERRUPT (1 << 3) 51945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD4_INTERRUPT (1 << 17) 52045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD4_RX_INTERRUPT (1 << 18) 52145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE4 0x614c 52245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D5_VLINE_INTERRUPT (1 << 2) 52345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D5_VBLANK_INTERRUPT (1 << 3) 52445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD5_INTERRUPT (1 << 17) 52545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD5_RX_INTERRUPT (1 << 18) 52645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE5 0x6050 52745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D6_VLINE_INTERRUPT (1 << 2) 52845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D6_VBLANK_INTERRUPT (1 << 3) 52945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD6_INTERRUPT (1 << 17) 53045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD6_RX_INTERRUPT (1 << 18) 53145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 53245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6858, 0x7458, 0x10058, 0x10c58, 0x11858, 0x12458 */ 53345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define GRPH_INT_STATUS 0x6858 53445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_OCCURRED (1 << 0) 53545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_CLEAR (1 << 8) 53645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x685c, 0x745c, 0x1005c, 0x10c5c, 0x1185c, 0x1245c */ 53745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define GRPH_INT_CONTROL 0x685c 53845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_MASK (1 << 0) 53945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_TYPE (1 << 8) 54045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 54145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DACA_AUTODETECT_INT_CONTROL 0x66c8 54245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DACB_AUTODETECT_INT_CONTROL 0x67c8 54345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 54445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD1_INT_STATUS 0x601c 54545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD2_INT_STATUS 0x6028 54645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD3_INT_STATUS 0x6034 54745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD4_INT_STATUS 0x6040 54845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD5_INT_STATUS 0x604c 54945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD6_INT_STATUS 0x6058 55045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_STATUS (1 << 0) 55145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_SENSE (1 << 1) 55245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_STATUS (1 << 8) 55345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 55445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD1_INT_CONTROL 0x6020 55545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD2_INT_CONTROL 0x602c 55645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD3_INT_CONTROL 0x6038 55745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD4_INT_CONTROL 0x6044 55845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD5_INT_CONTROL 0x6050 55945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD6_INT_CONTROL 0x605c 56045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_ACK (1 << 0) 56145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_POLARITY (1 << 8) 56245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_EN (1 << 16) 56345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_ACK (1 << 20) 56445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_EN (1 << 24) 56545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 56645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD1_CONTROL 0x6024 56745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD2_CONTROL 0x6030 56845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD3_CONTROL 0x603c 56945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD4_CONTROL 0x6048 57045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD5_CONTROL 0x6054 57145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD6_CONTROL 0x6060 57245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_CONNECTION_TIMER(x) ((x) << 0) 57345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_TIMER(x) ((x) << 16) 57445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_EN (1 << 28) 57545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 576cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* 577cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher * PM4 578cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher */ 579cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE0 0 580cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE1 1 581cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE2 2 582cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE3 3 583cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 584cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET_GET_TYPE(h) (((h) >> 30) & 3) 585cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET_GET_COUNT(h) (((h) >> 16) & 0x3FFF) 586cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET0_GET_REG(h) (((h) & 0xFFFF) << 2) 587cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET3_GET_OPCODE(h) (((h) >> 8) & 0xFF) 588cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET0(reg, n) ((PACKET_TYPE0 << 30) | \ 589cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher (((reg) >> 2) & 0xFFFF) | \ 590cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher ((n) & 0x3FFF) << 16) 591cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET2 0x80000000 592cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET2_PAD_SHIFT 0 593cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET2_PAD_MASK (0x3fffffff << 0) 594cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 595cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET2(v) (CP_PACKET2 | REG_SET(PACKET2_PAD, (v))) 596cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 597cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3(op, n) ((PACKET_TYPE3 << 30) | \ 598cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher (((op) & 0xFF) << 8) | \ 599cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher ((n) & 0x3FFF) << 16) 600cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 601cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* Packet 3 types */ 602cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_NOP 0x10 603cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BASE 0x11 604cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_CLEAR_STATE 0x12 605cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDIRECT_BUFFER_SIZE 0x13 606cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DISPATCH_DIRECT 0x15 607cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DISPATCH_INDIRECT 0x16 608cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDIRECT_BUFFER_END 0x17 609cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_PREDICATION 0x20 610cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_REG_RMW 0x21 611cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_COND_EXEC 0x22 612cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_PRED_EXEC 0x23 613cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDIRECT 0x24 614cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_INDIRECT 0x25 615cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDEX_BASE 0x26 616cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_2 0x27 617cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_CONTEXT_CONTROL 0x28 618cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_OFFSET 0x29 619cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDEX_TYPE 0x2A 620cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX 0x2B 621cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_AUTO 0x2D 622cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_IMMD 0x2E 623cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_NUM_INSTANCES 0x2F 624cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_MULTI_AUTO 0x30 625cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_STRMOUT_BUFFER_UPDATE 0x34 626cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_OFFSET_2 0x35 627cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_MULTI_ELEMENT 0x36 628cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_MEM_SEMAPHORE 0x39 629cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_MPEG_INDEX 0x3A 630cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_WAIT_REG_MEM 0x3C 631cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_MEM_WRITE 0x3D 632cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDIRECT_BUFFER 0x32 633cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SURFACE_SYNC 0x43 634cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB0_DEST_BASE_ENA (1 << 6) 635cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB1_DEST_BASE_ENA (1 << 7) 636cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB2_DEST_BASE_ENA (1 << 8) 637cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB3_DEST_BASE_ENA (1 << 9) 638cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB4_DEST_BASE_ENA (1 << 10) 639cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB5_DEST_BASE_ENA (1 << 11) 640cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB6_DEST_BASE_ENA (1 << 12) 641cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB7_DEST_BASE_ENA (1 << 13) 642cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_DB_DEST_BASE_ENA (1 << 14) 643cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB8_DEST_BASE_ENA (1 << 15) 644cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB9_DEST_BASE_ENA (1 << 16) 645cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB10_DEST_BASE_ENA (1 << 17) 646cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB11_DEST_BASE_ENA (1 << 17) 647cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_FULL_CACHE_ENA (1 << 20) 648cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_TC_ACTION_ENA (1 << 23) 649cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_VC_ACTION_ENA (1 << 24) 650cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB_ACTION_ENA (1 << 25) 651cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_DB_ACTION_ENA (1 << 26) 652cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_SH_ACTION_ENA (1 << 27) 653cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_SMX_ACTION_ENA (1 << 28) 654cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ME_INITIALIZE 0x44 655cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ME_INITIALIZE_DEVICE_ID(x) ((x) << 16) 656cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_COND_WRITE 0x45 657cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_EVENT_WRITE 0x46 658cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_EVENT_WRITE_EOP 0x47 659cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_EVENT_WRITE_EOS 0x48 660cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_PREAMBLE_CNTL 0x4A 6612281a378e1830d7ab78d3067f228e4e55d368b0dAlex Deucher# define PACKET3_PREAMBLE_BEGIN_CLEAR_STATE (2 << 28) 6622281a378e1830d7ab78d3067f228e4e55d368b0dAlex Deucher# define PACKET3_PREAMBLE_END_CLEAR_STATE (3 << 28) 663cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_RB_OFFSET 0x4B 664cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_PS_CONST_BUFFER_COPY 0x4C 665cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_VS_CONST_BUFFER_COPY 0x4D 666cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_PS_CONST_UPDATE 0x4E 667cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_VS_CONST_UPDATE 0x4F 668cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ONE_REG_WRITE 0x57 669cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONFIG_REG 0x68 670cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONFIG_REG_START 0x00008000 671cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONFIG_REG_END 0x0000ac00 672cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG 0x69 673cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG_START 0x00028000 674cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG_END 0x00029000 675cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_ALU_CONST 0x6A 676cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* alu const buffers only; no reg file */ 677cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BOOL_CONST 0x6B 678cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BOOL_CONST_START 0x0003a500 679cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BOOL_CONST_END 0x0003a518 680cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_LOOP_CONST 0x6C 681cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_LOOP_CONST_START 0x0003a200 682cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_LOOP_CONST_END 0x0003a500 683cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE 0x6D 684cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_START 0x00030000 685cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_END 0x00038000 686cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_SAMPLER 0x6E 687cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_SAMPLER_START 0x0003c000 688cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_SAMPLER_END 0x0003c600 689cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CTL_CONST 0x6F 690cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CTL_CONST_START 0x0003cff0 691cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CTL_CONST_END 0x0003ff0c 692cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_OFFSET 0x70 693cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_ALU_CONST_VS 0x71 694cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_ALU_CONST_DI 0x72 695cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG_INDIRECT 0x73 696cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_INDIRECT 0x74 697cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_APPEND_CNT 0x75 698cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 699cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_RESOURCE_CONSTANT_WORD7_0 0x3001c 700cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define S__SQ_CONSTANT_TYPE(x) (((x) & 3) << 30) 701cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define G__SQ_CONSTANT_TYPE(x) (((x) >> 30) & 3) 702cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_INVALID_TEXTURE 0x0 703cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_INVALID_BUFFER 0x1 704cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_VALID_TEXTURE 0x2 705cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_VALID_BUFFER 0x3 706cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 707cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_CONST_MEM_BASE 0x8df8 708cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 709cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESGS_RING_SIZE 0x8c44 710cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_SIZE 0x8c4c 711cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESTMP_RING_SIZE 0x8c54 712cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSTMP_RING_SIZE 0x8c5c 713cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_VSTMP_RING_SIZE 0x8c64 714cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PSTMP_RING_SIZE 0x8c6c 715cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_LSTMP_RING_SIZE 0x8e14 716cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_HSTMP_RING_SIZE 0x8e1c 717cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define VGT_TF_RING_SIZE 0x8988 718cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 719cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESGS_RING_ITEMSIZE 0x28900 720cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_ITEMSIZE 0x28904 721cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESTMP_RING_ITEMSIZE 0x28908 722cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSTMP_RING_ITEMSIZE 0x2890c 723cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_VSTMP_RING_ITEMSIZE 0x28910 724cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PSTMP_RING_ITEMSIZE 0x28914 725cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_LSTMP_RING_ITEMSIZE 0x28830 726cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_HSTMP_RING_ITEMSIZE 0x28834 727cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 728cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE 0x2891c 729cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE_1 0x28920 730cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE_2 0x28924 731cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE_3 0x28928 732cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_OFFSET_1 0x2892c 733cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_OFFSET_2 0x28930 734cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_OFFSET_3 0x28934 735cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 73660a4a3e0ce0b575e8b4cb6bf39d2c40e403bdfc7Alex Deucher#define SQ_ALU_CONST_BUFFER_SIZE_PS_0 0x28140 73760a4a3e0ce0b575e8b4cb6bf39d2c40e403bdfc7Alex Deucher#define SQ_ALU_CONST_BUFFER_SIZE_HS_0 0x28f80 73860a4a3e0ce0b575e8b4cb6bf39d2c40e403bdfc7Alex Deucher 739cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_0 0x28940 740cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_1 0x28944 741cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_2 0x28948 742cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_3 0x2894c 743cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_4 0x28950 744cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_5 0x28954 745cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_6 0x28958 746cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_7 0x2895c 747cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_8 0x28960 748cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_9 0x28964 749cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_10 0x28968 750cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_11 0x2896c 751cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_12 0x28970 752cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_13 0x28974 753cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_14 0x28978 754cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_15 0x2897c 755cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_0 0x28980 756cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_1 0x28984 757cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_2 0x28988 758cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_3 0x2898c 759cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_4 0x28990 760cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_5 0x28994 761cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_6 0x28998 762cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_7 0x2899c 763cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_8 0x289a0 764cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_9 0x289a4 765cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_10 0x289a8 766cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_11 0x289ac 767cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_12 0x289b0 768cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_13 0x289b4 769cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_14 0x289b8 770cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_15 0x289bc 771cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_0 0x289c0 772cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_1 0x289c4 773cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_2 0x289c8 774cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_3 0x289cc 775cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_4 0x289d0 776cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_5 0x289d4 777cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_6 0x289d8 778cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_7 0x289dc 779cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_8 0x289e0 780cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_9 0x289e4 781cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_10 0x289e8 782cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_11 0x289ec 783cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_12 0x289f0 784cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_13 0x289f4 785cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_14 0x289f8 786cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_15 0x289fc 787cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_0 0x28f00 788cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_1 0x28f04 789cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_2 0x28f08 790cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_3 0x28f0c 791cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_4 0x28f10 792cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_5 0x28f14 793cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_6 0x28f18 794cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_7 0x28f1c 795cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_8 0x28f20 796cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_9 0x28f24 797cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_10 0x28f28 798cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_11 0x28f2c 799cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_12 0x28f30 800cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_13 0x28f34 801cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_14 0x28f38 802cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_15 0x28f3c 803cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_0 0x28f40 804cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_1 0x28f44 805cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_2 0x28f48 806cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_3 0x28f4c 807cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_4 0x28f50 808cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_5 0x28f54 809cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_6 0x28f58 810cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_7 0x28f5c 811cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_8 0x28f60 812cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_9 0x28f64 813cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_10 0x28f68 814cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_11 0x28f6c 815cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_12 0x28f70 816cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_13 0x28f74 817cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_14 0x28f78 818cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_15 0x28f7c 819cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 820d7ccd8fc11700502b5a104b7bad595b492a3aa1bAlex Deucher#define PA_SC_SCREEN_SCISSOR_TL 0x28030 821d7ccd8fc11700502b5a104b7bad595b492a3aa1bAlex Deucher#define PA_SC_GENERIC_SCISSOR_TL 0x28240 822d7ccd8fc11700502b5a104b7bad595b492a3aa1bAlex Deucher#define PA_SC_WINDOW_SCISSOR_TL 0x28204 823d7ccd8fc11700502b5a104b7bad595b492a3aa1bAlex Deucher#define VGT_PRIMITIVE_TYPE 0x8958 824d7ccd8fc11700502b5a104b7bad595b492a3aa1bAlex Deucher 825cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_DEPTH_CONTROL 0x28800 826cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_DEPTH_VIEW 0x28008 827cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_HTILE_DATA_BASE 0x28014 828cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_Z_INFO 0x28040 829cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define Z_ARRAY_MODE(x) ((x) << 4) 830cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_STENCIL_INFO 0x28044 831cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_Z_READ_BASE 0x28048 832cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_STENCIL_READ_BASE 0x2804c 833cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_Z_WRITE_BASE 0x28050 834cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_STENCIL_WRITE_BASE 0x28054 835cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_DEPTH_SIZE 0x28058 836cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 837cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_PS 0x28840 838cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_VS 0x2885c 839cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_GS 0x28874 840cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_ES 0x2888c 841cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_FS 0x288a4 842cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_HS 0x288b8 843cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_LS 0x288d0 844cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 845cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define VGT_STRMOUT_CONFIG 0x28b94 846cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define VGT_STRMOUT_BUFFER_CONFIG 0x28b98 847cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 848cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_TARGET_MASK 0x28238 849cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_SHADER_MASK 0x2823c 850cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 851cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define GDS_ADDR_BASE 0x28720 852cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 853cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED0_BASE 0x28b9c 854cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED1_BASE 0x28ba0 855cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED2_BASE 0x28ba4 856cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED3_BASE 0x28ba8 857cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED4_BASE 0x28bac 858cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED5_BASE 0x28bb0 859cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED6_BASE 0x28bb4 860cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED7_BASE 0x28bb8 861cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED8_BASE 0x28bbc 862cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED9_BASE 0x28bc0 863cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED10_BASE 0x28bc4 864cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED11_BASE 0x28bc8 865cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 866cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* all 12 CB blocks have these regs */ 867cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_BASE 0x28c60 868cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_PITCH 0x28c64 869cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_SLICE 0x28c68 870cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_VIEW 0x28c6c 871cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_INFO 0x28c70 872cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define CB_ARRAY_MODE(x) ((x) << 8) 873cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_LINEAR_GENERAL 0 874cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_LINEAR_ALIGNED 1 875cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_1D_TILED_THIN1 2 876cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_2D_TILED_THIN1 4 877cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_ATTRIB 0x28c74 878cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_DIM 0x28c78 879cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* only CB0-7 blocks have these regs */ 880cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CMASK 0x28c7c 881cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CMASK_SLICE 0x28c80 882cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_FMASK 0x28c84 883cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_FMASK_SLICE 0x28c88 884cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD0 0x28c8c 885cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD1 0x28c90 886cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD2 0x28c94 887cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD3 0x28c98 888cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 889cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_BASE 0x28c9c 890cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_BASE 0x28cd8 891cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_BASE 0x28d14 892cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_BASE 0x28d50 893cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_BASE 0x28d8c 894cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_BASE 0x28dc8 895cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_BASE 0x28e04 896cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_BASE 0x28e40 897cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_BASE 0x28e5c 898cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_BASE 0x28e78 899cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_BASE 0x28e94 900cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 901cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_PITCH 0x28ca0 902cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_PITCH 0x28cdc 903cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_PITCH 0x28d18 904cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_PITCH 0x28d54 905cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_PITCH 0x28d90 906cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_PITCH 0x28dcc 907cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_PITCH 0x28e08 908cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_PITCH 0x28e44 909cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_PITCH 0x28e60 910cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_PITCH 0x28e7c 911cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_PITCH 0x28e98 912cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 913cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_SLICE 0x28ca4 914cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_SLICE 0x28ce0 915cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_SLICE 0x28d1c 916cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_SLICE 0x28d58 917cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_SLICE 0x28d94 918cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_SLICE 0x28dd0 919cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_SLICE 0x28e0c 920cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_SLICE 0x28e48 921cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_SLICE 0x28e64 922cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_SLICE 0x28e80 923cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_SLICE 0x28e9c 924cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 925cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_VIEW 0x28ca8 926cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_VIEW 0x28ce4 927cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_VIEW 0x28d20 928cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_VIEW 0x28d5c 929cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_VIEW 0x28d98 930cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_VIEW 0x28dd4 931cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_VIEW 0x28e10 932cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_VIEW 0x28e4c 933cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_VIEW 0x28e68 934cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_VIEW 0x28e84 935cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_VIEW 0x28ea0 936cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 937cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_INFO 0x28cac 938cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_INFO 0x28ce8 939cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_INFO 0x28d24 940cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_INFO 0x28d60 941cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_INFO 0x28d9c 942cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_INFO 0x28dd8 943cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_INFO 0x28e14 944cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_INFO 0x28e50 945cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_INFO 0x28e6c 946cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_INFO 0x28e88 947cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_INFO 0x28ea4 948cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 949cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_ATTRIB 0x28cb0 950cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_ATTRIB 0x28cec 951cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_ATTRIB 0x28d28 952cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_ATTRIB 0x28d64 953cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_ATTRIB 0x28da0 954cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_ATTRIB 0x28ddc 955cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_ATTRIB 0x28e18 956cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_ATTRIB 0x28e54 957cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_ATTRIB 0x28e70 958cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_ATTRIB 0x28e8c 959cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_ATTRIB 0x28ea8 960cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 961cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_DIM 0x28cb4 962cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_DIM 0x28cf0 963cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_DIM 0x28d2c 964cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_DIM 0x28d68 965cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_DIM 0x28da4 966cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_DIM 0x28de0 967cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_DIM 0x28e1c 968cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_DIM 0x28e58 969cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_DIM 0x28e74 970cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_DIM 0x28e90 971cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_DIM 0x28eac 972cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 973cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CMASK 0x28cb8 974cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CMASK 0x28cf4 975cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CMASK 0x28d30 976cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CMASK 0x28d6c 977cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CMASK 0x28da8 978cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CMASK 0x28de4 979cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CMASK 0x28e20 980cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 981cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CMASK_SLICE 0x28cbc 982cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CMASK_SLICE 0x28cf8 983cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CMASK_SLICE 0x28d34 984cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CMASK_SLICE 0x28d70 985cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CMASK_SLICE 0x28dac 986cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CMASK_SLICE 0x28de8 987cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CMASK_SLICE 0x28e24 988cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 989cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_FMASK 0x28cc0 990cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_FMASK 0x28cfc 991cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_FMASK 0x28d38 992cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_FMASK 0x28d74 993cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_FMASK 0x28db0 994cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_FMASK 0x28dec 995cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_FMASK 0x28e28 996cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 997cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_FMASK_SLICE 0x28cc4 998cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_FMASK_SLICE 0x28d00 999cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_FMASK_SLICE 0x28d3c 1000cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_FMASK_SLICE 0x28d78 1001cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_FMASK_SLICE 0x28db4 1002cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_FMASK_SLICE 0x28df0 1003cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_FMASK_SLICE 0x28e2c 1004cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1005cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD0 0x28cc8 1006cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD0 0x28d04 1007cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD0 0x28d40 1008cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD0 0x28d7c 1009cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD0 0x28db8 1010cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD0 0x28df4 1011cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD0 0x28e30 1012cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1013cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD1 0x28ccc 1014cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD1 0x28d08 1015cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD1 0x28d44 1016cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD1 0x28d80 1017cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD1 0x28dbc 1018cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD1 0x28df8 1019cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD1 0x28e34 1020cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1021cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD2 0x28cd0 1022cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD2 0x28d0c 1023cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD2 0x28d48 1024cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD2 0x28d84 1025cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD2 0x28dc0 1026cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD2 0x28dfc 1027cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD2 0x28e38 1028cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1029cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD3 0x28cd4 1030cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD3 0x28d10 1031cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD3 0x28d4c 1032cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD3 0x28d88 1033cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD3 0x28dc4 1034cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD3 0x28e00 1035cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD3 0x28e3c 1036cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1037cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD0_0 0x30000 1038cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD1_0 0x30004 1039cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define TEX_ARRAY_MODE(x) ((x) << 28) 1040cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD2_0 0x30008 1041cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD3_0 0x3000C 1042cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD4_0 0x30010 1043cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD5_0 0x30014 1044cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD6_0 0x30018 1045cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD7_0 0x3001c 1046cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1047cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 10480fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#endif 1049