evergreend.h revision 721604a15b934f0a8d1909acb8017f029128be2f
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 67f25a5c63bfa017498c9adecb24d649ae96ba5c68Alex Deucher#define HDP_MISC_CNTL 0x2F4C 68f25a5c63bfa017498c9adecb24d649ae96ba5c68Alex Deucher#define HDP_FLUSH_INVALIDATE_CACHE (1 << 0) 6932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher 700fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CC_SYS_RB_BACKEND_DISABLE 0x3F88 7132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define GC_USER_RB_BACKEND_DISABLE 0x9B7C 720fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 730fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CGTS_SYS_TCC_DISABLE 0x3F90 740fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CGTS_TCC_DISABLE 0x9148 750fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CGTS_USER_SYS_TCC_DISABLE 0x3F94 760fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CGTS_USER_TCC_DISABLE 0x914C 770fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 780fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CONFIG_MEMSIZE 0x5428 790fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 8032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CP_ME_CNTL 0x86D8 8132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CP_ME_HALT (1 << 28) 8232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CP_PFP_HALT (1 << 26) 830fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_ME_RAM_DATA 0xC160 840fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_ME_RAM_RADDR 0xC158 850fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_ME_RAM_WADDR 0xC15C 860fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_MEQ_THRESHOLDS 0x8764 870fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define STQ_SPLIT(x) ((x) << 0) 880fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_PERFMON_CNTL 0x87FC 890fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_PFP_UCODE_ADDR 0xC150 900fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_PFP_UCODE_DATA 0xC154 910fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_QUEUE_THRESHOLDS 0x8760 920fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ROQ_IB1_START(x) ((x) << 0) 930fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ROQ_IB2_START(x) ((x) << 8) 94fe251e2fffa1ebc17c8e6e895b0374ae4e732fa5Alex Deucher#define CP_RB_BASE 0xC100 950fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_CNTL 0xC104 9632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define RB_BUFSZ(x) ((x) << 0) 9732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define RB_BLKSZ(x) ((x) << 8) 9832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define RB_NO_UPDATE (1 << 27) 9932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define RB_RPTR_WR_ENA (1 << 31) 1000fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BUF_SWAP_32BIT (2 << 16) 1010fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_RPTR 0x8700 1020fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_RPTR_ADDR 0xC10C 1030f234f5fdca1e31c7a6333c3633edc653cf3e598Alex Deucher#define RB_RPTR_SWAP(x) ((x) << 0) 1040fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_RPTR_ADDR_HI 0xC110 1050fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_RPTR_WR 0xC108 1060fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_WPTR 0xC114 1070fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_WPTR_ADDR 0xC118 1080fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_WPTR_ADDR_HI 0xC11C 1090fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_WPTR_DELAY 0x8704 1100fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_SEM_WAIT_TIMER 0x85BC 111fe251e2fffa1ebc17c8e6e895b0374ae4e732fa5Alex Deucher#define CP_DEBUG 0xC1FC 1120fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1130fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1140fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GC_USER_SHADER_PIPE_CONFIG 0x8954 1150fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INACTIVE_QD_PIPES(x) ((x) << 8) 1160fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INACTIVE_QD_PIPES_MASK 0x0000FF00 1170fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INACTIVE_SIMDS(x) ((x) << 16) 1180fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INACTIVE_SIMDS_MASK 0x00FF0000 1190fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1200fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GRBM_CNTL 0x8000 1210fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GRBM_READ_TIMEOUT(x) ((x) << 0) 1220fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GRBM_SOFT_RESET 0x8020 123747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_CP (1 << 0) 124747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_CB (1 << 1) 125747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_DB (1 << 3) 126747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_PA (1 << 5) 127747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SC (1 << 6) 128747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SPI (1 << 8) 129747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SH (1 << 9) 130747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SX (1 << 10) 131747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_TC (1 << 11) 132747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_TA (1 << 12) 133747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_VC (1 << 13) 134747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_VGT (1 << 14) 135747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher 1360fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GRBM_STATUS 0x8010 1370fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CMDFIFO_AVAIL_MASK 0x0000000F 138747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SRBM_RQ_PENDING (1 << 5) 139747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define CF_RQ_PENDING (1 << 7) 140747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define PF_RQ_PENDING (1 << 8) 141747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define GRBM_EE_BUSY (1 << 10) 142747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SX_CLEAN (1 << 11) 143747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define DB_CLEAN (1 << 12) 144747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define CB_CLEAN (1 << 13) 145747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define TA_BUSY (1 << 14) 146747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define VGT_BUSY_NO_DMA (1 << 16) 147747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define VGT_BUSY (1 << 17) 148747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SX_BUSY (1 << 20) 149747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SH_BUSY (1 << 21) 150747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SPI_BUSY (1 << 22) 151747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SC_BUSY (1 << 24) 152747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define PA_BUSY (1 << 25) 153747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define DB_BUSY (1 << 26) 154747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define CP_COHERENCY_BUSY (1 << 28) 155747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define CP_BUSY (1 << 29) 156747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define CB_BUSY (1 << 30) 157747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define GUI_ACTIVE (1 << 31) 158747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define GRBM_STATUS_SE0 0x8014 159747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define GRBM_STATUS_SE1 0x8018 160747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_SX_CLEAN (1 << 0) 161747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_DB_CLEAN (1 << 1) 162747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_CB_CLEAN (1 << 2) 163747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_TA_BUSY (1 << 25) 164747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_SX_BUSY (1 << 26) 165747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_SPI_BUSY (1 << 27) 166747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_SH_BUSY (1 << 28) 167747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_SC_BUSY (1 << 29) 168747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_DB_BUSY (1 << 30) 169747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_CB_BUSY (1 << 31) 170e33df25fecd31be889a878bc75313817bc292bacAlex Deucher/* evergreen */ 17167b3f823ec78d08aea8835bce2655674237abc1dAlex Deucher#define CG_THERMAL_CTRL 0x72c 17267b3f823ec78d08aea8835bce2655674237abc1dAlex Deucher#define TOFFSET_MASK 0x00003FE0 17367b3f823ec78d08aea8835bce2655674237abc1dAlex Deucher#define TOFFSET_SHIFT 5 17421a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher#define CG_MULT_THERMAL_STATUS 0x740 17521a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher#define ASIC_T(x) ((x) << 16) 17667b3f823ec78d08aea8835bce2655674237abc1dAlex Deucher#define ASIC_T_MASK 0x07FF0000 17721a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher#define ASIC_T_SHIFT 16 17867b3f823ec78d08aea8835bce2655674237abc1dAlex Deucher#define CG_TS0_STATUS 0x760 17967b3f823ec78d08aea8835bce2655674237abc1dAlex Deucher#define TS0_ADC_DOUT_MASK 0x000003FF 18067b3f823ec78d08aea8835bce2655674237abc1dAlex Deucher#define TS0_ADC_DOUT_SHIFT 0 181e33df25fecd31be889a878bc75313817bc292bacAlex Deucher/* APU */ 182e33df25fecd31be889a878bc75313817bc292bacAlex Deucher#define CG_THERMAL_STATUS 0x678 18321a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher 1840fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_HOST_PATH_CNTL 0x2C00 1850fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_NONSURFACE_BASE 0x2C04 1860fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_NONSURFACE_INFO 0x2C08 1870fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_NONSURFACE_SIZE 0x2C0C 1886f2f48a9a061a94d059f89c69472f467839cc616Alex Deucher#define HDP_MEM_COHERENCY_FLUSH_CNTL 0x5480 1890fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_REG_COHERENCY_FLUSH_CNTL 0x54A0 1900fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_TILING_CONFIG 0x2F3C 1910fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1920fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_SHARED_CHMAP 0x2004 1930fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCHAN_SHIFT 12 1940fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCHAN_MASK 0x00003000 1959535ab7323351bacf02d82af79921df1d6594969Alex Deucher#define MC_SHARED_CHREMAP 0x2008 1960fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1970fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_ARB_RAMCFG 0x2760 1980fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFBANK_SHIFT 0 1990fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFBANK_MASK 0x00000003 2000fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFRANK_SHIFT 2 2010fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFRANK_MASK 0x00000004 2020fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFROWS_SHIFT 3 2030fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFROWS_MASK 0x00000038 2040fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCOLS_SHIFT 6 2050fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCOLS_MASK 0x000000C0 2060fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CHANSIZE_SHIFT 8 2070fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CHANSIZE_MASK 0x00000100 2080fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BURSTLENGTH_SHIFT 9 2090fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BURSTLENGTH_MASK 0x00000200 2100fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CHANSIZE_OVERRIDE (1 << 11) 211d9282fca8a763be574a2fc20b2edcc6e132cbf90Alex Deucher#define FUS_MC_ARB_RAMCFG 0x2768 2120fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_AGP_TOP 0x2028 2130fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_AGP_BOT 0x202C 2140fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_AGP_BASE 0x2030 2150fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_FB_LOCATION 0x2024 216b4183e301ac1dfaf93e3e92fd70a0c3203c5a27dAlex Deucher#define MC_FUS_VM_FB_OFFSET 0x2898 2170fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB0_CNTL 0x2234 2180fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB1_CNTL 0x2238 2190fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB2_CNTL 0x223C 2200fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB3_CNTL 0x2240 2210fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L1_TLB (1 << 0) 2220fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L1_FRAGMENT_PROCESSING (1 << 1) 2230fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_PA_ONLY (0 << 3) 2240fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_USE_SYS_MAP (1 << 3) 2250fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_IN_SYS (2 << 3) 2260fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_NOT_IN_SYS (3 << 3) 2270fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_APERTURE_UNMAPPED_ACCESS_PASS_THRU (0 << 5) 2280fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EFFECTIVE_L1_TLB_SIZE(x) ((x)<<15) 2290fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EFFECTIVE_L1_QUEUE_SIZE(x) ((x)<<18) 2300fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MD_L1_TLB0_CNTL 0x2654 2310fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MD_L1_TLB1_CNTL 0x2658 2320fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MD_L1_TLB2_CNTL 0x265C 2338aeb96f80232e9a701b5c4715504f4c9173978bdAlex Deucher 2348aeb96f80232e9a701b5c4715504f4c9173978bdAlex Deucher#define FUS_MC_VM_MD_L1_TLB0_CNTL 0x265C 2358aeb96f80232e9a701b5c4715504f4c9173978bdAlex Deucher#define FUS_MC_VM_MD_L1_TLB1_CNTL 0x2660 2368aeb96f80232e9a701b5c4715504f4c9173978bdAlex Deucher#define FUS_MC_VM_MD_L1_TLB2_CNTL 0x2664 2378aeb96f80232e9a701b5c4715504f4c9173978bdAlex Deucher 2380fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR 0x203C 2390fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_SYSTEM_APERTURE_HIGH_ADDR 0x2038 2400fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_SYSTEM_APERTURE_LOW_ADDR 0x2034 2410fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2420fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_CL_ENHANCE 0x8A14 2430fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CLIP_VTX_REORDER_ENA (1 << 0) 2440fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_CLIP_SEQ(x) ((x) << 1) 245721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define PA_SC_ENHANCE 0x8BF0 2460fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_AA_CONFIG 0x28C04 247cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define MSAA_NUM_SAMPLES_SHIFT 0 248cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define MSAA_NUM_SAMPLES_MASK 0x3 2490fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_CLIPRECT_RULE 0x2820C 2500fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_EDGERULE 0x28230 2510fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_FIFO_SIZE 0x8BCC 2520fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SC_PRIM_FIFO_SIZE(x) ((x) << 0) 2530fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SC_HIZ_TILE_FIFO_SIZE(x) ((x) << 12) 25432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SC_EARLYZ_TILE_FIFO_SIZE(x) ((x) << 20) 2550fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_FORCE_EOV_MAX_CNTS 0x8B24 25632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define FORCE_EOV_MAX_CLK_CNT(x) ((x) << 0) 25732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define FORCE_EOV_MAX_REZ_CNT(x) ((x) << 16) 2580fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_LINE_STIPPLE 0x28A0C 259129205910f882e25c728e0e415743f8451a4c470Alex Deucher#define PA_SU_LINE_STIPPLE_VALUE 0x8A60 2600fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_LINE_STIPPLE_STATE 0x8B10 2610fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2620fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG0 0x8500 2630fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG1 0x8504 2640fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG2 0x8508 2650fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG3 0x850C 2660fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG4 0x8510 2670fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG5 0x8514 2680fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG6 0x8518 2690fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG7 0x851C 2700fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_UMSK 0x8540 2710fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_ADDR 0x8544 2720fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2730fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SMX_DC_CTL0 0xA020 2740fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define USE_HASH_FUNCTION (1 << 0) 27532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUMBER_OF_SETS(x) ((x) << 1) 2760fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define FLUSH_ALL_ON_EVENT (1 << 10) 2770fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define STALL_ON_EVENT (1 << 11) 2780fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SMX_EVENT_CTL 0xA02C 2790fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ES_FLUSH_CTL(x) ((x) << 0) 2800fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GS_FLUSH_CTL(x) ((x) << 3) 2810fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ACK_FLUSH_CTL(x) ((x) << 6) 2820fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_FLUSH_CTL (1 << 8) 2830fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2840fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_CONFIG_CNTL 0x9100 2850fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GPR_WRITE_PRIORITY(x) ((x) << 0) 2860fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_CONFIG_CNTL_1 0x913C 2870fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VTX_DONE_DELAY(x) ((x) << 0) 2880fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INTERP_ONE_PRIM_PER_ROW (1 << 4) 2890fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_INPUT_Z 0x286D8 2900fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_PS_IN_CONTROL_0 0x286CC 2910fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_INTERP(x) ((x)<<0) 2920fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_ENA (1<<8) 2930fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_CENTROID (1<<9) 2940fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_ADDR(x) ((x)<<10) 2950fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PARAM_GEN(x) ((x)<<15) 2960fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PARAM_GEN_ADDR(x) ((x)<<19) 2970fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BARYC_SAMPLE_CNTL(x) ((x)<<26) 2980fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PERSP_GRADIENT_ENA (1<<28) 2990fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define LINEAR_GRADIENT_ENA (1<<29) 3000fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_SAMPLE (1<<30) 3010fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BARYC_AT_SAMPLE_ENA (1<<31) 3020fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3030fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_CONFIG 0x8C00 3040fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VC_ENABLE (1 << 0) 3050fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EXPORT_SRC_C (1 << 1) 30632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CS_PRIO(x) ((x) << 18) 30732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define LS_PRIO(x) ((x) << 20) 30832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define HS_PRIO(x) ((x) << 22) 30932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define PS_PRIO(x) ((x) << 24) 31032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define VS_PRIO(x) ((x) << 26) 31132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define GS_PRIO(x) ((x) << 28) 31232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define ES_PRIO(x) ((x) << 30) 3130fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_GPR_RESOURCE_MGMT_1 0x8C04 3140fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_PS_GPRS(x) ((x) << 0) 3150fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_VS_GPRS(x) ((x) << 16) 3160fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_CLAUSE_TEMP_GPRS(x) ((x) << 28) 3170fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_GPR_RESOURCE_MGMT_2 0x8C08 3180fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_GS_GPRS(x) ((x) << 0) 3190fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_ES_GPRS(x) ((x) << 16) 32032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_GPR_RESOURCE_MGMT_3 0x8C0C 32132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_HS_GPRS(x) ((x) << 0) 32232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_LS_GPRS(x) ((x) << 16) 323721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define SQ_GLOBAL_GPR_RESOURCE_MGMT_1 0x8C10 324721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define SQ_GLOBAL_GPR_RESOURCE_MGMT_2 0x8C14 32532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_THREAD_RESOURCE_MGMT 0x8C18 32632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_PS_THREADS(x) ((x) << 0) 32732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_VS_THREADS(x) ((x) << 8) 32832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_GS_THREADS(x) ((x) << 16) 32932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_ES_THREADS(x) ((x) << 24) 33032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_THREAD_RESOURCE_MGMT_2 0x8C1C 33132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_HS_THREADS(x) ((x) << 0) 33232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_LS_THREADS(x) ((x) << 8) 33332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_STACK_RESOURCE_MGMT_1 0x8C20 33432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_PS_STACK_ENTRIES(x) ((x) << 0) 33532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_VS_STACK_ENTRIES(x) ((x) << 16) 33632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_STACK_RESOURCE_MGMT_2 0x8C24 33732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_GS_STACK_ENTRIES(x) ((x) << 0) 33832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_ES_STACK_ENTRIES(x) ((x) << 16) 33932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_STACK_RESOURCE_MGMT_3 0x8C28 34032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_HS_STACK_ENTRIES(x) ((x) << 0) 34132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_LS_STACK_ENTRIES(x) ((x) << 16) 34232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_DYN_GPR_CNTL_PS_FLUSH_REQ 0x8D8C 343721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define SQ_DYN_GPR_SIMD_LOCK_EN 0x8D94 344721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define SQ_STATIC_THREAD_MGMT_1 0x8E20 345721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define SQ_STATIC_THREAD_MGMT_2 0x8E24 346721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define SQ_STATIC_THREAD_MGMT_3 0x8E28 34732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_LDS_RESOURCE_MGMT 0x8E2C 34832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher 3490fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_MS_FIFO_SIZES 0x8CF0 3500fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CACHE_FIFO_SIZE(x) ((x) << 0) 3510fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define FETCH_FIFO_HIWATER(x) ((x) << 8) 3520fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DONE_FIFO_HIWATER(x) ((x) << 16) 3530fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ALU_UPDATE_FIFO_HIWATER(x) ((x) << 24) 3540fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3550fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SX_DEBUG_1 0x9058 3560fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_NEW_SMX_ADDRESS (1 << 16) 3570fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SX_EXPORT_BUFFER_SIZES 0x900C 3580fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define COLOR_BUFFER_SIZE(x) ((x) << 0) 3590fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_BUFFER_SIZE(x) ((x) << 8) 3600fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SMX_BUFFER_SIZE(x) ((x) << 16) 361033b5650010652c069494df58424c4b98412fe3bAlex Deucher#define SX_MEMORY_EXPORT_BASE 0x9010 3620fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SX_MISC 0x28350 3630fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 36432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR0_SEL_0 0x9A20 36532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR0_SEL_1 0x9A24 36632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR1_SEL_0 0x9A28 36732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR1_SEL_1 0x9A2C 36832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR2_SEL_0 0x9A30 36932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR2_SEL_1 0x9A34 37032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR3_SEL_0 0x9A38 37132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR3_SEL_1 0x9A3C 37232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher 3730fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define TA_CNTL_AUX 0x9508 3740fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DISABLE_CUBE_WRAP (1 << 0) 3750fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DISABLE_CUBE_ANISO (1 << 1) 3760fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_GRADIENT (1 << 24) 3770fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_WALKER (1 << 25) 3780fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_ALIGNER (1 << 26) 3790fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3809535ab7323351bacf02d82af79921df1d6594969Alex Deucher#define TCP_CHAN_STEER_LO 0x960c 3819535ab7323351bacf02d82af79921df1d6594969Alex Deucher#define TCP_CHAN_STEER_HI 0x9610 3829535ab7323351bacf02d82af79921df1d6594969Alex Deucher 3830fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_CACHE_INVALIDATION 0x88C4 38432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CACHE_INVALIDATION(x) ((x) << 0) 3850fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VC_ONLY 0 3860fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define TC_ONLY 1 3870fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VC_AND_TC 2 3880fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define AUTO_INVLD_EN(x) ((x) << 6) 3890fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NO_AUTO 0 3900fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ES_AUTO 1 3910fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GS_AUTO 2 3920fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ES_AND_GS_AUTO 3 3930fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_GS_VERTEX_REUSE 0x88D4 3940fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_NUM_INSTANCES 0x8974 3950fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_OUT_DEALLOC_CNTL 0x28C5C 3960fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DEALLOC_DIST_MASK 0x0000007F 3970fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_VERTEX_REUSE_BLOCK_CNTL 0x28C58 3980fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VTX_REUSE_DEPTH_MASK 0x000000FF 3990fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 4000fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_CNTL 0x1410 4010fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_CONTEXT (1 << 0) 4020fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PAGE_TABLE_DEPTH(x) (((x) & 3) << 1) 4030fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define RANGE_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 4) 4040fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT1_CNTL 0x1414 4050fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PAGE_TABLE_BASE_ADDR 0x153C 4060fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PAGE_TABLE_END_ADDR 0x157C 4070fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PAGE_TABLE_START_ADDR 0x155C 4080fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR 0x1518 4090fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_REQUEST_RESPONSE 0x1470 4100fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define REQUEST_TYPE(x) (((x) & 0xf) << 0) 4110fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define RESPONSE_TYPE_MASK 0x000000F0 4120fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define RESPONSE_TYPE_SHIFT 4 4130fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_CNTL 0x1400 4140fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L2_CACHE (1 << 0) 4150fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L2_FRAGMENT_PROCESSING (1 << 1) 4160fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L2_PTE_CACHE_LRU_UPDATE_BY_WRITE (1 << 9) 4170fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EFFECTIVE_L2_QUEUE_SIZE(x) (((x) & 7) << 14) 4180fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_CNTL2 0x1404 4190fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INVALIDATE_ALL_L1_TLBS (1 << 0) 4200fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INVALIDATE_L2_CACHE (1 << 1) 4210fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_CNTL3 0x1408 4220fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BANK_SELECT(x) ((x) << 0) 4230fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CACHE_UPDATE_MODE(x) ((x) << 6) 4240fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_STATUS 0x140C 4250fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define L2_BUSY (1 << 0) 4260fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 4270fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define WAIT_UNTIL 0x8040 4280fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 4290fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SRBM_STATUS 0x0E50 430747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SRBM_SOFT_RESET 0x0E60 431747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SRBM_SOFT_RESET_ALL_MASK 0x00FEEFA6 432747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_BIF (1 << 1) 433747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_CG (1 << 2) 434747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_DC (1 << 5) 435747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_GRBM (1 << 8) 436747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_HDP (1 << 9) 437747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_IH (1 << 10) 438747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_MC (1 << 11) 439747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_RLC (1 << 13) 440747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_ROM (1 << 14) 441747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SEM (1 << 15) 442747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_VMC (1 << 17) 443747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_TST (1 << 21) 444747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_REGBB (1 << 22) 445747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_ORB (1 << 23) 4460fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 447f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher/* display watermarks */ 448f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define DC_LB_MEMORY_SPLIT 0x6b0c 449f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PRIORITY_A_CNT 0x6b18 450f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PRIORITY_MARK_MASK 0x7fff 451f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PRIORITY_OFF (1 << 16) 452f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PRIORITY_ALWAYS_ON (1 << 20) 453f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PRIORITY_B_CNT 0x6b1c 454f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PIPE0_ARBITRATION_CONTROL3 0x0bf0 455f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher# define LATENCY_WATERMARK_MASK(x) ((x) << 16) 456f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PIPE0_LATENCY_CONTROL 0x0bf4 457f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher# define LATENCY_LOW_WATERMARK(x) ((x) << 0) 458f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher# define LATENCY_HIGH_WATERMARK(x) ((x) << 16) 459f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher 46045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_CNTL 0x3e00 46145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_RB_ENABLE (1 << 0) 46245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_IB_SIZE(x) ((x) << 1) /* log2 */ 46345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_RB_FULL_DRAIN_ENABLE (1 << 6) 46445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_WRITEBACK_ENABLE (1 << 8) 46545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_WRITEBACK_TIMER(x) ((x) << 9) /* log2 */ 46645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_OVERFLOW_ENABLE (1 << 16) 46745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_OVERFLOW_CLEAR (1 << 31) 46845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_BASE 0x3e04 46945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_RPTR 0x3e08 47045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_WPTR 0x3e0c 47145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RB_OVERFLOW (1 << 0) 47245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define WPTR_OFFSET_MASK 0x3fffc 47345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_WPTR_ADDR_HI 0x3e10 47445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_WPTR_ADDR_LO 0x3e14 47545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_CNTL 0x3e18 47645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define ENABLE_INTR (1 << 0) 477fcb857abc4c0d512e99a08ba0415be9a6d65b4c0Alex Deucher# define IH_MC_SWAP(x) ((x) << 1) 47845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_NONE 0 47945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_16BIT 1 48045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_32BIT 2 48145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_64BIT 3 48245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RPTR_REARM (1 << 4) 48345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define MC_WRREQ_CREDIT(x) ((x) << 15) 48445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define MC_WR_CLEAN_CNT(x) ((x) << 20) 48545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 48645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define CP_INT_CNTL 0xc124 48745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define CNTX_BUSY_INT_ENABLE (1 << 19) 48845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define CNTX_EMPTY_INT_ENABLE (1 << 20) 48945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define SCRATCH_INT_ENABLE (1 << 25) 49045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define TIME_STAMP_INT_ENABLE (1 << 26) 49145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB2_INT_ENABLE (1 << 29) 49245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB1_INT_ENABLE (1 << 30) 49345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RB_INT_ENABLE (1 << 31) 49445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define CP_INT_STATUS 0xc128 49545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define SCRATCH_INT_STAT (1 << 25) 49645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define TIME_STAMP_INT_STAT (1 << 26) 49745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB2_INT_STAT (1 << 29) 49845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB1_INT_STAT (1 << 30) 49945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RB_INT_STAT (1 << 31) 50045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 50145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define GRBM_INT_CNTL 0x8060 50245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RDERR_INT_ENABLE (1 << 0) 50345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GUI_IDLE_INT_ENABLE (1 << 19) 50445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 50545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6e98, 0x7a98, 0x10698, 0x11298, 0x11e98, 0x12a98 */ 50645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define CRTC_STATUS_FRAME_COUNT 0x6e98 50745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 50845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6bb8, 0x77b8, 0x103b8, 0x10fb8, 0x11bb8, 0x127b8 */ 50945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define VLINE_STATUS 0x6bb8 51045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_OCCURRED (1 << 0) 51145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_ACK (1 << 4) 51245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_STAT (1 << 12) 51345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_INTERRUPT (1 << 16) 51445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_INTERRUPT_TYPE (1 << 17) 51545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6bbc, 0x77bc, 0x103bc, 0x10fbc, 0x11bbc, 0x127bc */ 51645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define VBLANK_STATUS 0x6bbc 51745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_OCCURRED (1 << 0) 51845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_ACK (1 << 4) 51945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_STAT (1 << 12) 52045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_INTERRUPT (1 << 16) 52145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_INTERRUPT_TYPE (1 << 17) 52245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 52345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6b40, 0x7740, 0x10340, 0x10f40, 0x11b40, 0x12740 */ 52445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define INT_MASK 0x6b40 52545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_INT_MASK (1 << 0) 52645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_INT_MASK (1 << 4) 52745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 52845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS 0x60f4 52945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D1_VLINE_INTERRUPT (1 << 2) 53045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D1_VBLANK_INTERRUPT (1 << 3) 53145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD1_INTERRUPT (1 << 17) 53245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD1_RX_INTERRUPT (1 << 18) 53345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DACA_AUTODETECT_INTERRUPT (1 << 22) 53445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DACB_AUTODETECT_INTERRUPT (1 << 23) 53545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_I2C_SW_DONE_INTERRUPT (1 << 24) 53645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_I2C_HW_DONE_INTERRUPT (1 << 25) 53745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE 0x60f8 53845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D2_VLINE_INTERRUPT (1 << 2) 53945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D2_VBLANK_INTERRUPT (1 << 3) 54045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD2_INTERRUPT (1 << 17) 54145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD2_RX_INTERRUPT (1 << 18) 54245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DISP_TIMER_INTERRUPT (1 << 24) 54345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE2 0x60fc 54445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D3_VLINE_INTERRUPT (1 << 2) 54545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D3_VBLANK_INTERRUPT (1 << 3) 54645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD3_INTERRUPT (1 << 17) 54745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD3_RX_INTERRUPT (1 << 18) 54845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE3 0x6100 54945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D4_VLINE_INTERRUPT (1 << 2) 55045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D4_VBLANK_INTERRUPT (1 << 3) 55145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD4_INTERRUPT (1 << 17) 55245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD4_RX_INTERRUPT (1 << 18) 55345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE4 0x614c 55445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D5_VLINE_INTERRUPT (1 << 2) 55545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D5_VBLANK_INTERRUPT (1 << 3) 55645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD5_INTERRUPT (1 << 17) 55745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD5_RX_INTERRUPT (1 << 18) 55837cba6c6f4687e694ac6e3adcf2c2b2974aa3aaeAlex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE5 0x6150 55945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D6_VLINE_INTERRUPT (1 << 2) 56045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D6_VBLANK_INTERRUPT (1 << 3) 56145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD6_INTERRUPT (1 << 17) 56245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD6_RX_INTERRUPT (1 << 18) 56345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 56445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6858, 0x7458, 0x10058, 0x10c58, 0x11858, 0x12458 */ 56545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define GRPH_INT_STATUS 0x6858 56645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_OCCURRED (1 << 0) 56745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_CLEAR (1 << 8) 56845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x685c, 0x745c, 0x1005c, 0x10c5c, 0x1185c, 0x1245c */ 56945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define GRPH_INT_CONTROL 0x685c 57045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_MASK (1 << 0) 57145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_TYPE (1 << 8) 57245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 57345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DACA_AUTODETECT_INT_CONTROL 0x66c8 57445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DACB_AUTODETECT_INT_CONTROL 0x67c8 57545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 57645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD1_INT_STATUS 0x601c 57745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD2_INT_STATUS 0x6028 57845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD3_INT_STATUS 0x6034 57945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD4_INT_STATUS 0x6040 58045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD5_INT_STATUS 0x604c 58145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD6_INT_STATUS 0x6058 58245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_STATUS (1 << 0) 58345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_SENSE (1 << 1) 58445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_STATUS (1 << 8) 58545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 58645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD1_INT_CONTROL 0x6020 58745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD2_INT_CONTROL 0x602c 58845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD3_INT_CONTROL 0x6038 58945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD4_INT_CONTROL 0x6044 59045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD5_INT_CONTROL 0x6050 59145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD6_INT_CONTROL 0x605c 59245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_ACK (1 << 0) 59345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_POLARITY (1 << 8) 59445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_EN (1 << 16) 59545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_ACK (1 << 20) 59645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_EN (1 << 24) 59745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 59845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD1_CONTROL 0x6024 59945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD2_CONTROL 0x6030 60045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD3_CONTROL 0x603c 60145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD4_CONTROL 0x6048 60245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD5_CONTROL 0x6054 60345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD6_CONTROL 0x6060 60445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_CONNECTION_TIMER(x) ((x) << 0) 60545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_TIMER(x) ((x) << 16) 60645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_EN (1 << 28) 60745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 6089e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher/* PCIE link stuff */ 6099e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher#define PCIE_LC_TRAINING_CNTL 0xa1 /* PCIE_P */ 6109e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher#define PCIE_LC_LINK_WIDTH_CNTL 0xa2 /* PCIE_P */ 6119e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_SHIFT 0 6129e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_MASK 0x7 6139e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X0 0 6149e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X1 1 6159e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X2 2 6169e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X4 3 6179e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X8 4 6189e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X16 6 6199e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_RD_SHIFT 4 6209e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_RD_MASK 0x70 6219e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_RECONFIG_ARC_MISSING_ESCAPE (1 << 7) 6229e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_RECONFIG_NOW (1 << 8) 6239e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_RENEGOTIATION_SUPPORT (1 << 9) 6249e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_RENEGOTIATE_EN (1 << 10) 6259e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_SHORT_RECONFIG_EN (1 << 11) 6269e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_UPCONFIGURE_SUPPORT (1 << 12) 6279e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_UPCONFIGURE_DIS (1 << 13) 6289e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher#define PCIE_LC_SPEED_CNTL 0xa4 /* PCIE_P */ 6299e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_GEN2_EN_STRAP (1 << 0) 6309e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_TARGET_LINK_SPEED_OVERRIDE_EN (1 << 1) 6319e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_FORCE_EN_HW_SPEED_CHANGE (1 << 5) 6329e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_FORCE_DIS_HW_SPEED_CHANGE (1 << 6) 6339e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_SPEED_CHANGE_ATTEMPTS_ALLOWED_MASK (0x3 << 8) 6349e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_SPEED_CHANGE_ATTEMPTS_ALLOWED_SHIFT 3 6359e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_CURRENT_DATA_RATE (1 << 11) 6369e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_VOLTAGE_TIMER_SEL_MASK (0xf << 14) 6379e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_CLR_FAILED_SPD_CHANGE_CNT (1 << 21) 6389e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_OTHER_SIDE_EVER_SENT_GEN2 (1 << 23) 6399e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_OTHER_SIDE_SUPPORTS_GEN2 (1 << 24) 6409e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher#define MM_CFGREGS_CNTL 0x544c 6419e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define MM_WR_TO_CFG_EN (1 << 3) 6429e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher#define LINK_CNTL2 0x88 /* F0 */ 6439e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define TARGET_LINK_SPEED_MASK (0xf << 0) 6449e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define SELECTABLE_DEEMPHASIS (1 << 6) 6459e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher 646cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* 647cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher * PM4 648cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher */ 649cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE0 0 650cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE1 1 651cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE2 2 652cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE3 3 653cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 654cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET_GET_TYPE(h) (((h) >> 30) & 3) 655cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET_GET_COUNT(h) (((h) >> 16) & 0x3FFF) 656cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET0_GET_REG(h) (((h) & 0xFFFF) << 2) 657cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET3_GET_OPCODE(h) (((h) >> 8) & 0xFF) 658cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET0(reg, n) ((PACKET_TYPE0 << 30) | \ 659cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher (((reg) >> 2) & 0xFFFF) | \ 660cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher ((n) & 0x3FFF) << 16) 661cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET2 0x80000000 662cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET2_PAD_SHIFT 0 663cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET2_PAD_MASK (0x3fffffff << 0) 664cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 665cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET2(v) (CP_PACKET2 | REG_SET(PACKET2_PAD, (v))) 666cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 667cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3(op, n) ((PACKET_TYPE3 << 30) | \ 668cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher (((op) & 0xFF) << 8) | \ 669cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher ((n) & 0x3FFF) << 16) 670cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 671cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* Packet 3 types */ 672cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_NOP 0x10 673cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BASE 0x11 674cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_CLEAR_STATE 0x12 67532171d2297daa2fe90d6ef41c5424ca9ac5bd797Alex Deucher#define PACKET3_INDEX_BUFFER_SIZE 0x13 676cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DISPATCH_DIRECT 0x15 677cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DISPATCH_INDIRECT 0x16 678cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDIRECT_BUFFER_END 0x17 679129205910f882e25c728e0e415743f8451a4c470Alex Deucher#define PACKET3_MODE_CONTROL 0x18 680cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_PREDICATION 0x20 681cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_REG_RMW 0x21 682cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_COND_EXEC 0x22 683cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_PRED_EXEC 0x23 684cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDIRECT 0x24 685cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_INDIRECT 0x25 686cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDEX_BASE 0x26 687cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_2 0x27 688cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_CONTEXT_CONTROL 0x28 689cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_OFFSET 0x29 690cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDEX_TYPE 0x2A 691cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX 0x2B 692cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_AUTO 0x2D 693cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_IMMD 0x2E 694cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_NUM_INSTANCES 0x2F 695cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_MULTI_AUTO 0x30 696cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_STRMOUT_BUFFER_UPDATE 0x34 697cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_OFFSET_2 0x35 698cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_MULTI_ELEMENT 0x36 699cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_MEM_SEMAPHORE 0x39 700cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_MPEG_INDEX 0x3A 701721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define PACKET3_COPY_DW 0x3B 702cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_WAIT_REG_MEM 0x3C 703cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_MEM_WRITE 0x3D 704cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDIRECT_BUFFER 0x32 705cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SURFACE_SYNC 0x43 706cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB0_DEST_BASE_ENA (1 << 6) 707cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB1_DEST_BASE_ENA (1 << 7) 708cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB2_DEST_BASE_ENA (1 << 8) 709cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB3_DEST_BASE_ENA (1 << 9) 710cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB4_DEST_BASE_ENA (1 << 10) 711cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB5_DEST_BASE_ENA (1 << 11) 712cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB6_DEST_BASE_ENA (1 << 12) 713cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB7_DEST_BASE_ENA (1 << 13) 714cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_DB_DEST_BASE_ENA (1 << 14) 715cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB8_DEST_BASE_ENA (1 << 15) 716cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB9_DEST_BASE_ENA (1 << 16) 717cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB10_DEST_BASE_ENA (1 << 17) 71832171d2297daa2fe90d6ef41c5424ca9ac5bd797Alex Deucher# define PACKET3_CB11_DEST_BASE_ENA (1 << 18) 719cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_FULL_CACHE_ENA (1 << 20) 720cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_TC_ACTION_ENA (1 << 23) 721cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_VC_ACTION_ENA (1 << 24) 722cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB_ACTION_ENA (1 << 25) 723cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_DB_ACTION_ENA (1 << 26) 724cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_SH_ACTION_ENA (1 << 27) 72532171d2297daa2fe90d6ef41c5424ca9ac5bd797Alex Deucher# define PACKET3_SX_ACTION_ENA (1 << 28) 726cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ME_INITIALIZE 0x44 727cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ME_INITIALIZE_DEVICE_ID(x) ((x) << 16) 728cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_COND_WRITE 0x45 729cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_EVENT_WRITE 0x46 730cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_EVENT_WRITE_EOP 0x47 731cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_EVENT_WRITE_EOS 0x48 732cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_PREAMBLE_CNTL 0x4A 7332281a378e1830d7ab78d3067f228e4e55d368b0dAlex Deucher# define PACKET3_PREAMBLE_BEGIN_CLEAR_STATE (2 << 28) 7342281a378e1830d7ab78d3067f228e4e55d368b0dAlex Deucher# define PACKET3_PREAMBLE_END_CLEAR_STATE (3 << 28) 735cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_RB_OFFSET 0x4B 736cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_PS_CONST_BUFFER_COPY 0x4C 737cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_VS_CONST_BUFFER_COPY 0x4D 738cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_PS_CONST_UPDATE 0x4E 739cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_VS_CONST_UPDATE 0x4F 740cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ONE_REG_WRITE 0x57 741cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONFIG_REG 0x68 742cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONFIG_REG_START 0x00008000 743cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONFIG_REG_END 0x0000ac00 744cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG 0x69 745cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG_START 0x00028000 746cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG_END 0x00029000 747cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_ALU_CONST 0x6A 748cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* alu const buffers only; no reg file */ 749cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BOOL_CONST 0x6B 750cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BOOL_CONST_START 0x0003a500 751cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BOOL_CONST_END 0x0003a518 752cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_LOOP_CONST 0x6C 753cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_LOOP_CONST_START 0x0003a200 754cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_LOOP_CONST_END 0x0003a500 755cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE 0x6D 756cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_START 0x00030000 757cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_END 0x00038000 758cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_SAMPLER 0x6E 759cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_SAMPLER_START 0x0003c000 760cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_SAMPLER_END 0x0003c600 761cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CTL_CONST 0x6F 762cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CTL_CONST_START 0x0003cff0 763cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CTL_CONST_END 0x0003ff0c 764cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_OFFSET 0x70 765cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_ALU_CONST_VS 0x71 766cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_ALU_CONST_DI 0x72 767cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG_INDIRECT 0x73 768cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_INDIRECT 0x74 769cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_APPEND_CNT 0x75 770cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 771cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_RESOURCE_CONSTANT_WORD7_0 0x3001c 772cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define S__SQ_CONSTANT_TYPE(x) (((x) & 3) << 30) 773cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define G__SQ_CONSTANT_TYPE(x) (((x) >> 30) & 3) 774cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_INVALID_TEXTURE 0x0 775cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_INVALID_BUFFER 0x1 776cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_VALID_TEXTURE 0x2 777cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_VALID_BUFFER 0x3 778cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 779721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_VTX_VECT_EJECT_REG 0x88b0 780721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse 781cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_CONST_MEM_BASE 0x8df8 782cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 7838aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_ESGS_RING_BASE 0x8c40 784cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESGS_RING_SIZE 0x8c44 7858aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_GSVS_RING_BASE 0x8c48 786cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_SIZE 0x8c4c 7878aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_ESTMP_RING_BASE 0x8c50 788cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESTMP_RING_SIZE 0x8c54 7898aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_GSTMP_RING_BASE 0x8c58 790cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSTMP_RING_SIZE 0x8c5c 7918aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_VSTMP_RING_BASE 0x8c60 792cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_VSTMP_RING_SIZE 0x8c64 7938aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_PSTMP_RING_BASE 0x8c68 794cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PSTMP_RING_SIZE 0x8c6c 7958aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_LSTMP_RING_BASE 0x8e10 796cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_LSTMP_RING_SIZE 0x8e14 7978aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_HSTMP_RING_BASE 0x8e18 798cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_HSTMP_RING_SIZE 0x8e1c 799cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define VGT_TF_RING_SIZE 0x8988 800cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 801cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESGS_RING_ITEMSIZE 0x28900 802cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_ITEMSIZE 0x28904 803cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESTMP_RING_ITEMSIZE 0x28908 804cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSTMP_RING_ITEMSIZE 0x2890c 805cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_VSTMP_RING_ITEMSIZE 0x28910 806cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PSTMP_RING_ITEMSIZE 0x28914 807cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_LSTMP_RING_ITEMSIZE 0x28830 808cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_HSTMP_RING_ITEMSIZE 0x28834 809cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 810cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE 0x2891c 811cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE_1 0x28920 812cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE_2 0x28924 813cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE_3 0x28928 814cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_OFFSET_1 0x2892c 815cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_OFFSET_2 0x28930 816cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_OFFSET_3 0x28934 817cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 81860a4a3e0ce0b575e8b4cb6bf39d2c40e403bdfc7Alex Deucher#define SQ_ALU_CONST_BUFFER_SIZE_PS_0 0x28140 81960a4a3e0ce0b575e8b4cb6bf39d2c40e403bdfc7Alex Deucher#define SQ_ALU_CONST_BUFFER_SIZE_HS_0 0x28f80 82060a4a3e0ce0b575e8b4cb6bf39d2c40e403bdfc7Alex Deucher 821cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_0 0x28940 822cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_1 0x28944 823cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_2 0x28948 824cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_3 0x2894c 825cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_4 0x28950 826cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_5 0x28954 827cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_6 0x28958 828cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_7 0x2895c 829cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_8 0x28960 830cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_9 0x28964 831cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_10 0x28968 832cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_11 0x2896c 833cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_12 0x28970 834cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_13 0x28974 835cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_14 0x28978 836cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_15 0x2897c 837cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_0 0x28980 838cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_1 0x28984 839cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_2 0x28988 840cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_3 0x2898c 841cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_4 0x28990 842cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_5 0x28994 843cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_6 0x28998 844cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_7 0x2899c 845cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_8 0x289a0 846cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_9 0x289a4 847cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_10 0x289a8 848cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_11 0x289ac 849cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_12 0x289b0 850cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_13 0x289b4 851cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_14 0x289b8 852cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_15 0x289bc 853cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_0 0x289c0 854cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_1 0x289c4 855cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_2 0x289c8 856cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_3 0x289cc 857cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_4 0x289d0 858cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_5 0x289d4 859cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_6 0x289d8 860cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_7 0x289dc 861cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_8 0x289e0 862cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_9 0x289e4 863cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_10 0x289e8 864cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_11 0x289ec 865cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_12 0x289f0 866cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_13 0x289f4 867cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_14 0x289f8 868cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_15 0x289fc 869cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_0 0x28f00 870cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_1 0x28f04 871cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_2 0x28f08 872cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_3 0x28f0c 873cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_4 0x28f10 874cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_5 0x28f14 875cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_6 0x28f18 876cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_7 0x28f1c 877cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_8 0x28f20 878cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_9 0x28f24 879cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_10 0x28f28 880cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_11 0x28f2c 881cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_12 0x28f30 882cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_13 0x28f34 883cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_14 0x28f38 884cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_15 0x28f3c 885cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_0 0x28f40 886cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_1 0x28f44 887cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_2 0x28f48 888cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_3 0x28f4c 889cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_4 0x28f50 890cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_5 0x28f54 891cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_6 0x28f58 892cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_7 0x28f5c 893cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_8 0x28f60 894cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_9 0x28f64 895cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_10 0x28f68 896cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_11 0x28f6c 897cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_12 0x28f70 898cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_13 0x28f74 899cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_14 0x28f78 900cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_15 0x28f7c 901cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 902d7ccd8fc11700502b5a104b7bad595b492a3aa1bAlex Deucher#define PA_SC_SCREEN_SCISSOR_TL 0x28030 903d7ccd8fc11700502b5a104b7bad595b492a3aa1bAlex Deucher#define PA_SC_GENERIC_SCISSOR_TL 0x28240 904d7ccd8fc11700502b5a104b7bad595b492a3aa1bAlex Deucher#define PA_SC_WINDOW_SCISSOR_TL 0x28204 905d7ccd8fc11700502b5a104b7bad595b492a3aa1bAlex Deucher 906721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_PRIMITIVE_TYPE 0x8958 907721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_INDEX_TYPE 0x895C 908721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse 909721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_NUM_INDICES 0x8970 910721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse 911721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_DIM_X 0x8990 912721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_DIM_Y 0x8994 913721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_DIM_Z 0x8998 914721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_START_X 0x899C 915721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_START_Y 0x89A0 916721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_START_Z 0x89A4 917721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_INDEX 0x89A8 918721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_THREAD_GROUP_SIZE 0x89AC 919721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_HS_OFFCHIP_PARAM 0x89B0 920721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse 921721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define DB_DEBUG 0x9830 922721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define DB_DEBUG2 0x9834 923721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define DB_DEBUG3 0x9838 924721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define DB_DEBUG4 0x983C 925721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define DB_WATERMARKS 0x9854 926cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_DEPTH_CONTROL 0x28800 927cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_DEPTH_VIEW 0x28008 928cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_HTILE_DATA_BASE 0x28014 929cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_Z_INFO 0x28040 930cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define Z_ARRAY_MODE(x) ((x) << 4) 931f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define DB_TILE_SPLIT(x) (((x) & 0x7) << 8) 932f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define DB_NUM_BANKS(x) (((x) & 0x3) << 12) 933f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define DB_BANK_WIDTH(x) (((x) & 0x3) << 16) 934f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define DB_BANK_HEIGHT(x) (((x) & 0x3) << 20) 935cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_STENCIL_INFO 0x28044 936cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_Z_READ_BASE 0x28048 937cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_STENCIL_READ_BASE 0x2804c 938cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_Z_WRITE_BASE 0x28050 939cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_STENCIL_WRITE_BASE 0x28054 940cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_DEPTH_SIZE 0x28058 941cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 942cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_PS 0x28840 943cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_VS 0x2885c 944cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_GS 0x28874 945cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_ES 0x2888c 946cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_FS 0x288a4 947cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_HS 0x288b8 948cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_LS 0x288d0 949cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 950cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define VGT_STRMOUT_CONFIG 0x28b94 951cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define VGT_STRMOUT_BUFFER_CONFIG 0x28b98 952cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 953cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_TARGET_MASK 0x28238 954cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_SHADER_MASK 0x2823c 955cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 956cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define GDS_ADDR_BASE 0x28720 957cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 958cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED0_BASE 0x28b9c 959cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED1_BASE 0x28ba0 960cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED2_BASE 0x28ba4 961cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED3_BASE 0x28ba8 962cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED4_BASE 0x28bac 963cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED5_BASE 0x28bb0 964cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED6_BASE 0x28bb4 965cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED7_BASE 0x28bb8 966cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED8_BASE 0x28bbc 967cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED9_BASE 0x28bc0 968cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED10_BASE 0x28bc4 969cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED11_BASE 0x28bc8 970cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 971cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* all 12 CB blocks have these regs */ 972cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_BASE 0x28c60 973cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_PITCH 0x28c64 974cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_SLICE 0x28c68 975cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_VIEW 0x28c6c 976cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_INFO 0x28c70 9776018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define CB_FORMAT(x) ((x) << 2) 978cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define CB_ARRAY_MODE(x) ((x) << 8) 979cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_LINEAR_GENERAL 0 980cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_LINEAR_ALIGNED 1 981cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_1D_TILED_THIN1 2 982cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_2D_TILED_THIN1 4 9836018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define CB_SOURCE_FORMAT(x) ((x) << 24) 9846018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define CB_SF_EXPORT_FULL 0 9856018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define CB_SF_EXPORT_NORM 1 986cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_ATTRIB 0x28c74 987f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define CB_TILE_SPLIT(x) (((x) & 0x7) << 5) 988f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_TILE_SPLIT_64B 0 989f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_TILE_SPLIT_128B 1 990f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_TILE_SPLIT_256B 2 991f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_TILE_SPLIT_512B 3 992f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_TILE_SPLIT_1KB 4 993f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_TILE_SPLIT_2KB 5 994f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_TILE_SPLIT_4KB 6 995f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define CB_NUM_BANKS(x) (((x) & 0x3) << 10) 996f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_2_BANK 0 997f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_4_BANK 1 998f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_8_BANK 2 999f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_16_BANK 3 1000f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define CB_BANK_WIDTH(x) (((x) & 0x3) << 13) 1001f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_WIDTH_1 0 1002f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_WIDTH_2 1 1003f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_WIDTH_4 2 1004f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_WIDTH_8 3 1005f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define CB_BANK_HEIGHT(x) (((x) & 0x3) << 16) 1006f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_HEIGHT_1 0 1007f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_HEIGHT_2 1 1008f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_HEIGHT_4 2 1009f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_HEIGHT_8 3 1010cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_DIM 0x28c78 1011cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* only CB0-7 blocks have these regs */ 1012cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CMASK 0x28c7c 1013cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CMASK_SLICE 0x28c80 1014cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_FMASK 0x28c84 1015cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_FMASK_SLICE 0x28c88 1016cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD0 0x28c8c 1017cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD1 0x28c90 1018cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD2 0x28c94 1019cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD3 0x28c98 1020cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1021cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_BASE 0x28c9c 1022cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_BASE 0x28cd8 1023cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_BASE 0x28d14 1024cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_BASE 0x28d50 1025cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_BASE 0x28d8c 1026cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_BASE 0x28dc8 1027cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_BASE 0x28e04 1028cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_BASE 0x28e40 1029cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_BASE 0x28e5c 1030cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_BASE 0x28e78 1031cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_BASE 0x28e94 1032cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1033cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_PITCH 0x28ca0 1034cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_PITCH 0x28cdc 1035cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_PITCH 0x28d18 1036cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_PITCH 0x28d54 1037cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_PITCH 0x28d90 1038cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_PITCH 0x28dcc 1039cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_PITCH 0x28e08 1040cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_PITCH 0x28e44 1041cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_PITCH 0x28e60 1042cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_PITCH 0x28e7c 1043cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_PITCH 0x28e98 1044cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1045cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_SLICE 0x28ca4 1046cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_SLICE 0x28ce0 1047cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_SLICE 0x28d1c 1048cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_SLICE 0x28d58 1049cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_SLICE 0x28d94 1050cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_SLICE 0x28dd0 1051cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_SLICE 0x28e0c 1052cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_SLICE 0x28e48 1053cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_SLICE 0x28e64 1054cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_SLICE 0x28e80 1055cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_SLICE 0x28e9c 1056cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1057cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_VIEW 0x28ca8 1058cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_VIEW 0x28ce4 1059cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_VIEW 0x28d20 1060cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_VIEW 0x28d5c 1061cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_VIEW 0x28d98 1062cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_VIEW 0x28dd4 1063cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_VIEW 0x28e10 1064cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_VIEW 0x28e4c 1065cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_VIEW 0x28e68 1066cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_VIEW 0x28e84 1067cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_VIEW 0x28ea0 1068cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1069cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_INFO 0x28cac 1070cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_INFO 0x28ce8 1071cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_INFO 0x28d24 1072cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_INFO 0x28d60 1073cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_INFO 0x28d9c 1074cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_INFO 0x28dd8 1075cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_INFO 0x28e14 1076cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_INFO 0x28e50 1077cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_INFO 0x28e6c 1078cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_INFO 0x28e88 1079cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_INFO 0x28ea4 1080cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1081cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_ATTRIB 0x28cb0 1082cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_ATTRIB 0x28cec 1083cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_ATTRIB 0x28d28 1084cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_ATTRIB 0x28d64 1085cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_ATTRIB 0x28da0 1086cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_ATTRIB 0x28ddc 1087cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_ATTRIB 0x28e18 1088cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_ATTRIB 0x28e54 1089cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_ATTRIB 0x28e70 1090cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_ATTRIB 0x28e8c 1091cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_ATTRIB 0x28ea8 1092cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1093cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_DIM 0x28cb4 1094cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_DIM 0x28cf0 1095cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_DIM 0x28d2c 1096cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_DIM 0x28d68 1097cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_DIM 0x28da4 1098cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_DIM 0x28de0 1099cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_DIM 0x28e1c 1100cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_DIM 0x28e58 1101cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_DIM 0x28e74 1102cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_DIM 0x28e90 1103cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_DIM 0x28eac 1104cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1105cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CMASK 0x28cb8 1106cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CMASK 0x28cf4 1107cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CMASK 0x28d30 1108cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CMASK 0x28d6c 1109cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CMASK 0x28da8 1110cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CMASK 0x28de4 1111cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CMASK 0x28e20 1112cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1113cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CMASK_SLICE 0x28cbc 1114cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CMASK_SLICE 0x28cf8 1115cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CMASK_SLICE 0x28d34 1116cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CMASK_SLICE 0x28d70 1117cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CMASK_SLICE 0x28dac 1118cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CMASK_SLICE 0x28de8 1119cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CMASK_SLICE 0x28e24 1120cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1121cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_FMASK 0x28cc0 1122cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_FMASK 0x28cfc 1123cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_FMASK 0x28d38 1124cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_FMASK 0x28d74 1125cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_FMASK 0x28db0 1126cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_FMASK 0x28dec 1127cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_FMASK 0x28e28 1128cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1129cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_FMASK_SLICE 0x28cc4 1130cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_FMASK_SLICE 0x28d00 1131cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_FMASK_SLICE 0x28d3c 1132cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_FMASK_SLICE 0x28d78 1133cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_FMASK_SLICE 0x28db4 1134cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_FMASK_SLICE 0x28df0 1135cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_FMASK_SLICE 0x28e2c 1136cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1137cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD0 0x28cc8 1138cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD0 0x28d04 1139cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD0 0x28d40 1140cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD0 0x28d7c 1141cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD0 0x28db8 1142cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD0 0x28df4 1143cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD0 0x28e30 1144cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1145cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD1 0x28ccc 1146cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD1 0x28d08 1147cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD1 0x28d44 1148cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD1 0x28d80 1149cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD1 0x28dbc 1150cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD1 0x28df8 1151cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD1 0x28e34 1152cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1153cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD2 0x28cd0 1154cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD2 0x28d0c 1155cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD2 0x28d48 1156cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD2 0x28d84 1157cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD2 0x28dc0 1158cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD2 0x28dfc 1159cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD2 0x28e38 1160cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1161cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD3 0x28cd4 1162cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD3 0x28d10 1163cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD3 0x28d4c 1164cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD3 0x28d88 1165cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD3 0x28dc4 1166cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD3 0x28e00 1167cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD3 0x28e3c 1168cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1169cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD0_0 0x30000 11706018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define TEX_DIM(x) ((x) << 0) 11716018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_1D 0 11726018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_2D 1 11736018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_3D 2 11746018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_CUBEMAP 3 11756018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_1D_ARRAY 4 11766018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_2D_ARRAY 5 11776018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_2D_MSAA 6 11786018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_2D_ARRAY_MSAA 7 1179cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD1_0 0x30004 1180cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define TEX_ARRAY_MODE(x) ((x) << 28) 1181cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD2_0 0x30008 1182cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD3_0 0x3000C 1183cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD4_0 0x30010 11846018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define TEX_DST_SEL_X(x) ((x) << 16) 11856018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define TEX_DST_SEL_Y(x) ((x) << 19) 11866018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define TEX_DST_SEL_Z(x) ((x) << 22) 11876018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define TEX_DST_SEL_W(x) ((x) << 25) 11886018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_SEL_X 0 11896018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_SEL_Y 1 11906018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_SEL_Z 2 11916018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_SEL_W 3 11926018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_SEL_0 4 11936018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_SEL_1 5 1194cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD5_0 0x30014 1195cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD6_0 0x30018 1196f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define TEX_TILE_SPLIT(x) (((x) & 0x7) << 29) 1197cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD7_0 0x3001c 1198f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define TEX_BANK_WIDTH(x) (((x) & 0x3) << 8) 1199f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define TEX_BANK_HEIGHT(x) (((x) & 0x3) << 10) 1200f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define TEX_NUM_BANKS(x) (((x) & 0x3) << 16) 1201cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 12026018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD0_0 0x30000 12036018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD1_0 0x30004 12046018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD2_0 0x30008 12056018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_VTXC_BASE_ADDR_HI(x) ((x) << 0) 12066018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_VTXC_STRIDE(x) ((x) << 8) 12076018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_VTXC_ENDIAN_SWAP(x) ((x) << 30) 12086018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_ENDIAN_NONE 0 12096018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_ENDIAN_8IN16 1 12106018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_ENDIAN_8IN32 2 12116018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD3_0 0x3000C 12126018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_VTCX_SEL_X(x) ((x) << 3) 12136018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_VTCX_SEL_Y(x) ((x) << 6) 12146018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_VTCX_SEL_Z(x) ((x) << 9) 12156018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_VTCX_SEL_W(x) ((x) << 12) 12166018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD4_0 0x30010 12176018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD5_0 0x30014 12186018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD6_0 0x30018 12196018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD7_0 0x3001c 12206018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic 1221721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_PS_BORDER_COLOR_INDEX 0xA400 1222721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_PS_BORDER_COLOR_RED 0xA404 1223721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_PS_BORDER_COLOR_GREEN 0xA408 1224721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_PS_BORDER_COLOR_BLUE 0xA40C 1225721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_PS_BORDER_COLOR_ALPHA 0xA410 1226721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_VS_BORDER_COLOR_INDEX 0xA414 1227721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_VS_BORDER_COLOR_RED 0xA418 1228721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_VS_BORDER_COLOR_GREEN 0xA41C 1229721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_VS_BORDER_COLOR_BLUE 0xA420 1230721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_VS_BORDER_COLOR_ALPHA 0xA424 1231721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_GS_BORDER_COLOR_INDEX 0xA428 1232721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_GS_BORDER_COLOR_RED 0xA42C 1233721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_GS_BORDER_COLOR_GREEN 0xA430 1234721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_GS_BORDER_COLOR_BLUE 0xA434 1235721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_GS_BORDER_COLOR_ALPHA 0xA438 1236721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_HS_BORDER_COLOR_INDEX 0xA43C 1237721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_HS_BORDER_COLOR_RED 0xA440 1238721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_HS_BORDER_COLOR_GREEN 0xA444 1239721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_HS_BORDER_COLOR_BLUE 0xA448 1240721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_HS_BORDER_COLOR_ALPHA 0xA44C 1241721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_LS_BORDER_COLOR_INDEX 0xA450 1242721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_LS_BORDER_COLOR_RED 0xA454 1243721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_LS_BORDER_COLOR_GREEN 0xA458 1244721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_LS_BORDER_COLOR_BLUE 0xA45C 1245721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_LS_BORDER_COLOR_ALPHA 0xA460 1246721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_CS_BORDER_COLOR_INDEX 0xA464 1247721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_CS_BORDER_COLOR_RED 0xA468 1248721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_CS_BORDER_COLOR_GREEN 0xA46C 1249721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_CS_BORDER_COLOR_BLUE 0xA470 1250721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_CS_BORDER_COLOR_ALPHA 0xA474 1251721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse 1252c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher/* cayman 3D regs */ 1253721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define CAYMAN_VGT_OFFCHIP_LDS_BASE 0x89B4 1254721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define CAYMAN_SQ_EX_ALLOC_TABLE_SLOTS 0x8E48 1255c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher#define CAYMAN_DB_EQAA 0x28804 1256c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher#define CAYMAN_DB_DEPTH_INFO 0x2803C 1257c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher#define CAYMAN_PA_SC_AA_CONFIG 0x28BE0 1258c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher#define CAYMAN_MSAA_NUM_SAMPLES_SHIFT 0 1259c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher#define CAYMAN_MSAA_NUM_SAMPLES_MASK 0x7 1260033b5650010652c069494df58424c4b98412fe3bAlex Deucher#define CAYMAN_SX_SCATTER_EXPORT_BASE 0x28358 1261c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher/* cayman packet3 addition */ 1262c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher#define CAYMAN_PACKET3_DEALLOC_STATE 0x14 1263cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 12640fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#endif 1265