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 80dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27Marek Olšák#define CP_COHER_BASE 0x85F8 8132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CP_ME_CNTL 0x86D8 8232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CP_ME_HALT (1 << 28) 8332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CP_PFP_HALT (1 << 26) 840fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_ME_RAM_DATA 0xC160 850fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_ME_RAM_RADDR 0xC158 860fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_ME_RAM_WADDR 0xC15C 870fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_MEQ_THRESHOLDS 0x8764 880fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define STQ_SPLIT(x) ((x) << 0) 890fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_PERFMON_CNTL 0x87FC 900fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_PFP_UCODE_ADDR 0xC150 910fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_PFP_UCODE_DATA 0xC154 920fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_QUEUE_THRESHOLDS 0x8760 930fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ROQ_IB1_START(x) ((x) << 0) 940fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ROQ_IB2_START(x) ((x) << 8) 95fe251e2fffa1ebc17c8e6e895b0374ae4e732fa5Alex Deucher#define CP_RB_BASE 0xC100 960fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_CNTL 0xC104 9732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define RB_BUFSZ(x) ((x) << 0) 9832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define RB_BLKSZ(x) ((x) << 8) 9932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define RB_NO_UPDATE (1 << 27) 10032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define RB_RPTR_WR_ENA (1 << 31) 1010fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BUF_SWAP_32BIT (2 << 16) 1020fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_RPTR 0x8700 1030fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_RPTR_ADDR 0xC10C 1040f234f5fdca1e31c7a6333c3633edc653cf3e598Alex Deucher#define RB_RPTR_SWAP(x) ((x) << 0) 1050fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_RPTR_ADDR_HI 0xC110 1060fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_RPTR_WR 0xC108 1070fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_WPTR 0xC114 1080fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_WPTR_ADDR 0xC118 1090fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_WPTR_ADDR_HI 0xC11C 1100fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_RB_WPTR_DELAY 0x8704 1110fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CP_SEM_WAIT_TIMER 0x85BC 11211ef3f1f8780b64425a4cadbf42a46aa2e36895fAlex Deucher#define CP_SEM_INCOMPLETE_TIMER_CNTL 0x85C8 113fe251e2fffa1ebc17c8e6e895b0374ae4e732fa5Alex Deucher#define CP_DEBUG 0xC1FC 1140fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1150fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1160fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GC_USER_SHADER_PIPE_CONFIG 0x8954 1170fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INACTIVE_QD_PIPES(x) ((x) << 8) 1180fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INACTIVE_QD_PIPES_MASK 0x0000FF00 1190fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INACTIVE_SIMDS(x) ((x) << 16) 1200fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INACTIVE_SIMDS_MASK 0x00FF0000 1210fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1220fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GRBM_CNTL 0x8000 1230fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GRBM_READ_TIMEOUT(x) ((x) << 0) 1240fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GRBM_SOFT_RESET 0x8020 125747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_CP (1 << 0) 126747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_CB (1 << 1) 127747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_DB (1 << 3) 128747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_PA (1 << 5) 129747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SC (1 << 6) 130747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SPI (1 << 8) 131747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SH (1 << 9) 132747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SX (1 << 10) 133747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_TC (1 << 11) 134747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_TA (1 << 12) 135747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_VC (1 << 13) 136747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_VGT (1 << 14) 137747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher 1380fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GRBM_STATUS 0x8010 1390fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CMDFIFO_AVAIL_MASK 0x0000000F 140747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SRBM_RQ_PENDING (1 << 5) 141747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define CF_RQ_PENDING (1 << 7) 142747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define PF_RQ_PENDING (1 << 8) 143747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define GRBM_EE_BUSY (1 << 10) 144747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SX_CLEAN (1 << 11) 145747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define DB_CLEAN (1 << 12) 146747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define CB_CLEAN (1 << 13) 147747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define TA_BUSY (1 << 14) 148747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define VGT_BUSY_NO_DMA (1 << 16) 149747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define VGT_BUSY (1 << 17) 150747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SX_BUSY (1 << 20) 151747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SH_BUSY (1 << 21) 152747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SPI_BUSY (1 << 22) 153747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SC_BUSY (1 << 24) 154747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define PA_BUSY (1 << 25) 155747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define DB_BUSY (1 << 26) 156747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define CP_COHERENCY_BUSY (1 << 28) 157747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define CP_BUSY (1 << 29) 158747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define CB_BUSY (1 << 30) 159747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define GUI_ACTIVE (1 << 31) 160747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define GRBM_STATUS_SE0 0x8014 161747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define GRBM_STATUS_SE1 0x8018 162747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_SX_CLEAN (1 << 0) 163747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_DB_CLEAN (1 << 1) 164747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_CB_CLEAN (1 << 2) 165747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_TA_BUSY (1 << 25) 166747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_SX_BUSY (1 << 26) 167747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_SPI_BUSY (1 << 27) 168747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_SH_BUSY (1 << 28) 169747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_SC_BUSY (1 << 29) 170747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_DB_BUSY (1 << 30) 171747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SE_CB_BUSY (1 << 31) 172e33df25fecd31be889a878bc75313817bc292bacAlex Deucher/* evergreen */ 17367b3f823ec78d08aea8835bce2655674237abc1dAlex Deucher#define CG_THERMAL_CTRL 0x72c 17467b3f823ec78d08aea8835bce2655674237abc1dAlex Deucher#define TOFFSET_MASK 0x00003FE0 17567b3f823ec78d08aea8835bce2655674237abc1dAlex Deucher#define TOFFSET_SHIFT 5 17621a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher#define CG_MULT_THERMAL_STATUS 0x740 17721a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher#define ASIC_T(x) ((x) << 16) 17867b3f823ec78d08aea8835bce2655674237abc1dAlex Deucher#define ASIC_T_MASK 0x07FF0000 17921a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher#define ASIC_T_SHIFT 16 18067b3f823ec78d08aea8835bce2655674237abc1dAlex Deucher#define CG_TS0_STATUS 0x760 18167b3f823ec78d08aea8835bce2655674237abc1dAlex Deucher#define TS0_ADC_DOUT_MASK 0x000003FF 18267b3f823ec78d08aea8835bce2655674237abc1dAlex Deucher#define TS0_ADC_DOUT_SHIFT 0 183e33df25fecd31be889a878bc75313817bc292bacAlex Deucher/* APU */ 184e33df25fecd31be889a878bc75313817bc292bacAlex Deucher#define CG_THERMAL_STATUS 0x678 18521a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher 1860fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_HOST_PATH_CNTL 0x2C00 1870fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_NONSURFACE_BASE 0x2C04 1880fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_NONSURFACE_INFO 0x2C08 1890fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_NONSURFACE_SIZE 0x2C0C 1906f2f48a9a061a94d059f89c69472f467839cc616Alex Deucher#define HDP_MEM_COHERENCY_FLUSH_CNTL 0x5480 1910fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_REG_COHERENCY_FLUSH_CNTL 0x54A0 1920fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define HDP_TILING_CONFIG 0x2F3C 1930fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1940fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_SHARED_CHMAP 0x2004 1950fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCHAN_SHIFT 12 1960fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCHAN_MASK 0x00003000 1979535ab7323351bacf02d82af79921df1d6594969Alex Deucher#define MC_SHARED_CHREMAP 0x2008 1980fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 1990fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_ARB_RAMCFG 0x2760 2000fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFBANK_SHIFT 0 2010fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFBANK_MASK 0x00000003 2020fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFRANK_SHIFT 2 2030fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFRANK_MASK 0x00000004 2040fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFROWS_SHIFT 3 2050fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFROWS_MASK 0x00000038 2060fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCOLS_SHIFT 6 2070fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NOOFCOLS_MASK 0x000000C0 2080fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CHANSIZE_SHIFT 8 2090fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CHANSIZE_MASK 0x00000100 2100fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BURSTLENGTH_SHIFT 9 2110fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BURSTLENGTH_MASK 0x00000200 2120fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CHANSIZE_OVERRIDE (1 << 11) 213d9282fca8a763be574a2fc20b2edcc6e132cbf90Alex Deucher#define FUS_MC_ARB_RAMCFG 0x2768 2140fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_AGP_TOP 0x2028 2150fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_AGP_BOT 0x202C 2160fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_AGP_BASE 0x2030 2170fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_FB_LOCATION 0x2024 218b4183e301ac1dfaf93e3e92fd70a0c3203c5a27dAlex Deucher#define MC_FUS_VM_FB_OFFSET 0x2898 2190fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB0_CNTL 0x2234 2200fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB1_CNTL 0x2238 2210fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB2_CNTL 0x223C 2220fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MB_L1_TLB3_CNTL 0x2240 2230fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L1_TLB (1 << 0) 2240fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L1_FRAGMENT_PROCESSING (1 << 1) 2250fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_PA_ONLY (0 << 3) 2260fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_USE_SYS_MAP (1 << 3) 2270fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_IN_SYS (2 << 3) 2280fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_ACCESS_MODE_NOT_IN_SYS (3 << 3) 2290fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYSTEM_APERTURE_UNMAPPED_ACCESS_PASS_THRU (0 << 5) 2300fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EFFECTIVE_L1_TLB_SIZE(x) ((x)<<15) 2310fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EFFECTIVE_L1_QUEUE_SIZE(x) ((x)<<18) 2320fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MD_L1_TLB0_CNTL 0x2654 2330fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MD_L1_TLB1_CNTL 0x2658 2340fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_MD_L1_TLB2_CNTL 0x265C 235fe3777aab674403f6da7f168b28b5ef5d369e426Alex Deucher#define MC_VM_MD_L1_TLB3_CNTL 0x2698 2368aeb96f80232e9a701b5c4715504f4c9173978bdAlex Deucher 2378aeb96f80232e9a701b5c4715504f4c9173978bdAlex Deucher#define FUS_MC_VM_MD_L1_TLB0_CNTL 0x265C 2388aeb96f80232e9a701b5c4715504f4c9173978bdAlex Deucher#define FUS_MC_VM_MD_L1_TLB1_CNTL 0x2660 2398aeb96f80232e9a701b5c4715504f4c9173978bdAlex Deucher#define FUS_MC_VM_MD_L1_TLB2_CNTL 0x2664 2408aeb96f80232e9a701b5c4715504f4c9173978bdAlex Deucher 2410fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR 0x203C 2420fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_SYSTEM_APERTURE_HIGH_ADDR 0x2038 2430fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define MC_VM_SYSTEM_APERTURE_LOW_ADDR 0x2034 2440fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2450fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_CL_ENHANCE 0x8A14 2460fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CLIP_VTX_REORDER_ENA (1 << 0) 2470fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_CLIP_SEQ(x) ((x) << 1) 248721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define PA_SC_ENHANCE 0x8BF0 2490fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_AA_CONFIG 0x28C04 250cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define MSAA_NUM_SAMPLES_SHIFT 0 251cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define MSAA_NUM_SAMPLES_MASK 0x3 2520fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_CLIPRECT_RULE 0x2820C 2530fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_EDGERULE 0x28230 2540fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_FIFO_SIZE 0x8BCC 2550fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SC_PRIM_FIFO_SIZE(x) ((x) << 0) 2560fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SC_HIZ_TILE_FIFO_SIZE(x) ((x) << 12) 25732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SC_EARLYZ_TILE_FIFO_SIZE(x) ((x) << 20) 2580fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_FORCE_EOV_MAX_CNTS 0x8B24 25932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define FORCE_EOV_MAX_CLK_CNT(x) ((x) << 0) 26032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define FORCE_EOV_MAX_REZ_CNT(x) ((x) << 16) 2610fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_LINE_STIPPLE 0x28A0C 262129205910f882e25c728e0e415743f8451a4c470Alex Deucher#define PA_SU_LINE_STIPPLE_VALUE 0x8A60 2630fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PA_SC_LINE_STIPPLE_STATE 0x8B10 2640fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2650fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG0 0x8500 2660fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG1 0x8504 2670fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG2 0x8508 2680fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG3 0x850C 2690fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG4 0x8510 2700fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG5 0x8514 2710fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG6 0x8518 2720fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_REG7 0x851C 2730fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_UMSK 0x8540 2740fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SCRATCH_ADDR 0x8544 2750fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 276789ed2afd385af95798c6ec419ad41f8801975a4Alex Deucher#define SMX_SAR_CTL0 0xA008 2770fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SMX_DC_CTL0 0xA020 2780fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define USE_HASH_FUNCTION (1 << 0) 27932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUMBER_OF_SETS(x) ((x) << 1) 2800fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define FLUSH_ALL_ON_EVENT (1 << 10) 2810fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define STALL_ON_EVENT (1 << 11) 2820fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SMX_EVENT_CTL 0xA02C 2830fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ES_FLUSH_CTL(x) ((x) << 0) 2840fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GS_FLUSH_CTL(x) ((x) << 3) 2850fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ACK_FLUSH_CTL(x) ((x) << 6) 2860fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_FLUSH_CTL (1 << 8) 2870fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 2880fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_CONFIG_CNTL 0x9100 2890fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GPR_WRITE_PRIORITY(x) ((x) << 0) 2900fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_CONFIG_CNTL_1 0x913C 2910fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VTX_DONE_DELAY(x) ((x) << 0) 2920fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INTERP_ONE_PRIM_PER_ROW (1 << 4) 2930fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_INPUT_Z 0x286D8 2940fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SPI_PS_IN_CONTROL_0 0x286CC 2950fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_INTERP(x) ((x)<<0) 2960fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_ENA (1<<8) 2970fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_CENTROID (1<<9) 2980fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_ADDR(x) ((x)<<10) 2990fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PARAM_GEN(x) ((x)<<15) 3000fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PARAM_GEN_ADDR(x) ((x)<<19) 3010fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BARYC_SAMPLE_CNTL(x) ((x)<<26) 3020fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PERSP_GRADIENT_ENA (1<<28) 3030fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define LINEAR_GRADIENT_ENA (1<<29) 3040fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_SAMPLE (1<<30) 3050fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BARYC_AT_SAMPLE_ENA (1<<31) 3060fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3070fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_CONFIG 0x8C00 3080fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VC_ENABLE (1 << 0) 3090fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EXPORT_SRC_C (1 << 1) 31032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CS_PRIO(x) ((x) << 18) 31132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define LS_PRIO(x) ((x) << 20) 31232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define HS_PRIO(x) ((x) << 22) 31332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define PS_PRIO(x) ((x) << 24) 31432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define VS_PRIO(x) ((x) << 26) 31532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define GS_PRIO(x) ((x) << 28) 31632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define ES_PRIO(x) ((x) << 30) 3170fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_GPR_RESOURCE_MGMT_1 0x8C04 3180fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_PS_GPRS(x) ((x) << 0) 3190fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_VS_GPRS(x) ((x) << 16) 3200fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_CLAUSE_TEMP_GPRS(x) ((x) << 28) 3210fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_GPR_RESOURCE_MGMT_2 0x8C08 3220fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_GS_GPRS(x) ((x) << 0) 3230fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NUM_ES_GPRS(x) ((x) << 16) 32432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_GPR_RESOURCE_MGMT_3 0x8C0C 32532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_HS_GPRS(x) ((x) << 0) 32632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_LS_GPRS(x) ((x) << 16) 327721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define SQ_GLOBAL_GPR_RESOURCE_MGMT_1 0x8C10 328721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define SQ_GLOBAL_GPR_RESOURCE_MGMT_2 0x8C14 32932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_THREAD_RESOURCE_MGMT 0x8C18 33032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_PS_THREADS(x) ((x) << 0) 33132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_VS_THREADS(x) ((x) << 8) 33232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_GS_THREADS(x) ((x) << 16) 33332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_ES_THREADS(x) ((x) << 24) 33432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_THREAD_RESOURCE_MGMT_2 0x8C1C 33532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_HS_THREADS(x) ((x) << 0) 33632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_LS_THREADS(x) ((x) << 8) 33732fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_STACK_RESOURCE_MGMT_1 0x8C20 33832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_PS_STACK_ENTRIES(x) ((x) << 0) 33932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_VS_STACK_ENTRIES(x) ((x) << 16) 34032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_STACK_RESOURCE_MGMT_2 0x8C24 34132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_GS_STACK_ENTRIES(x) ((x) << 0) 34232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_ES_STACK_ENTRIES(x) ((x) << 16) 34332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_STACK_RESOURCE_MGMT_3 0x8C28 34432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_HS_STACK_ENTRIES(x) ((x) << 0) 34532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define NUM_LS_STACK_ENTRIES(x) ((x) << 16) 34632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_DYN_GPR_CNTL_PS_FLUSH_REQ 0x8D8C 347721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define SQ_DYN_GPR_SIMD_LOCK_EN 0x8D94 348721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define SQ_STATIC_THREAD_MGMT_1 0x8E20 349721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define SQ_STATIC_THREAD_MGMT_2 0x8E24 350721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define SQ_STATIC_THREAD_MGMT_3 0x8E28 35132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define SQ_LDS_RESOURCE_MGMT 0x8E2C 35232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher 3530fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SQ_MS_FIFO_SIZES 0x8CF0 3540fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CACHE_FIFO_SIZE(x) ((x) << 0) 3550fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define FETCH_FIFO_HIWATER(x) ((x) << 8) 3560fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DONE_FIFO_HIWATER(x) ((x) << 16) 3570fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ALU_UPDATE_FIFO_HIWATER(x) ((x) << 24) 3580fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3590fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SX_DEBUG_1 0x9058 3600fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_NEW_SMX_ADDRESS (1 << 16) 3610fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SX_EXPORT_BUFFER_SIZES 0x900C 3620fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define COLOR_BUFFER_SIZE(x) ((x) << 0) 3630fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define POSITION_BUFFER_SIZE(x) ((x) << 8) 3640fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SMX_BUFFER_SIZE(x) ((x) << 16) 365033b5650010652c069494df58424c4b98412fe3bAlex Deucher#define SX_MEMORY_EXPORT_BASE 0x9010 3660fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SX_MISC 0x28350 3670fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 36832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR0_SEL_0 0x9A20 36932fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR0_SEL_1 0x9A24 37032fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR1_SEL_0 0x9A28 37132fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR1_SEL_1 0x9A2C 37232fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR2_SEL_0 0x9A30 37332fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR2_SEL_1 0x9A34 37432fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR3_SEL_0 0x9A38 37532fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CB_PERF_CTR3_SEL_1 0x9A3C 37632fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher 3770fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define TA_CNTL_AUX 0x9508 3780fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DISABLE_CUBE_WRAP (1 << 0) 3790fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DISABLE_CUBE_ANISO (1 << 1) 3800fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_GRADIENT (1 << 24) 3810fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_WALKER (1 << 25) 3820fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SYNC_ALIGNER (1 << 26) 3830fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 3849535ab7323351bacf02d82af79921df1d6594969Alex Deucher#define TCP_CHAN_STEER_LO 0x960c 3859535ab7323351bacf02d82af79921df1d6594969Alex Deucher#define TCP_CHAN_STEER_HI 0x9610 3869535ab7323351bacf02d82af79921df1d6594969Alex Deucher 3870fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_CACHE_INVALIDATION 0x88C4 38832fcdbf4084544c3d8fa413004d57e5dc6f2eefeAlex Deucher#define CACHE_INVALIDATION(x) ((x) << 0) 3890fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VC_ONLY 0 3900fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define TC_ONLY 1 3910fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VC_AND_TC 2 3920fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define AUTO_INVLD_EN(x) ((x) << 6) 3930fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define NO_AUTO 0 3940fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ES_AUTO 1 3950fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define GS_AUTO 2 3960fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ES_AND_GS_AUTO 3 3970fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_GS_VERTEX_REUSE 0x88D4 3980fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_NUM_INSTANCES 0x8974 3990fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_OUT_DEALLOC_CNTL 0x28C5C 4000fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define DEALLOC_DIST_MASK 0x0000007F 4010fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VGT_VERTEX_REUSE_BLOCK_CNTL 0x28C58 4020fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VTX_REUSE_DEPTH_MASK 0x000000FF 4030fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 4040fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_CNTL 0x1410 4050fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_CONTEXT (1 << 0) 4060fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define PAGE_TABLE_DEPTH(x) (((x) & 3) << 1) 4070fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define RANGE_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 4) 4080fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT1_CNTL 0x1414 4090fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PAGE_TABLE_BASE_ADDR 0x153C 4100fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PAGE_TABLE_END_ADDR 0x157C 4110fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PAGE_TABLE_START_ADDR 0x155C 4120fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR 0x1518 4130fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_CONTEXT0_REQUEST_RESPONSE 0x1470 4140fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define REQUEST_TYPE(x) (((x) & 0xf) << 0) 4150fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define RESPONSE_TYPE_MASK 0x000000F0 4160fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define RESPONSE_TYPE_SHIFT 4 4170fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_CNTL 0x1400 4180fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L2_CACHE (1 << 0) 4190fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L2_FRAGMENT_PROCESSING (1 << 1) 4200fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define ENABLE_L2_PTE_CACHE_LRU_UPDATE_BY_WRITE (1 << 9) 4210fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define EFFECTIVE_L2_QUEUE_SIZE(x) (((x) & 7) << 14) 4220fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_CNTL2 0x1404 4230fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INVALIDATE_ALL_L1_TLBS (1 << 0) 4240fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define INVALIDATE_L2_CACHE (1 << 1) 4250fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_CNTL3 0x1408 4260fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define BANK_SELECT(x) ((x) << 0) 4270fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define CACHE_UPDATE_MODE(x) ((x) << 6) 4280fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define VM_L2_STATUS 0x140C 4290fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define L2_BUSY (1 << 0) 4300fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 4310fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define WAIT_UNTIL 0x8040 4320fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 4330fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#define SRBM_STATUS 0x0E50 434747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SRBM_SOFT_RESET 0x0E60 435747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SRBM_SOFT_RESET_ALL_MASK 0x00FEEFA6 436747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_BIF (1 << 1) 437747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_CG (1 << 2) 438747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_DC (1 << 5) 439747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_GRBM (1 << 8) 440747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_HDP (1 << 9) 441747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_IH (1 << 10) 442747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_MC (1 << 11) 443747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_RLC (1 << 13) 444747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_ROM (1 << 14) 445747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_SEM (1 << 15) 446747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_VMC (1 << 17) 447747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_TST (1 << 21) 448747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_REGBB (1 << 22) 449747943ea187e5acceb7ffc762ff2c84cb3449745Alex Deucher#define SOFT_RESET_ORB (1 << 23) 4500fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher 451f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher/* display watermarks */ 452f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define DC_LB_MEMORY_SPLIT 0x6b0c 453f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PRIORITY_A_CNT 0x6b18 454f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PRIORITY_MARK_MASK 0x7fff 455f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PRIORITY_OFF (1 << 16) 456f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PRIORITY_ALWAYS_ON (1 << 20) 457f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PRIORITY_B_CNT 0x6b1c 458f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PIPE0_ARBITRATION_CONTROL3 0x0bf0 459f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher# define LATENCY_WATERMARK_MASK(x) ((x) << 16) 460f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher#define PIPE0_LATENCY_CONTROL 0x0bf4 461f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher# define LATENCY_LOW_WATERMARK(x) ((x) << 0) 462f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher# define LATENCY_HIGH_WATERMARK(x) ((x) << 16) 463f9d9c36204243d81e9d4dd28e58ee335257847d2Alex Deucher 46445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_CNTL 0x3e00 46545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_RB_ENABLE (1 << 0) 46645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_IB_SIZE(x) ((x) << 1) /* log2 */ 46745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_RB_FULL_DRAIN_ENABLE (1 << 6) 46845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_WRITEBACK_ENABLE (1 << 8) 46945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_WRITEBACK_TIMER(x) ((x) << 9) /* log2 */ 47045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_OVERFLOW_ENABLE (1 << 16) 47145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_WPTR_OVERFLOW_CLEAR (1 << 31) 47245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_BASE 0x3e04 47345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_RPTR 0x3e08 47445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_WPTR 0x3e0c 47545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RB_OVERFLOW (1 << 0) 47645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define WPTR_OFFSET_MASK 0x3fffc 47745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_WPTR_ADDR_HI 0x3e10 47845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_RB_WPTR_ADDR_LO 0x3e14 47945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define IH_CNTL 0x3e18 48045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define ENABLE_INTR (1 << 0) 481fcb857abc4c0d512e99a08ba0415be9a6d65b4c0Alex Deucher# define IH_MC_SWAP(x) ((x) << 1) 48245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_NONE 0 48345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_16BIT 1 48445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_32BIT 2 48545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IH_MC_SWAP_64BIT 3 48645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RPTR_REARM (1 << 4) 48745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define MC_WRREQ_CREDIT(x) ((x) << 15) 48845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define MC_WR_CLEAN_CNT(x) ((x) << 20) 48945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 49045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define CP_INT_CNTL 0xc124 49145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define CNTX_BUSY_INT_ENABLE (1 << 19) 49245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define CNTX_EMPTY_INT_ENABLE (1 << 20) 49345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define SCRATCH_INT_ENABLE (1 << 25) 49445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define TIME_STAMP_INT_ENABLE (1 << 26) 49545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB2_INT_ENABLE (1 << 29) 49645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB1_INT_ENABLE (1 << 30) 49745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RB_INT_ENABLE (1 << 31) 49845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define CP_INT_STATUS 0xc128 49945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define SCRATCH_INT_STAT (1 << 25) 50045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define TIME_STAMP_INT_STAT (1 << 26) 50145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB2_INT_STAT (1 << 29) 50245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define IB1_INT_STAT (1 << 30) 50345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RB_INT_STAT (1 << 31) 50445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 50545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define GRBM_INT_CNTL 0x8060 50645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define RDERR_INT_ENABLE (1 << 0) 50745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GUI_IDLE_INT_ENABLE (1 << 19) 50845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 50945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6e98, 0x7a98, 0x10698, 0x11298, 0x11e98, 0x12a98 */ 51045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define CRTC_STATUS_FRAME_COUNT 0x6e98 51145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 51245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6bb8, 0x77b8, 0x103b8, 0x10fb8, 0x11bb8, 0x127b8 */ 51345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define VLINE_STATUS 0x6bb8 51445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_OCCURRED (1 << 0) 51545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_ACK (1 << 4) 51645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_STAT (1 << 12) 51745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_INTERRUPT (1 << 16) 51845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_INTERRUPT_TYPE (1 << 17) 51945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6bbc, 0x77bc, 0x103bc, 0x10fbc, 0x11bbc, 0x127bc */ 52045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define VBLANK_STATUS 0x6bbc 52145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_OCCURRED (1 << 0) 52245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_ACK (1 << 4) 52345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_STAT (1 << 12) 52445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_INTERRUPT (1 << 16) 52545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_INTERRUPT_TYPE (1 << 17) 52645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 52745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6b40, 0x7740, 0x10340, 0x10f40, 0x11b40, 0x12740 */ 52845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define INT_MASK 0x6b40 52945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VBLANK_INT_MASK (1 << 0) 53045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define VLINE_INT_MASK (1 << 4) 53145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 53245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS 0x60f4 53345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D1_VLINE_INTERRUPT (1 << 2) 53445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D1_VBLANK_INTERRUPT (1 << 3) 53545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD1_INTERRUPT (1 << 17) 53645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD1_RX_INTERRUPT (1 << 18) 53745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DACA_AUTODETECT_INTERRUPT (1 << 22) 53845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DACB_AUTODETECT_INTERRUPT (1 << 23) 53945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_I2C_SW_DONE_INTERRUPT (1 << 24) 54045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_I2C_HW_DONE_INTERRUPT (1 << 25) 54145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE 0x60f8 54245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D2_VLINE_INTERRUPT (1 << 2) 54345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D2_VBLANK_INTERRUPT (1 << 3) 54445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD2_INTERRUPT (1 << 17) 54545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD2_RX_INTERRUPT (1 << 18) 54645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DISP_TIMER_INTERRUPT (1 << 24) 54745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE2 0x60fc 54845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D3_VLINE_INTERRUPT (1 << 2) 54945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D3_VBLANK_INTERRUPT (1 << 3) 55045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD3_INTERRUPT (1 << 17) 55145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD3_RX_INTERRUPT (1 << 18) 55245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE3 0x6100 55345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D4_VLINE_INTERRUPT (1 << 2) 55445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D4_VBLANK_INTERRUPT (1 << 3) 55545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD4_INTERRUPT (1 << 17) 55645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD4_RX_INTERRUPT (1 << 18) 55745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE4 0x614c 55845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D5_VLINE_INTERRUPT (1 << 2) 55945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D5_VBLANK_INTERRUPT (1 << 3) 56045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD5_INTERRUPT (1 << 17) 56145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD5_RX_INTERRUPT (1 << 18) 56237cba6c6f4687e694ac6e3adcf2c2b2974aa3aaeAlex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE5 0x6150 56345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D6_VLINE_INTERRUPT (1 << 2) 56445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define LB_D6_VBLANK_INTERRUPT (1 << 3) 56545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD6_INTERRUPT (1 << 17) 56645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPD6_RX_INTERRUPT (1 << 18) 56745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 56845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x6858, 0x7458, 0x10058, 0x10c58, 0x11858, 0x12458 */ 56945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define GRPH_INT_STATUS 0x6858 57045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_OCCURRED (1 << 0) 57145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_CLEAR (1 << 8) 57245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher/* 0x685c, 0x745c, 0x1005c, 0x10c5c, 0x1185c, 0x1245c */ 57345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define GRPH_INT_CONTROL 0x685c 57445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_MASK (1 << 0) 57545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define GRPH_PFLIP_INT_TYPE (1 << 8) 57645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 57745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DACA_AUTODETECT_INT_CONTROL 0x66c8 57845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DACB_AUTODETECT_INT_CONTROL 0x67c8 57945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 58045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD1_INT_STATUS 0x601c 58145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD2_INT_STATUS 0x6028 58245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD3_INT_STATUS 0x6034 58345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD4_INT_STATUS 0x6040 58445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD5_INT_STATUS 0x604c 58545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD6_INT_STATUS 0x6058 58645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_STATUS (1 << 0) 58745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_SENSE (1 << 1) 58845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_STATUS (1 << 8) 58945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 59045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD1_INT_CONTROL 0x6020 59145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD2_INT_CONTROL 0x602c 59245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD3_INT_CONTROL 0x6038 59345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD4_INT_CONTROL 0x6044 59445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD5_INT_CONTROL 0x6050 59545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD6_INT_CONTROL 0x605c 59645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_ACK (1 << 0) 59745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_POLARITY (1 << 8) 59845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_INT_EN (1 << 16) 59945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_ACK (1 << 20) 60045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_EN (1 << 24) 60145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 60245f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD1_CONTROL 0x6024 60345f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD2_CONTROL 0x6030 60445f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD3_CONTROL 0x603c 60545f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD4_CONTROL 0x6048 60645f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD5_CONTROL 0x6054 60745f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher#define DC_HPD6_CONTROL 0x6060 60845f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_CONNECTION_TIMER(x) ((x) << 0) 60945f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_RX_INT_TIMER(x) ((x) << 16) 61045f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher# define DC_HPDx_EN (1 << 28) 61145f9a39bedc3afab3fc85567792efc0103f34a55Alex Deucher 6129e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher/* PCIE link stuff */ 6139e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher#define PCIE_LC_TRAINING_CNTL 0xa1 /* PCIE_P */ 6149e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher#define PCIE_LC_LINK_WIDTH_CNTL 0xa2 /* PCIE_P */ 6159e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_SHIFT 0 6169e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_MASK 0x7 6179e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X0 0 6189e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X1 1 6199e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X2 2 6209e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X4 3 6219e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X8 4 6229e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X16 6 6239e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_RD_SHIFT 4 6249e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_RD_MASK 0x70 6259e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_RECONFIG_ARC_MISSING_ESCAPE (1 << 7) 6269e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_RECONFIG_NOW (1 << 8) 6279e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_RENEGOTIATION_SUPPORT (1 << 9) 6289e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_RENEGOTIATE_EN (1 << 10) 6299e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_SHORT_RECONFIG_EN (1 << 11) 6309e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_UPCONFIGURE_SUPPORT (1 << 12) 6319e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_UPCONFIGURE_DIS (1 << 13) 6329e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher#define PCIE_LC_SPEED_CNTL 0xa4 /* PCIE_P */ 6339e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_GEN2_EN_STRAP (1 << 0) 6349e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_TARGET_LINK_SPEED_OVERRIDE_EN (1 << 1) 6359e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_FORCE_EN_HW_SPEED_CHANGE (1 << 5) 6369e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_FORCE_DIS_HW_SPEED_CHANGE (1 << 6) 6379e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_SPEED_CHANGE_ATTEMPTS_ALLOWED_MASK (0x3 << 8) 6389e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_SPEED_CHANGE_ATTEMPTS_ALLOWED_SHIFT 3 6399e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_CURRENT_DATA_RATE (1 << 11) 6409e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_VOLTAGE_TIMER_SEL_MASK (0xf << 14) 6419e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_CLR_FAILED_SPD_CHANGE_CNT (1 << 21) 6429e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_OTHER_SIDE_EVER_SENT_GEN2 (1 << 23) 6439e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_OTHER_SIDE_SUPPORTS_GEN2 (1 << 24) 6449e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher#define MM_CFGREGS_CNTL 0x544c 6459e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define MM_WR_TO_CFG_EN (1 << 3) 6469e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher#define LINK_CNTL2 0x88 /* F0 */ 6479e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define TARGET_LINK_SPEED_MASK (0xf << 0) 6489e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define SELECTABLE_DEEMPHASIS (1 << 6) 6499e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher 650cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* 651cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher * PM4 652cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher */ 653cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE0 0 654cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE1 1 655cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE2 2 656cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET_TYPE3 3 657cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 658cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET_GET_TYPE(h) (((h) >> 30) & 3) 659cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET_GET_COUNT(h) (((h) >> 16) & 0x3FFF) 660cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET0_GET_REG(h) (((h) & 0xFFFF) << 2) 661cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET3_GET_OPCODE(h) (((h) >> 8) & 0xFF) 662cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET0(reg, n) ((PACKET_TYPE0 << 30) | \ 663cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher (((reg) >> 2) & 0xFFFF) | \ 664cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher ((n) & 0x3FFF) << 16) 665cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CP_PACKET2 0x80000000 666cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET2_PAD_SHIFT 0 667cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET2_PAD_MASK (0x3fffffff << 0) 668cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 669cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET2(v) (CP_PACKET2 | REG_SET(PACKET2_PAD, (v))) 670cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 671cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3(op, n) ((PACKET_TYPE3 << 30) | \ 672cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher (((op) & 0xFF) << 8) | \ 673cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher ((n) & 0x3FFF) << 16) 674cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 675cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* Packet 3 types */ 676cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_NOP 0x10 677cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BASE 0x11 678cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_CLEAR_STATE 0x12 67932171d2297daa2fe90d6ef41c5424ca9ac5bd797Alex Deucher#define PACKET3_INDEX_BUFFER_SIZE 0x13 680cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DISPATCH_DIRECT 0x15 681cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DISPATCH_INDIRECT 0x16 682cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDIRECT_BUFFER_END 0x17 683129205910f882e25c728e0e415743f8451a4c470Alex Deucher#define PACKET3_MODE_CONTROL 0x18 684cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_PREDICATION 0x20 685cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_REG_RMW 0x21 686cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_COND_EXEC 0x22 687cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_PRED_EXEC 0x23 688cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDIRECT 0x24 689cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_INDIRECT 0x25 690cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDEX_BASE 0x26 691cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_2 0x27 692cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_CONTEXT_CONTROL 0x28 693cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_OFFSET 0x29 694cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDEX_TYPE 0x2A 695cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX 0x2B 696cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_AUTO 0x2D 697cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_IMMD 0x2E 698cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_NUM_INSTANCES 0x2F 699cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_MULTI_AUTO 0x30 700cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_STRMOUT_BUFFER_UPDATE 0x34 701cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_OFFSET_2 0x35 702cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_DRAW_INDEX_MULTI_ELEMENT 0x36 703cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_MEM_SEMAPHORE 0x39 704cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_MPEG_INDEX 0x3A 705721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define PACKET3_COPY_DW 0x3B 706cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_WAIT_REG_MEM 0x3C 707cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_MEM_WRITE 0x3D 708cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_INDIRECT_BUFFER 0x32 709cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SURFACE_SYNC 0x43 710cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB0_DEST_BASE_ENA (1 << 6) 711cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB1_DEST_BASE_ENA (1 << 7) 712cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB2_DEST_BASE_ENA (1 << 8) 713cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB3_DEST_BASE_ENA (1 << 9) 714cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB4_DEST_BASE_ENA (1 << 10) 715cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB5_DEST_BASE_ENA (1 << 11) 716cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB6_DEST_BASE_ENA (1 << 12) 717cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB7_DEST_BASE_ENA (1 << 13) 718cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_DB_DEST_BASE_ENA (1 << 14) 719cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB8_DEST_BASE_ENA (1 << 15) 720cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB9_DEST_BASE_ENA (1 << 16) 721cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB10_DEST_BASE_ENA (1 << 17) 72232171d2297daa2fe90d6ef41c5424ca9ac5bd797Alex Deucher# define PACKET3_CB11_DEST_BASE_ENA (1 << 18) 723cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_FULL_CACHE_ENA (1 << 20) 724cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_TC_ACTION_ENA (1 << 23) 725cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_VC_ACTION_ENA (1 << 24) 726cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_CB_ACTION_ENA (1 << 25) 727cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_DB_ACTION_ENA (1 << 26) 728cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define PACKET3_SH_ACTION_ENA (1 << 27) 72932171d2297daa2fe90d6ef41c5424ca9ac5bd797Alex Deucher# define PACKET3_SX_ACTION_ENA (1 << 28) 730cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ME_INITIALIZE 0x44 731cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ME_INITIALIZE_DEVICE_ID(x) ((x) << 16) 732cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_COND_WRITE 0x45 733cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_EVENT_WRITE 0x46 734cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_EVENT_WRITE_EOP 0x47 735cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_EVENT_WRITE_EOS 0x48 736cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_PREAMBLE_CNTL 0x4A 7372281a378e1830d7ab78d3067f228e4e55d368b0dAlex Deucher# define PACKET3_PREAMBLE_BEGIN_CLEAR_STATE (2 << 28) 7382281a378e1830d7ab78d3067f228e4e55d368b0dAlex Deucher# define PACKET3_PREAMBLE_END_CLEAR_STATE (3 << 28) 739cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_RB_OFFSET 0x4B 740cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_PS_CONST_BUFFER_COPY 0x4C 741cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_VS_CONST_BUFFER_COPY 0x4D 742cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_PS_CONST_UPDATE 0x4E 743cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ALU_VS_CONST_UPDATE 0x4F 744cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_ONE_REG_WRITE 0x57 745cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONFIG_REG 0x68 746cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONFIG_REG_START 0x00008000 747cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONFIG_REG_END 0x0000ac00 748cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG 0x69 749cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG_START 0x00028000 750cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG_END 0x00029000 751cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_ALU_CONST 0x6A 752cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* alu const buffers only; no reg file */ 753cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BOOL_CONST 0x6B 754cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BOOL_CONST_START 0x0003a500 755cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_BOOL_CONST_END 0x0003a518 756cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_LOOP_CONST 0x6C 757cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_LOOP_CONST_START 0x0003a200 758cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_LOOP_CONST_END 0x0003a500 759cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE 0x6D 760cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_START 0x00030000 761cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_END 0x00038000 762cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_SAMPLER 0x6E 763cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_SAMPLER_START 0x0003c000 764cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_SAMPLER_END 0x0003c600 765cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CTL_CONST 0x6F 766cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CTL_CONST_START 0x0003cff0 767cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CTL_CONST_END 0x0003ff0c 768cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_OFFSET 0x70 769cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_ALU_CONST_VS 0x71 770cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_ALU_CONST_DI 0x72 771cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_CONTEXT_REG_INDIRECT 0x73 772cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_RESOURCE_INDIRECT 0x74 773cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define PACKET3_SET_APPEND_CNT 0x75 774cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 775cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_RESOURCE_CONSTANT_WORD7_0 0x3001c 776cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define S__SQ_CONSTANT_TYPE(x) (((x) & 3) << 30) 777cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define G__SQ_CONSTANT_TYPE(x) (((x) >> 30) & 3) 778cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_INVALID_TEXTURE 0x0 779cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_INVALID_BUFFER 0x1 780cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_VALID_TEXTURE 0x2 781cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_VTX_VALID_BUFFER 0x3 782cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 783721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_VTX_VECT_EJECT_REG 0x88b0 784721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse 785cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_CONST_MEM_BASE 0x8df8 786cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 7878aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_ESGS_RING_BASE 0x8c40 788cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESGS_RING_SIZE 0x8c44 7898aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_GSVS_RING_BASE 0x8c48 790cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_SIZE 0x8c4c 7918aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_ESTMP_RING_BASE 0x8c50 792cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESTMP_RING_SIZE 0x8c54 7938aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_GSTMP_RING_BASE 0x8c58 794cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSTMP_RING_SIZE 0x8c5c 7958aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_VSTMP_RING_BASE 0x8c60 796cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_VSTMP_RING_SIZE 0x8c64 7978aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_PSTMP_RING_BASE 0x8c68 798cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PSTMP_RING_SIZE 0x8c6c 7998aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_LSTMP_RING_BASE 0x8e10 800cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_LSTMP_RING_SIZE 0x8e14 8018aa75009bca5e700e9236c8e066d2f943069c883Alex Deucher#define SQ_HSTMP_RING_BASE 0x8e18 802cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_HSTMP_RING_SIZE 0x8e1c 803cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define VGT_TF_RING_SIZE 0x8988 804cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 805cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESGS_RING_ITEMSIZE 0x28900 806cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_ITEMSIZE 0x28904 807cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ESTMP_RING_ITEMSIZE 0x28908 808cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSTMP_RING_ITEMSIZE 0x2890c 809cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_VSTMP_RING_ITEMSIZE 0x28910 810cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PSTMP_RING_ITEMSIZE 0x28914 811cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_LSTMP_RING_ITEMSIZE 0x28830 812cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_HSTMP_RING_ITEMSIZE 0x28834 813cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 814cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE 0x2891c 815cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE_1 0x28920 816cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE_2 0x28924 817cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GS_VERT_ITEMSIZE_3 0x28928 818cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_OFFSET_1 0x2892c 819cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_OFFSET_2 0x28930 820cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_GSVS_RING_OFFSET_3 0x28934 821cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 82260a4a3e0ce0b575e8b4cb6bf39d2c40e403bdfc7Alex Deucher#define SQ_ALU_CONST_BUFFER_SIZE_PS_0 0x28140 82360a4a3e0ce0b575e8b4cb6bf39d2c40e403bdfc7Alex Deucher#define SQ_ALU_CONST_BUFFER_SIZE_HS_0 0x28f80 82460a4a3e0ce0b575e8b4cb6bf39d2c40e403bdfc7Alex Deucher 825cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_0 0x28940 826cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_1 0x28944 827cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_2 0x28948 828cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_3 0x2894c 829cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_4 0x28950 830cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_5 0x28954 831cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_6 0x28958 832cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_7 0x2895c 833cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_8 0x28960 834cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_9 0x28964 835cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_10 0x28968 836cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_11 0x2896c 837cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_12 0x28970 838cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_13 0x28974 839cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_14 0x28978 840cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_PS_15 0x2897c 841cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_0 0x28980 842cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_1 0x28984 843cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_2 0x28988 844cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_3 0x2898c 845cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_4 0x28990 846cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_5 0x28994 847cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_6 0x28998 848cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_7 0x2899c 849cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_8 0x289a0 850cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_9 0x289a4 851cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_10 0x289a8 852cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_11 0x289ac 853cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_12 0x289b0 854cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_13 0x289b4 855cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_14 0x289b8 856cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_VS_15 0x289bc 857cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_0 0x289c0 858cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_1 0x289c4 859cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_2 0x289c8 860cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_3 0x289cc 861cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_4 0x289d0 862cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_5 0x289d4 863cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_6 0x289d8 864cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_7 0x289dc 865cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_8 0x289e0 866cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_9 0x289e4 867cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_10 0x289e8 868cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_11 0x289ec 869cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_12 0x289f0 870cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_13 0x289f4 871cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_14 0x289f8 872cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_GS_15 0x289fc 873cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_0 0x28f00 874cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_1 0x28f04 875cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_2 0x28f08 876cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_3 0x28f0c 877cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_4 0x28f10 878cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_5 0x28f14 879cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_6 0x28f18 880cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_7 0x28f1c 881cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_8 0x28f20 882cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_9 0x28f24 883cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_10 0x28f28 884cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_11 0x28f2c 885cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_12 0x28f30 886cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_13 0x28f34 887cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_14 0x28f38 888cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_HS_15 0x28f3c 889cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_0 0x28f40 890cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_1 0x28f44 891cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_2 0x28f48 892cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_3 0x28f4c 893cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_4 0x28f50 894cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_5 0x28f54 895cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_6 0x28f58 896cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_7 0x28f5c 897cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_8 0x28f60 898cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_9 0x28f64 899cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_10 0x28f68 900cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_11 0x28f6c 901cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_12 0x28f70 902cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_13 0x28f74 903cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_14 0x28f78 904cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_ALU_CONST_CACHE_LS_15 0x28f7c 905cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 906d7ccd8fc11700502b5a104b7bad595b492a3aa1bAlex Deucher#define PA_SC_SCREEN_SCISSOR_TL 0x28030 907d7ccd8fc11700502b5a104b7bad595b492a3aa1bAlex Deucher#define PA_SC_GENERIC_SCISSOR_TL 0x28240 908d7ccd8fc11700502b5a104b7bad595b492a3aa1bAlex Deucher#define PA_SC_WINDOW_SCISSOR_TL 0x28204 909d7ccd8fc11700502b5a104b7bad595b492a3aa1bAlex Deucher 910721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_PRIMITIVE_TYPE 0x8958 911721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_INDEX_TYPE 0x895C 912721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse 913721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_NUM_INDICES 0x8970 914721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse 915721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_DIM_X 0x8990 916721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_DIM_Y 0x8994 917721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_DIM_Z 0x8998 918721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_START_X 0x899C 919721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_START_Y 0x89A0 920721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_START_Z 0x89A4 921721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_INDEX 0x89A8 922721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_COMPUTE_THREAD_GROUP_SIZE 0x89AC 923721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define VGT_HS_OFFCHIP_PARAM 0x89B0 924721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse 925721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define DB_DEBUG 0x9830 926721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define DB_DEBUG2 0x9834 927721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define DB_DEBUG3 0x9838 928721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define DB_DEBUG4 0x983C 929721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define DB_WATERMARKS 0x9854 930cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_DEPTH_CONTROL 0x28800 931285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_028800_DB_DEPTH_CONTROL 0x028800 932285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028800_STENCIL_ENABLE(x) (((x) & 0x1) << 0) 933285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028800_STENCIL_ENABLE(x) (((x) >> 0) & 0x1) 934285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028800_STENCIL_ENABLE 0xFFFFFFFE 935285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028800_Z_ENABLE(x) (((x) & 0x1) << 1) 936285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028800_Z_ENABLE(x) (((x) >> 1) & 0x1) 937285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028800_Z_ENABLE 0xFFFFFFFD 938285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028800_Z_WRITE_ENABLE(x) (((x) & 0x1) << 2) 939285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028800_Z_WRITE_ENABLE(x) (((x) >> 2) & 0x1) 940285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028800_Z_WRITE_ENABLE 0xFFFFFFFB 941285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028800_ZFUNC(x) (((x) & 0x7) << 4) 942285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028800_ZFUNC(x) (((x) >> 4) & 0x7) 943285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028800_ZFUNC 0xFFFFFF8F 944285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028800_BACKFACE_ENABLE(x) (((x) & 0x1) << 7) 945285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028800_BACKFACE_ENABLE(x) (((x) >> 7) & 0x1) 946285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028800_BACKFACE_ENABLE 0xFFFFFF7F 947285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028800_STENCILFUNC(x) (((x) & 0x7) << 8) 948285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028800_STENCILFUNC(x) (((x) >> 8) & 0x7) 949285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028800_STENCILFUNC 0xFFFFF8FF 950285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCILFUNC_NEVER 0x00000000 951285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCILFUNC_LESS 0x00000001 952285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCILFUNC_EQUAL 0x00000002 953285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCILFUNC_LEQUAL 0x00000003 954285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCILFUNC_GREATER 0x00000004 955285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCILFUNC_NOTEQUAL 0x00000005 956285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCILFUNC_GEQUAL 0x00000006 957285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCILFUNC_ALWAYS 0x00000007 958285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028800_STENCILFAIL(x) (((x) & 0x7) << 11) 959285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028800_STENCILFAIL(x) (((x) >> 11) & 0x7) 960285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028800_STENCILFAIL 0xFFFFC7FF 961285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCIL_KEEP 0x00000000 962285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCIL_ZERO 0x00000001 963285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCIL_REPLACE 0x00000002 964285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCIL_INCR 0x00000003 965285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCIL_DECR 0x00000004 966285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCIL_INVERT 0x00000005 967285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCIL_INCR_WRAP 0x00000006 968285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028800_STENCIL_DECR_WRAP 0x00000007 969285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028800_STENCILZPASS(x) (((x) & 0x7) << 14) 970285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028800_STENCILZPASS(x) (((x) >> 14) & 0x7) 971285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028800_STENCILZPASS 0xFFFE3FFF 972285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028800_STENCILZFAIL(x) (((x) & 0x7) << 17) 973285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028800_STENCILZFAIL(x) (((x) >> 17) & 0x7) 974285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028800_STENCILZFAIL 0xFFF1FFFF 975285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028800_STENCILFUNC_BF(x) (((x) & 0x7) << 20) 976285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028800_STENCILFUNC_BF(x) (((x) >> 20) & 0x7) 977285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028800_STENCILFUNC_BF 0xFF8FFFFF 978285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028800_STENCILFAIL_BF(x) (((x) & 0x7) << 23) 979285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028800_STENCILFAIL_BF(x) (((x) >> 23) & 0x7) 980285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028800_STENCILFAIL_BF 0xFC7FFFFF 981285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028800_STENCILZPASS_BF(x) (((x) & 0x7) << 26) 982285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028800_STENCILZPASS_BF(x) (((x) >> 26) & 0x7) 983285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028800_STENCILZPASS_BF 0xE3FFFFFF 984285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028800_STENCILZFAIL_BF(x) (((x) & 0x7) << 29) 985285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028800_STENCILZFAIL_BF(x) (((x) >> 29) & 0x7) 986285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028800_STENCILZFAIL_BF 0x1FFFFFFF 987cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_DEPTH_VIEW 0x28008 988285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_028008_DB_DEPTH_VIEW 0x00028008 989285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028008_SLICE_START(x) (((x) & 0x7FF) << 0) 990285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028008_SLICE_START(x) (((x) >> 0) & 0x7FF) 991285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028008_SLICE_START 0xFFFFF800 992285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028008_SLICE_MAX(x) (((x) & 0x7FF) << 13) 993285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028008_SLICE_MAX(x) (((x) >> 13) & 0x7FF) 994285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028008_SLICE_MAX 0xFF001FFF 995cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_HTILE_DATA_BASE 0x28014 99688f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define DB_HTILE_SURFACE 0x28abc 99788f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define S_028ABC_HTILE_WIDTH(x) (((x) & 0x1) << 0) 99888f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define G_028ABC_HTILE_WIDTH(x) (((x) >> 0) & 0x1) 99988f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define C_028ABC_HTILE_WIDTH 0xFFFFFFFE 100088f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define S_028ABC_HTILE_HEIGHT(x) (((x) & 0x1) << 1) 100188f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define G_028ABC_HTILE_HEIGHT(x) (((x) >> 1) & 0x1) 100288f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define C_028ABC_HTILE_HEIGHT 0xFFFFFFFD 100388f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define G_028ABC_LINEAR(x) (((x) >> 2) & 0x1) 1004cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_Z_INFO 0x28040 1005cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define Z_ARRAY_MODE(x) ((x) << 4) 1006f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define DB_TILE_SPLIT(x) (((x) & 0x7) << 8) 1007f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define DB_NUM_BANKS(x) (((x) & 0x3) << 12) 1008f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define DB_BANK_WIDTH(x) (((x) & 0x3) << 16) 1009f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define DB_BANK_HEIGHT(x) (((x) & 0x3) << 20) 1010285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse# define DB_MACRO_TILE_ASPECT(x) (((x) & 0x3) << 24) 1011285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_028040_DB_Z_INFO 0x028040 1012285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028040_FORMAT(x) (((x) & 0x3) << 0) 1013285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028040_FORMAT(x) (((x) >> 0) & 0x3) 1014285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028040_FORMAT 0xFFFFFFFC 1015285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028040_Z_INVALID 0x00000000 1016285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028040_Z_16 0x00000001 1017285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028040_Z_24 0x00000002 1018285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028040_Z_32_FLOAT 0x00000003 1019285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028040_ARRAY_MODE(x) (((x) & 0xF) << 4) 1020285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028040_ARRAY_MODE(x) (((x) >> 4) & 0xF) 1021285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028040_ARRAY_MODE 0xFFFFFF0F 1022285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028040_READ_SIZE(x) (((x) & 0x1) << 28) 1023285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028040_READ_SIZE(x) (((x) >> 28) & 0x1) 1024285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028040_READ_SIZE 0xEFFFFFFF 1025285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028040_TILE_SURFACE_ENABLE(x) (((x) & 0x1) << 29) 1026285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028040_TILE_SURFACE_ENABLE(x) (((x) >> 29) & 0x1) 1027285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028040_TILE_SURFACE_ENABLE 0xDFFFFFFF 1028285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028040_ZRANGE_PRECISION(x) (((x) & 0x1) << 31) 1029285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028040_ZRANGE_PRECISION(x) (((x) >> 31) & 0x1) 1030285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028040_ZRANGE_PRECISION 0x7FFFFFFF 1031285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028040_TILE_SPLIT(x) (((x) & 0x7) << 8) 1032285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028040_TILE_SPLIT(x) (((x) >> 8) & 0x7) 1033285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028040_NUM_BANKS(x) (((x) & 0x3) << 12) 1034285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028040_NUM_BANKS(x) (((x) >> 12) & 0x3) 1035285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028040_BANK_WIDTH(x) (((x) & 0x3) << 16) 1036285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028040_BANK_WIDTH(x) (((x) >> 16) & 0x3) 1037285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028040_BANK_HEIGHT(x) (((x) & 0x3) << 20) 1038285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028040_BANK_HEIGHT(x) (((x) >> 20) & 0x3) 1039285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028040_MACRO_TILE_ASPECT(x) (((x) & 0x3) << 24) 1040285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028040_MACRO_TILE_ASPECT(x) (((x) >> 24) & 0x3) 1041cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_STENCIL_INFO 0x28044 1042285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_028044_DB_STENCIL_INFO 0x028044 1043285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028044_FORMAT(x) (((x) & 0x1) << 0) 1044285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028044_FORMAT(x) (((x) >> 0) & 0x1) 1045285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028044_FORMAT 0xFFFFFFFE 1046285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028044_TILE_SPLIT(x) (((x) >> 8) & 0x7) 1047cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_Z_READ_BASE 0x28048 1048cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_STENCIL_READ_BASE 0x2804c 1049cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_Z_WRITE_BASE 0x28050 1050cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_STENCIL_WRITE_BASE 0x28054 1051cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define DB_DEPTH_SIZE 0x28058 1052285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_028058_DB_DEPTH_SIZE 0x028058 1053285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028058_PITCH_TILE_MAX(x) (((x) & 0x7FF) << 0) 1054285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028058_PITCH_TILE_MAX(x) (((x) >> 0) & 0x7FF) 1055285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028058_PITCH_TILE_MAX 0xFFFFF800 1056285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028058_HEIGHT_TILE_MAX(x) (((x) & 0x7FF) << 11) 1057285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028058_HEIGHT_TILE_MAX(x) (((x) >> 11) & 0x7FF) 1058285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028058_HEIGHT_TILE_MAX 0xFFC007FF 1059285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_02805C_DB_DEPTH_SLICE 0x02805C 1060285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_02805C_SLICE_TILE_MAX(x) (((x) & 0x3FFFFF) << 0) 1061285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_02805C_SLICE_TILE_MAX(x) (((x) >> 0) & 0x3FFFFF) 1062285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_02805C_SLICE_TILE_MAX 0xFFC00000 1063cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1064cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_PS 0x28840 1065cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_VS 0x2885c 1066cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_GS 0x28874 1067cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_ES 0x2888c 1068cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_FS 0x288a4 1069cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_HS 0x288b8 1070cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_PGM_START_LS 0x288d0 1071cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1072dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27Marek Olšák#define VGT_STRMOUT_BUFFER_BASE_0 0x28AD8 1073dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27Marek Olšák#define VGT_STRMOUT_BUFFER_BASE_1 0x28AE8 1074dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27Marek Olšák#define VGT_STRMOUT_BUFFER_BASE_2 0x28AF8 1075dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27Marek Olšák#define VGT_STRMOUT_BUFFER_BASE_3 0x28B08 1076dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27Marek Olšák#define VGT_STRMOUT_BUFFER_SIZE_0 0x28AD0 1077dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27Marek Olšák#define VGT_STRMOUT_BUFFER_SIZE_1 0x28AE0 1078dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27Marek Olšák#define VGT_STRMOUT_BUFFER_SIZE_2 0x28AF0 1079dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27Marek Olšák#define VGT_STRMOUT_BUFFER_SIZE_3 0x28B00 1080cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define VGT_STRMOUT_CONFIG 0x28b94 1081cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define VGT_STRMOUT_BUFFER_CONFIG 0x28b98 1082cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1083cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_TARGET_MASK 0x28238 1084cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_SHADER_MASK 0x2823c 1085cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1086cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define GDS_ADDR_BASE 0x28720 1087cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1088cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED0_BASE 0x28b9c 1089cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED1_BASE 0x28ba0 1090cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED2_BASE 0x28ba4 1091cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED3_BASE 0x28ba8 1092cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED4_BASE 0x28bac 1093cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED5_BASE 0x28bb0 1094cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED6_BASE 0x28bb4 1095cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED7_BASE 0x28bb8 1096cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED8_BASE 0x28bbc 1097cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED9_BASE 0x28bc0 1098cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED10_BASE 0x28bc4 1099cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_IMMED11_BASE 0x28bc8 1100cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1101cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* all 12 CB blocks have these regs */ 1102cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_BASE 0x28c60 1103cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_PITCH 0x28c64 1104cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_SLICE 0x28c68 1105cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_VIEW 0x28c6c 1106285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_028C6C_CB_COLOR0_VIEW 0x00028C6C 1107285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C6C_SLICE_START(x) (((x) & 0x7FF) << 0) 1108285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C6C_SLICE_START(x) (((x) >> 0) & 0x7FF) 1109285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C6C_SLICE_START 0xFFFFF800 1110285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C6C_SLICE_MAX(x) (((x) & 0x7FF) << 13) 1111285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C6C_SLICE_MAX(x) (((x) >> 13) & 0x7FF) 1112285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C6C_SLICE_MAX 0xFF001FFF 1113285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_028C70_CB_COLOR0_INFO 0x028C70 1114285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C70_ENDIAN(x) (((x) & 0x3) << 0) 1115285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C70_ENDIAN(x) (((x) >> 0) & 0x3) 1116285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C70_ENDIAN 0xFFFFFFFC 1117285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C70_FORMAT(x) (((x) & 0x3F) << 2) 1118285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C70_FORMAT(x) (((x) >> 2) & 0x3F) 1119285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C70_FORMAT 0xFFFFFF03 1120285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_INVALID 0x00000000 1121285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_8 0x00000001 1122285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_4_4 0x00000002 1123285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_3_3_2 0x00000003 1124285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_16 0x00000005 1125285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_16_FLOAT 0x00000006 1126285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_8_8 0x00000007 1127285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_5_6_5 0x00000008 1128285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_6_5_5 0x00000009 1129285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_1_5_5_5 0x0000000A 1130285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_4_4_4_4 0x0000000B 1131285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_5_5_5_1 0x0000000C 1132285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_32 0x0000000D 1133285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_32_FLOAT 0x0000000E 1134285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_16_16 0x0000000F 1135285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_16_16_FLOAT 0x00000010 1136285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_8_24 0x00000011 1137285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_8_24_FLOAT 0x00000012 1138285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_24_8 0x00000013 1139285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_24_8_FLOAT 0x00000014 1140285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_10_11_11 0x00000015 1141285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_10_11_11_FLOAT 0x00000016 1142285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_11_11_10 0x00000017 1143285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_11_11_10_FLOAT 0x00000018 1144285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_2_10_10_10 0x00000019 1145285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_8_8_8_8 0x0000001A 1146285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_10_10_10_2 0x0000001B 1147285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_X24_8_32_FLOAT 0x0000001C 1148285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_32_32 0x0000001D 1149285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_32_32_FLOAT 0x0000001E 1150285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_16_16_16_16 0x0000001F 1151285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_16_16_16_16_FLOAT 0x00000020 1152285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_32_32_32_32 0x00000022 1153285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_32_32_32_32_FLOAT 0x00000023 1154285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_COLOR_32_32_32_FLOAT 0x00000030 1155285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C70_ARRAY_MODE(x) (((x) & 0xF) << 8) 1156285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C70_ARRAY_MODE(x) (((x) >> 8) & 0xF) 1157285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C70_ARRAY_MODE 0xFFFFF0FF 1158285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_ARRAY_LINEAR_GENERAL 0x00000000 1159285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_ARRAY_LINEAR_ALIGNED 0x00000001 1160285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_ARRAY_1D_TILED_THIN1 0x00000002 1161285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_ARRAY_2D_TILED_THIN1 0x00000004 1162285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C70_NUMBER_TYPE(x) (((x) & 0x7) << 12) 1163285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C70_NUMBER_TYPE(x) (((x) >> 12) & 0x7) 1164285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C70_NUMBER_TYPE 0xFFFF8FFF 1165285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_NUMBER_UNORM 0x00000000 1166285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_NUMBER_SNORM 0x00000001 1167285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_NUMBER_USCALED 0x00000002 1168285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_NUMBER_SSCALED 0x00000003 1169285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_NUMBER_UINT 0x00000004 1170285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_NUMBER_SINT 0x00000005 1171285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_NUMBER_SRGB 0x00000006 1172285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_NUMBER_FLOAT 0x00000007 1173285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C70_COMP_SWAP(x) (((x) & 0x3) << 15) 1174285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C70_COMP_SWAP(x) (((x) >> 15) & 0x3) 1175285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C70_COMP_SWAP 0xFFFE7FFF 1176285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_SWAP_STD 0x00000000 1177285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_SWAP_ALT 0x00000001 1178285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_SWAP_STD_REV 0x00000002 1179285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_SWAP_ALT_REV 0x00000003 1180285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C70_FAST_CLEAR(x) (((x) & 0x1) << 17) 1181285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C70_FAST_CLEAR(x) (((x) >> 17) & 0x1) 1182285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C70_FAST_CLEAR 0xFFFDFFFF 1183285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C70_COMPRESSION(x) (((x) & 0x3) << 18) 1184285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C70_COMPRESSION(x) (((x) >> 18) & 0x3) 1185285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C70_COMPRESSION 0xFFF3FFFF 1186285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C70_BLEND_CLAMP(x) (((x) & 0x1) << 19) 1187285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C70_BLEND_CLAMP(x) (((x) >> 19) & 0x1) 1188285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C70_BLEND_CLAMP 0xFFF7FFFF 1189285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C70_BLEND_BYPASS(x) (((x) & 0x1) << 20) 1190285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C70_BLEND_BYPASS(x) (((x) >> 20) & 0x1) 1191285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C70_BLEND_BYPASS 0xFFEFFFFF 1192285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C70_SIMPLE_FLOAT(x) (((x) & 0x1) << 21) 1193285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C70_SIMPLE_FLOAT(x) (((x) >> 21) & 0x1) 1194285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C70_SIMPLE_FLOAT 0xFFDFFFFF 1195285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C70_ROUND_MODE(x) (((x) & 0x1) << 22) 1196285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C70_ROUND_MODE(x) (((x) >> 22) & 0x1) 1197285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C70_ROUND_MODE 0xFFBFFFFF 1198285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C70_TILE_COMPACT(x) (((x) & 0x1) << 23) 1199285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C70_TILE_COMPACT(x) (((x) >> 23) & 0x1) 1200285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C70_TILE_COMPACT 0xFF7FFFFF 1201285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C70_SOURCE_FORMAT(x) (((x) & 0x3) << 24) 1202285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C70_SOURCE_FORMAT(x) (((x) >> 24) & 0x3) 1203285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C70_SOURCE_FORMAT 0xFCFFFFFF 1204285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_EXPORT_4C_32BPC 0x0 1205285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_EXPORT_4C_16BPC 0x1 1206285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_028C70_EXPORT_2C_32BPC 0x2 /* Do not use */ 1207285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C70_RAT(x) (((x) & 0x1) << 26) 1208285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C70_RAT(x) (((x) >> 26) & 0x1) 1209285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C70_RAT 0xFBFFFFFF 1210285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C70_RESOURCE_TYPE(x) (((x) & 0x7) << 27) 1211285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C70_RESOURCE_TYPE(x) (((x) >> 27) & 0x7) 1212285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C70_RESOURCE_TYPE 0xC7FFFFFF 1213285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse 1214cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_INFO 0x28c70 12156018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define CB_FORMAT(x) ((x) << 2) 1216cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define CB_ARRAY_MODE(x) ((x) << 8) 1217cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_LINEAR_GENERAL 0 1218cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_LINEAR_ALIGNED 1 1219cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_1D_TILED_THIN1 2 1220cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define ARRAY_2D_TILED_THIN1 4 12216018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define CB_SOURCE_FORMAT(x) ((x) << 24) 12226018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define CB_SF_EXPORT_FULL 0 12236018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define CB_SF_EXPORT_NORM 1 1224285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_028C74_CB_COLOR0_ATTRIB 0x028C74 1225285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C74_NON_DISP_TILING_ORDER(x) (((x) & 0x1) << 4) 1226285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C74_NON_DISP_TILING_ORDER(x) (((x) >> 4) & 0x1) 1227285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028C74_NON_DISP_TILING_ORDER 0xFFFFFFEF 1228285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C74_TILE_SPLIT(x) (((x) & 0xf) << 5) 1229285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C74_TILE_SPLIT(x) (((x) >> 5) & 0xf) 1230285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C74_NUM_BANKS(x) (((x) & 0x3) << 10) 1231285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C74_NUM_BANKS(x) (((x) >> 10) & 0x3) 1232285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C74_BANK_WIDTH(x) (((x) & 0x3) << 13) 1233285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C74_BANK_WIDTH(x) (((x) >> 13) & 0x3) 1234285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C74_BANK_HEIGHT(x) (((x) & 0x3) << 16) 1235285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C74_BANK_HEIGHT(x) (((x) >> 16) & 0x3) 1236285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028C74_MACRO_TILE_ASPECT(x) (((x) & 0x3) << 19) 1237285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028C74_MACRO_TILE_ASPECT(x) (((x) >> 19) & 0x3) 1238cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_ATTRIB 0x28c74 1239f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define CB_TILE_SPLIT(x) (((x) & 0x7) << 5) 1240f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_TILE_SPLIT_64B 0 1241f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_TILE_SPLIT_128B 1 1242f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_TILE_SPLIT_256B 2 1243f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_TILE_SPLIT_512B 3 1244f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_TILE_SPLIT_1KB 4 1245f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_TILE_SPLIT_2KB 5 1246f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_TILE_SPLIT_4KB 6 1247f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define CB_NUM_BANKS(x) (((x) & 0x3) << 10) 1248f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_2_BANK 0 1249f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_4_BANK 1 1250f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_8_BANK 2 1251f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_16_BANK 3 1252f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define CB_BANK_WIDTH(x) (((x) & 0x3) << 13) 1253f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_WIDTH_1 0 1254f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_WIDTH_2 1 1255f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_WIDTH_4 2 1256f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_WIDTH_8 3 1257f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define CB_BANK_HEIGHT(x) (((x) & 0x3) << 16) 1258f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_HEIGHT_1 0 1259f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_HEIGHT_2 1 1260f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_HEIGHT_4 2 1261f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define ADDR_SURF_BANK_HEIGHT_8 3 1262285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse# define CB_MACRO_TILE_ASPECT(x) (((x) & 0x3) << 19) 1263cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_DIM 0x28c78 1264cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher/* only CB0-7 blocks have these regs */ 1265cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CMASK 0x28c7c 1266cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CMASK_SLICE 0x28c80 1267cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_FMASK 0x28c84 1268cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_FMASK_SLICE 0x28c88 1269cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD0 0x28c8c 1270cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD1 0x28c90 1271cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD2 0x28c94 1272cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR0_CLEAR_WORD3 0x28c98 1273cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1274cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_BASE 0x28c9c 1275cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_BASE 0x28cd8 1276cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_BASE 0x28d14 1277cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_BASE 0x28d50 1278cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_BASE 0x28d8c 1279cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_BASE 0x28dc8 1280cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_BASE 0x28e04 1281cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_BASE 0x28e40 1282cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_BASE 0x28e5c 1283cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_BASE 0x28e78 1284cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_BASE 0x28e94 1285cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1286cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_PITCH 0x28ca0 1287cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_PITCH 0x28cdc 1288cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_PITCH 0x28d18 1289cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_PITCH 0x28d54 1290cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_PITCH 0x28d90 1291cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_PITCH 0x28dcc 1292cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_PITCH 0x28e08 1293cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_PITCH 0x28e44 1294cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_PITCH 0x28e60 1295cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_PITCH 0x28e7c 1296cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_PITCH 0x28e98 1297cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1298cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_SLICE 0x28ca4 1299cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_SLICE 0x28ce0 1300cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_SLICE 0x28d1c 1301cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_SLICE 0x28d58 1302cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_SLICE 0x28d94 1303cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_SLICE 0x28dd0 1304cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_SLICE 0x28e0c 1305cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_SLICE 0x28e48 1306cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_SLICE 0x28e64 1307cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_SLICE 0x28e80 1308cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_SLICE 0x28e9c 1309cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1310cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_VIEW 0x28ca8 1311cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_VIEW 0x28ce4 1312cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_VIEW 0x28d20 1313cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_VIEW 0x28d5c 1314cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_VIEW 0x28d98 1315cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_VIEW 0x28dd4 1316cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_VIEW 0x28e10 1317cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_VIEW 0x28e4c 1318cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_VIEW 0x28e68 1319cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_VIEW 0x28e84 1320cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_VIEW 0x28ea0 1321cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1322cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_INFO 0x28cac 1323cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_INFO 0x28ce8 1324cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_INFO 0x28d24 1325cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_INFO 0x28d60 1326cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_INFO 0x28d9c 1327cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_INFO 0x28dd8 1328cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_INFO 0x28e14 1329cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_INFO 0x28e50 1330cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_INFO 0x28e6c 1331cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_INFO 0x28e88 1332cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_INFO 0x28ea4 1333cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1334cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_ATTRIB 0x28cb0 1335cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_ATTRIB 0x28cec 1336cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_ATTRIB 0x28d28 1337cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_ATTRIB 0x28d64 1338cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_ATTRIB 0x28da0 1339cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_ATTRIB 0x28ddc 1340cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_ATTRIB 0x28e18 1341cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_ATTRIB 0x28e54 1342cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_ATTRIB 0x28e70 1343cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_ATTRIB 0x28e8c 1344cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_ATTRIB 0x28ea8 1345cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1346cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_DIM 0x28cb4 1347cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_DIM 0x28cf0 1348cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_DIM 0x28d2c 1349cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_DIM 0x28d68 1350cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_DIM 0x28da4 1351cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_DIM 0x28de0 1352cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_DIM 0x28e1c 1353cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR8_DIM 0x28e58 1354cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR9_DIM 0x28e74 1355cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR10_DIM 0x28e90 1356cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR11_DIM 0x28eac 1357cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1358cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CMASK 0x28cb8 1359cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CMASK 0x28cf4 1360cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CMASK 0x28d30 1361cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CMASK 0x28d6c 1362cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CMASK 0x28da8 1363cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CMASK 0x28de4 1364cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CMASK 0x28e20 1365cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1366cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CMASK_SLICE 0x28cbc 1367cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CMASK_SLICE 0x28cf8 1368cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CMASK_SLICE 0x28d34 1369cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CMASK_SLICE 0x28d70 1370cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CMASK_SLICE 0x28dac 1371cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CMASK_SLICE 0x28de8 1372cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CMASK_SLICE 0x28e24 1373cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1374cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_FMASK 0x28cc0 1375cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_FMASK 0x28cfc 1376cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_FMASK 0x28d38 1377cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_FMASK 0x28d74 1378cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_FMASK 0x28db0 1379cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_FMASK 0x28dec 1380cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_FMASK 0x28e28 1381cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1382cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_FMASK_SLICE 0x28cc4 1383cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_FMASK_SLICE 0x28d00 1384cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_FMASK_SLICE 0x28d3c 1385cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_FMASK_SLICE 0x28d78 1386cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_FMASK_SLICE 0x28db4 1387cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_FMASK_SLICE 0x28df0 1388cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_FMASK_SLICE 0x28e2c 1389cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1390cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD0 0x28cc8 1391cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD0 0x28d04 1392cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD0 0x28d40 1393cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD0 0x28d7c 1394cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD0 0x28db8 1395cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD0 0x28df4 1396cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD0 0x28e30 1397cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1398cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD1 0x28ccc 1399cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD1 0x28d08 1400cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD1 0x28d44 1401cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD1 0x28d80 1402cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD1 0x28dbc 1403cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD1 0x28df8 1404cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD1 0x28e34 1405cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1406cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD2 0x28cd0 1407cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD2 0x28d0c 1408cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD2 0x28d48 1409cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD2 0x28d84 1410cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD2 0x28dc0 1411cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD2 0x28dfc 1412cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD2 0x28e38 1413cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1414cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR1_CLEAR_WORD3 0x28cd4 1415cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR2_CLEAR_WORD3 0x28d10 1416cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR3_CLEAR_WORD3 0x28d4c 1417cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR4_CLEAR_WORD3 0x28d88 1418cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR5_CLEAR_WORD3 0x28dc4 1419cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR6_CLEAR_WORD3 0x28e00 1420cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define CB_COLOR7_CLEAR_WORD3 0x28e3c 1421cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 1422cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD0_0 0x30000 14236018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define TEX_DIM(x) ((x) << 0) 14246018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_1D 0 14256018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_2D 1 14266018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_3D 2 14276018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_CUBEMAP 3 14286018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_1D_ARRAY 4 14296018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_2D_ARRAY 5 14306018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_2D_MSAA 6 14316018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_TEX_DIM_2D_ARRAY_MSAA 7 1432cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD1_0 0x30004 1433cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher# define TEX_ARRAY_MODE(x) ((x) << 28) 1434cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD2_0 0x30008 1435cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD3_0 0x3000C 1436cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD4_0 0x30010 14376018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define TEX_DST_SEL_X(x) ((x) << 16) 14386018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define TEX_DST_SEL_Y(x) ((x) << 19) 14396018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define TEX_DST_SEL_Z(x) ((x) << 22) 14406018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define TEX_DST_SEL_W(x) ((x) << 25) 14416018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_SEL_X 0 14426018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_SEL_Y 1 14436018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_SEL_Z 2 14446018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_SEL_W 3 14456018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_SEL_0 4 14466018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_SEL_1 5 1447cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD5_0 0x30014 1448cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD6_0 0x30018 1449f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define TEX_TILE_SPLIT(x) (((x) & 0x7) << 29) 1450cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher#define SQ_TEX_RESOURCE_WORD7_0 0x3001c 1451285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse# define MACRO_TILE_ASPECT(x) (((x) & 0x3) << 6) 1452f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define TEX_BANK_WIDTH(x) (((x) & 0x3) << 8) 1453f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define TEX_BANK_HEIGHT(x) (((x) & 0x3) << 10) 1454f3a71df05082c84d1408129084736c5f742a6165Alex Deucher# define TEX_NUM_BANKS(x) (((x) & 0x3) << 16) 1455285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_030000_SQ_TEX_RESOURCE_WORD0_0 0x030000 1456285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030000_DIM(x) (((x) & 0x7) << 0) 1457285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030000_DIM(x) (((x) >> 0) & 0x7) 1458285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030000_DIM 0xFFFFFFF8 1459285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030000_SQ_TEX_DIM_1D 0x00000000 1460285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030000_SQ_TEX_DIM_2D 0x00000001 1461285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030000_SQ_TEX_DIM_3D 0x00000002 1462285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030000_SQ_TEX_DIM_CUBEMAP 0x00000003 1463285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030000_SQ_TEX_DIM_1D_ARRAY 0x00000004 1464285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030000_SQ_TEX_DIM_2D_ARRAY 0x00000005 1465285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030000_SQ_TEX_DIM_2D_MSAA 0x00000006 1466285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030000_SQ_TEX_DIM_2D_ARRAY_MSAA 0x00000007 1467285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030000_NON_DISP_TILING_ORDER(x) (((x) & 0x1) << 5) 1468285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030000_NON_DISP_TILING_ORDER(x) (((x) >> 5) & 0x1) 1469285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030000_NON_DISP_TILING_ORDER 0xFFFFFFDF 1470285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030000_PITCH(x) (((x) & 0xFFF) << 6) 1471285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030000_PITCH(x) (((x) >> 6) & 0xFFF) 1472285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030000_PITCH 0xFFFC003F 1473285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030000_TEX_WIDTH(x) (((x) & 0x3FFF) << 18) 1474285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030000_TEX_WIDTH(x) (((x) >> 18) & 0x3FFF) 1475285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030000_TEX_WIDTH 0x0003FFFF 1476285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_030004_SQ_TEX_RESOURCE_WORD1_0 0x030004 1477285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030004_TEX_HEIGHT(x) (((x) & 0x3FFF) << 0) 1478285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030004_TEX_HEIGHT(x) (((x) >> 0) & 0x3FFF) 1479285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030004_TEX_HEIGHT 0xFFFFC000 1480285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030004_TEX_DEPTH(x) (((x) & 0x1FFF) << 14) 1481285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030004_TEX_DEPTH(x) (((x) >> 14) & 0x1FFF) 1482285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030004_TEX_DEPTH 0xF8003FFF 1483285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030004_ARRAY_MODE(x) (((x) & 0xF) << 28) 1484285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030004_ARRAY_MODE(x) (((x) >> 28) & 0xF) 1485285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030004_ARRAY_MODE 0x0FFFFFFF 1486285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_030008_SQ_TEX_RESOURCE_WORD2_0 0x030008 1487285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030008_BASE_ADDRESS(x) (((x) & 0xFFFFFFFF) << 0) 1488285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030008_BASE_ADDRESS(x) (((x) >> 0) & 0xFFFFFFFF) 1489285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030008_BASE_ADDRESS 0x00000000 1490285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_03000C_SQ_TEX_RESOURCE_WORD3_0 0x03000C 1491285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_03000C_MIP_ADDRESS(x) (((x) & 0xFFFFFFFF) << 0) 1492285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_03000C_MIP_ADDRESS(x) (((x) >> 0) & 0xFFFFFFFF) 1493285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_03000C_MIP_ADDRESS 0x00000000 1494285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_030010_SQ_TEX_RESOURCE_WORD4_0 0x030010 1495285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030010_FORMAT_COMP_X(x) (((x) & 0x3) << 0) 1496285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030010_FORMAT_COMP_X(x) (((x) >> 0) & 0x3) 1497285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030010_FORMAT_COMP_X 0xFFFFFFFC 1498285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030010_SQ_FORMAT_COMP_UNSIGNED 0x00000000 1499285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030010_SQ_FORMAT_COMP_SIGNED 0x00000001 1500285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030010_SQ_FORMAT_COMP_UNSIGNED_BIASED 0x00000002 1501285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030010_FORMAT_COMP_Y(x) (((x) & 0x3) << 2) 1502285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030010_FORMAT_COMP_Y(x) (((x) >> 2) & 0x3) 1503285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030010_FORMAT_COMP_Y 0xFFFFFFF3 1504285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030010_FORMAT_COMP_Z(x) (((x) & 0x3) << 4) 1505285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030010_FORMAT_COMP_Z(x) (((x) >> 4) & 0x3) 1506285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030010_FORMAT_COMP_Z 0xFFFFFFCF 1507285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030010_FORMAT_COMP_W(x) (((x) & 0x3) << 6) 1508285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030010_FORMAT_COMP_W(x) (((x) >> 6) & 0x3) 1509285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030010_FORMAT_COMP_W 0xFFFFFF3F 1510285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030010_NUM_FORMAT_ALL(x) (((x) & 0x3) << 8) 1511285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030010_NUM_FORMAT_ALL(x) (((x) >> 8) & 0x3) 1512285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030010_NUM_FORMAT_ALL 0xFFFFFCFF 1513285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030010_SQ_NUM_FORMAT_NORM 0x00000000 1514285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030010_SQ_NUM_FORMAT_INT 0x00000001 1515285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030010_SQ_NUM_FORMAT_SCALED 0x00000002 1516285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030010_SRF_MODE_ALL(x) (((x) & 0x1) << 10) 1517285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030010_SRF_MODE_ALL(x) (((x) >> 10) & 0x1) 1518285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030010_SRF_MODE_ALL 0xFFFFFBFF 1519285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030010_SRF_MODE_ZERO_CLAMP_MINUS_ONE 0x00000000 1520285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030010_SRF_MODE_NO_ZERO 0x00000001 1521285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030010_FORCE_DEGAMMA(x) (((x) & 0x1) << 11) 1522285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030010_FORCE_DEGAMMA(x) (((x) >> 11) & 0x1) 1523285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030010_FORCE_DEGAMMA 0xFFFFF7FF 1524285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030010_ENDIAN_SWAP(x) (((x) & 0x3) << 12) 1525285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030010_ENDIAN_SWAP(x) (((x) >> 12) & 0x3) 1526285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030010_ENDIAN_SWAP 0xFFFFCFFF 1527285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030010_DST_SEL_X(x) (((x) & 0x7) << 16) 1528285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030010_DST_SEL_X(x) (((x) >> 16) & 0x7) 1529285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030010_DST_SEL_X 0xFFF8FFFF 1530285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030010_SQ_SEL_X 0x00000000 1531285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030010_SQ_SEL_Y 0x00000001 1532285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030010_SQ_SEL_Z 0x00000002 1533285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030010_SQ_SEL_W 0x00000003 1534285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030010_SQ_SEL_0 0x00000004 1535285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_030010_SQ_SEL_1 0x00000005 1536285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030010_DST_SEL_Y(x) (((x) & 0x7) << 19) 1537285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030010_DST_SEL_Y(x) (((x) >> 19) & 0x7) 1538285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030010_DST_SEL_Y 0xFFC7FFFF 1539285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030010_DST_SEL_Z(x) (((x) & 0x7) << 22) 1540285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030010_DST_SEL_Z(x) (((x) >> 22) & 0x7) 1541285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030010_DST_SEL_Z 0xFE3FFFFF 1542285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030010_DST_SEL_W(x) (((x) & 0x7) << 25) 1543285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030010_DST_SEL_W(x) (((x) >> 25) & 0x7) 1544285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030010_DST_SEL_W 0xF1FFFFFF 1545285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030010_BASE_LEVEL(x) (((x) & 0xF) << 28) 1546285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030010_BASE_LEVEL(x) (((x) >> 28) & 0xF) 1547285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030010_BASE_LEVEL 0x0FFFFFFF 1548285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_030014_SQ_TEX_RESOURCE_WORD5_0 0x030014 1549285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030014_LAST_LEVEL(x) (((x) & 0xF) << 0) 1550285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030014_LAST_LEVEL(x) (((x) >> 0) & 0xF) 1551285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030014_LAST_LEVEL 0xFFFFFFF0 1552285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030014_BASE_ARRAY(x) (((x) & 0x1FFF) << 4) 1553285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030014_BASE_ARRAY(x) (((x) >> 4) & 0x1FFF) 1554285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030014_BASE_ARRAY 0xFFFE000F 1555285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030014_LAST_ARRAY(x) (((x) & 0x1FFF) << 17) 1556285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030014_LAST_ARRAY(x) (((x) >> 17) & 0x1FFF) 1557285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030014_LAST_ARRAY 0xC001FFFF 1558285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_030018_SQ_TEX_RESOURCE_WORD6_0 0x030018 1559285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030018_MAX_ANISO(x) (((x) & 0x7) << 0) 1560285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030018_MAX_ANISO(x) (((x) >> 0) & 0x7) 1561285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030018_MAX_ANISO 0xFFFFFFF8 1562285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030018_PERF_MODULATION(x) (((x) & 0x7) << 3) 1563285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030018_PERF_MODULATION(x) (((x) >> 3) & 0x7) 1564285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030018_PERF_MODULATION 0xFFFFFFC7 1565285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030018_INTERLACED(x) (((x) & 0x1) << 6) 1566285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030018_INTERLACED(x) (((x) >> 6) & 0x1) 1567285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_030018_INTERLACED 0xFFFFFFBF 1568285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_030018_TILE_SPLIT(x) (((x) & 0x7) << 29) 1569285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_030018_TILE_SPLIT(x) (((x) >> 29) & 0x7) 1570285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_03001C_SQ_TEX_RESOURCE_WORD7_0 0x03001C 1571285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_03001C_MACRO_TILE_ASPECT(x) (((x) & 0x3) << 6) 1572285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_03001C_MACRO_TILE_ASPECT(x) (((x) >> 6) & 0x3) 1573285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_03001C_BANK_WIDTH(x) (((x) & 0x3) << 8) 1574285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_03001C_BANK_WIDTH(x) (((x) >> 8) & 0x3) 1575285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_03001C_BANK_HEIGHT(x) (((x) & 0x3) << 10) 1576285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_03001C_BANK_HEIGHT(x) (((x) >> 10) & 0x3) 1577285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_03001C_NUM_BANKS(x) (((x) & 0x3) << 16) 1578285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_03001C_NUM_BANKS(x) (((x) >> 16) & 0x3) 1579285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_03001C_TYPE(x) (((x) & 0x3) << 30) 1580285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_03001C_TYPE(x) (((x) >> 30) & 0x3) 1581285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_03001C_TYPE 0x3FFFFFFF 1582285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_03001C_SQ_TEX_VTX_INVALID_TEXTURE 0x00000000 1583285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_03001C_SQ_TEX_VTX_INVALID_BUFFER 0x00000001 1584285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_03001C_SQ_TEX_VTX_VALID_TEXTURE 0x00000002 1585285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define V_03001C_SQ_TEX_VTX_VALID_BUFFER 0x00000003 1586285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_03001C_DATA_FORMAT(x) (((x) & 0x3F) << 0) 1587285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_03001C_DATA_FORMAT(x) (((x) >> 0) & 0x3F) 1588285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_03001C_DATA_FORMAT 0xFFFFFFC0 1589cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 15906018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD0_0 0x30000 15916018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD1_0 0x30004 15926018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD2_0 0x30008 15936018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_VTXC_BASE_ADDR_HI(x) ((x) << 0) 15946018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_VTXC_STRIDE(x) ((x) << 8) 15956018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_VTXC_ENDIAN_SWAP(x) ((x) << 30) 15966018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_ENDIAN_NONE 0 15976018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_ENDIAN_8IN16 1 15986018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_ENDIAN_8IN32 2 15996018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD3_0 0x3000C 16006018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_VTCX_SEL_X(x) ((x) << 3) 16016018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_VTCX_SEL_Y(x) ((x) << 6) 16026018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_VTCX_SEL_Z(x) ((x) << 9) 16036018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic# define SQ_VTCX_SEL_W(x) ((x) << 12) 16046018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD4_0 0x30010 16056018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD5_0 0x30014 16066018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD6_0 0x30018 16076018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic#define SQ_VTX_CONSTANT_WORD7_0 0x3001c 16086018faf58da5be0f0307b7bd2af113b9a60b7a7eIlija Hadzic 1609721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_PS_BORDER_COLOR_INDEX 0xA400 1610721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_PS_BORDER_COLOR_RED 0xA404 1611721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_PS_BORDER_COLOR_GREEN 0xA408 1612721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_PS_BORDER_COLOR_BLUE 0xA40C 1613721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_PS_BORDER_COLOR_ALPHA 0xA410 1614721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_VS_BORDER_COLOR_INDEX 0xA414 1615721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_VS_BORDER_COLOR_RED 0xA418 1616721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_VS_BORDER_COLOR_GREEN 0xA41C 1617721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_VS_BORDER_COLOR_BLUE 0xA420 1618721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_VS_BORDER_COLOR_ALPHA 0xA424 1619721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_GS_BORDER_COLOR_INDEX 0xA428 1620721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_GS_BORDER_COLOR_RED 0xA42C 1621721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_GS_BORDER_COLOR_GREEN 0xA430 1622721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_GS_BORDER_COLOR_BLUE 0xA434 1623721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_GS_BORDER_COLOR_ALPHA 0xA438 1624721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_HS_BORDER_COLOR_INDEX 0xA43C 1625721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_HS_BORDER_COLOR_RED 0xA440 1626721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_HS_BORDER_COLOR_GREEN 0xA444 1627721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_HS_BORDER_COLOR_BLUE 0xA448 1628721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_HS_BORDER_COLOR_ALPHA 0xA44C 1629721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_LS_BORDER_COLOR_INDEX 0xA450 1630721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_LS_BORDER_COLOR_RED 0xA454 1631721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_LS_BORDER_COLOR_GREEN 0xA458 1632721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_LS_BORDER_COLOR_BLUE 0xA45C 1633721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_LS_BORDER_COLOR_ALPHA 0xA460 1634721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_CS_BORDER_COLOR_INDEX 0xA464 1635721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_CS_BORDER_COLOR_RED 0xA468 1636721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_CS_BORDER_COLOR_GREEN 0xA46C 1637721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_CS_BORDER_COLOR_BLUE 0xA470 1638721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define TD_CS_BORDER_COLOR_ALPHA 0xA474 1639721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse 1640c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher/* cayman 3D regs */ 1641721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define CAYMAN_VGT_OFFCHIP_LDS_BASE 0x89B4 1642721604a15b934f0a8d1909acb8017f029128be2fJerome Glisse#define CAYMAN_SQ_EX_ALLOC_TABLE_SLOTS 0x8E48 1643c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher#define CAYMAN_DB_EQAA 0x28804 1644c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher#define CAYMAN_DB_DEPTH_INFO 0x2803C 1645c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher#define CAYMAN_PA_SC_AA_CONFIG 0x28BE0 1646c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher#define CAYMAN_MSAA_NUM_SAMPLES_SHIFT 0 1647c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher#define CAYMAN_MSAA_NUM_SAMPLES_MASK 0x7 1648033b5650010652c069494df58424c4b98412fe3bAlex Deucher#define CAYMAN_SX_SCATTER_EXPORT_BASE 0x28358 1649c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher/* cayman packet3 addition */ 1650c175ca9a4c8cb30a61ccefacf8243350e1db4162Alex Deucher#define CAYMAN_PACKET3_DEALLOC_STATE 0x14 1651cb5fcbd540b438a5d311bd15dc910841d01ed140Alex Deucher 16520fcdb61e78050f8f0b31029eeafa5ae013ce0f35Alex Deucher#endif 1653