13ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse/* 23ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * Copyright 2009 Advanced Micro Devices, Inc. 33ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * Copyright 2009 Red Hat Inc. 43ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * 53ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * Permission is hereby granted, free of charge, to any person obtaining a 63ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * copy of this software and associated documentation files (the "Software"), 73ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * to deal in the Software without restriction, including without limitation 83ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * the rights to use, copy, modify, merge, publish, distribute, sublicense, 93ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * and/or sell copies of the Software, and to permit persons to whom the 103ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * Software is furnished to do so, subject to the following conditions: 113ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * 123ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * The above copyright notice and this permission notice shall be included in 133ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * all copies or substantial portions of the Software. 143ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * 153ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 163ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 173ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 183ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 193ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 203ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 213ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * OTHER DEALINGS IN THE SOFTWARE. 223ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * 233ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * Authors: Dave Airlie 243ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * Alex Deucher 253ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * Jerome Glisse 263ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse */ 273ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#ifndef R600D_H 283ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R600D_H 293ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 303ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_PACKET2 0x80000000 313ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET2_PAD_SHIFT 0 323ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET2_PAD_MASK (0x3fffffff << 0) 333ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 343ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET2(v) (CP_PACKET2 | REG_SET(PACKET2_PAD, (v))) 353ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 363ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R6XX_MAX_SH_GPRS 256 373ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R6XX_MAX_TEMP_GPRS 16 383ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R6XX_MAX_SH_THREADS 256 393ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R6XX_MAX_SH_STACK_ENTRIES 4096 403ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R6XX_MAX_BACKENDS 8 413ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R6XX_MAX_BACKENDS_MASK 0xff 423ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R6XX_MAX_SIMDS 8 433ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R6XX_MAX_SIMDS_MASK 0xff 443ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R6XX_MAX_PIPES 8 453ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R6XX_MAX_PIPES_MASK 0xff 463ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 4716790569eddf4d406a16a65f4750f405fa669c52Alex Deucher/* tiling bits */ 4816790569eddf4d406a16a65f4750f405fa669c52Alex Deucher#define ARRAY_LINEAR_GENERAL 0x00000000 4916790569eddf4d406a16a65f4750f405fa669c52Alex Deucher#define ARRAY_LINEAR_ALIGNED 0x00000001 5016790569eddf4d406a16a65f4750f405fa669c52Alex Deucher#define ARRAY_1D_TILED_THIN1 0x00000002 5116790569eddf4d406a16a65f4750f405fa669c52Alex Deucher#define ARRAY_2D_TILED_THIN1 0x00000004 5216790569eddf4d406a16a65f4750f405fa669c52Alex Deucher 533ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse/* Registers */ 543ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ARB_POP 0x2418 553ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ENABLE_TC128 (1 << 30) 563ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ARB_GDEC_RD_CNTL 0x246C 573ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 583ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CC_GC_SHADER_PIPE_CONFIG 0x8950 593ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CC_RB_BACKEND_DISABLE 0x98F4 603ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define BACKEND_DISABLE(x) ((x) << 16) 613ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 62523885dec109188b6bed53ec67362072f13b0d43Marek Olšák#define R_028808_CB_COLOR_CONTROL 0x28808 63523885dec109188b6bed53ec67362072f13b0d43Marek Olšák#define S_028808_SPECIAL_OP(x) (((x) & 0x7) << 4) 64523885dec109188b6bed53ec67362072f13b0d43Marek Olšák#define G_028808_SPECIAL_OP(x) (((x) >> 4) & 0x7) 65523885dec109188b6bed53ec67362072f13b0d43Marek Olšák#define C_028808_SPECIAL_OP 0xFFFFFF8F 66523885dec109188b6bed53ec67362072f13b0d43Marek Olšák#define V_028808_SPECIAL_NORMAL 0x00 67523885dec109188b6bed53ec67362072f13b0d43Marek Olšák#define V_028808_SPECIAL_DISABLE 0x01 68523885dec109188b6bed53ec67362072f13b0d43Marek Olšák#define V_028808_SPECIAL_RESOLVE_BOX 0x07 69523885dec109188b6bed53ec67362072f13b0d43Marek Olšák 703ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CB_COLOR0_BASE 0x28040 713ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CB_COLOR1_BASE 0x28044 723ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CB_COLOR2_BASE 0x28048 733ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CB_COLOR3_BASE 0x2804C 743ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CB_COLOR4_BASE 0x28050 753ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CB_COLOR5_BASE 0x28054 763ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CB_COLOR6_BASE 0x28058 773ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CB_COLOR7_BASE 0x2805C 783ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CB_COLOR7_FRAG 0x280FC 793ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 803ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CB_COLOR0_SIZE 0x28060 813ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CB_COLOR0_VIEW 0x28080 82285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_028080_CB_COLOR0_VIEW 0x028080 83285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028080_SLICE_START(x) (((x) & 0x7FF) << 0) 84285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028080_SLICE_START(x) (((x) >> 0) & 0x7FF) 85285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028080_SLICE_START 0xFFFFF800 86285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define S_028080_SLICE_MAX(x) (((x) & 0x7FF) << 13) 87285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define G_028080_SLICE_MAX(x) (((x) >> 13) & 0x7FF) 88285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define C_028080_SLICE_MAX 0xFF001FFF 89285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_028084_CB_COLOR1_VIEW 0x028084 90285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_028088_CB_COLOR2_VIEW 0x028088 91285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_02808C_CB_COLOR3_VIEW 0x02808C 92285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_028090_CB_COLOR4_VIEW 0x028090 93285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_028094_CB_COLOR5_VIEW 0x028094 94285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_028098_CB_COLOR6_VIEW 0x028098 95285484e2d55e76031b45926720c10b1aec8b782aJerome Glisse#define R_02809C_CB_COLOR7_VIEW 0x02809C 96c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define R_028100_CB_COLOR0_MASK 0x028100 97c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define S_028100_CMASK_BLOCK_MAX(x) (((x) & 0xFFF) << 0) 98c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define G_028100_CMASK_BLOCK_MAX(x) (((x) >> 0) & 0xFFF) 99c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define C_028100_CMASK_BLOCK_MAX 0xFFFFF000 100c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define S_028100_FMASK_TILE_MAX(x) (((x) & 0xFFFFF) << 12) 101c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define G_028100_FMASK_TILE_MAX(x) (((x) >> 12) & 0xFFFFF) 102c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define C_028100_FMASK_TILE_MAX 0x00000FFF 103c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define R_028104_CB_COLOR1_MASK 0x028104 104c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define R_028108_CB_COLOR2_MASK 0x028108 105c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define R_02810C_CB_COLOR3_MASK 0x02810C 106c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define R_028110_CB_COLOR4_MASK 0x028110 107c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define R_028114_CB_COLOR5_MASK 0x028114 108c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define R_028118_CB_COLOR6_MASK 0x028118 109c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define R_02811C_CB_COLOR7_MASK 0x02811C 1103ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CB_COLOR0_INFO 0x280a0 1113a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define CB_FORMAT(x) ((x) << 2) 1123a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define CB_ARRAY_MODE(x) ((x) << 8) 1133a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define CB_SOURCE_FORMAT(x) ((x) << 27) 1143a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define CB_SF_EXPORT_FULL 0 1153a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define CB_SF_EXPORT_NORM 1 1163ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CB_COLOR0_TILE 0x280c0 1173ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CB_COLOR0_FRAG 0x280e0 1183ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CB_COLOR0_MASK 0x28100 1193ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 1205f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_0 0x28940 1215f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_1 0x28944 1225f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_2 0x28948 1235f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_3 0x2894c 1245f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_4 0x28950 1255f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_5 0x28954 1265f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_6 0x28958 1275f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_7 0x2895c 1285f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_8 0x28960 1295f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_9 0x28964 1305f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_10 0x28968 1315f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_11 0x2896c 1325f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_12 0x28970 1335f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_13 0x28974 1345f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_14 0x28978 1355f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_PS_15 0x2897c 1365f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_0 0x28980 1375f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_1 0x28984 1385f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_2 0x28988 1395f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_3 0x2898c 1405f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_4 0x28990 1415f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_5 0x28994 1425f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_6 0x28998 1435f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_7 0x2899c 1445f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_8 0x289a0 1455f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_9 0x289a4 1465f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_10 0x289a8 1475f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_11 0x289ac 1485f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_12 0x289b0 1495f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_13 0x289b4 1505f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_14 0x289b8 1515f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_VS_15 0x289bc 1525f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_0 0x289c0 1535f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_1 0x289c4 1545f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_2 0x289c8 1555f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_3 0x289cc 1565f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_4 0x289d0 1575f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_5 0x289d4 1585f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_6 0x289d8 1595f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_7 0x289dc 1605f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_8 0x289e0 1615f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_9 0x289e4 1625f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_10 0x289e8 1635f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_11 0x289ec 1645f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_12 0x289f0 1655f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_13 0x289f4 1665f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_14 0x289f8 1675f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher#define SQ_ALU_CONST_CACHE_GS_15 0x289fc 1685f77df368c84d0a4a5913c8c78f0c6fa0b0db674Alex Deucher 1693ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CONFIG_MEMSIZE 0x5428 17028d520433b6375740990ab99d69b0d0067fd656bDave Airlie#define CONFIG_CNTL 0x5424 171440a7cd87e2bea9b8cf7b8b07aecad9c2f8638ddJerome Glisse#define CP_STALLED_STAT1 0x8674 172440a7cd87e2bea9b8cf7b8b07aecad9c2f8638ddJerome Glisse#define CP_STALLED_STAT2 0x8678 173440a7cd87e2bea9b8cf7b8b07aecad9c2f8638ddJerome Glisse#define CP_BUSY_STAT 0x867C 1743ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_STAT 0x8680 1753ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_COHER_BASE 0x85F8 1763ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_DEBUG 0xC1FC 1773ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R_0086D8_CP_ME_CNTL 0x86D8 178d3cb781e83b39561f717358e95d357e53a0da720Alex Deucher#define S_0086D8_CP_PFP_HALT(x) (((x) & 1)<<26) 179d3cb781e83b39561f717358e95d357e53a0da720Alex Deucher#define C_0086D8_CP_PFP_HALT(x) ((x) & 0xFBFFFFFF) 1803ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_0086D8_CP_ME_HALT(x) (((x) & 1)<<28) 1813ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define C_0086D8_CP_ME_HALT(x) ((x) & 0xEFFFFFFF) 1823ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_ME_RAM_DATA 0xC160 1833ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_ME_RAM_RADDR 0xC158 1843ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_ME_RAM_WADDR 0xC15C 1853ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_MEQ_THRESHOLDS 0x8764 1863ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MEQ_END(x) ((x) << 16) 1873ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ROQ_END(x) ((x) << 24) 1883ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_PERFMON_CNTL 0x87FC 1893ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_PFP_UCODE_ADDR 0xC150 1903ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_PFP_UCODE_DATA 0xC154 1913ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_QUEUE_THRESHOLDS 0x8760 1923ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ROQ_IB1_START(x) ((x) << 0) 1933ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ROQ_IB2_START(x) ((x) << 8) 1943ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_RB_BASE 0xC100 1953ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_RB_CNTL 0xC104 1964eace7fdfa1f8ac2f0a833e12bd07eeb453ec9efCédric Cano#define RB_BUFSZ(x) ((x) << 0) 1974eace7fdfa1f8ac2f0a833e12bd07eeb453ec9efCédric Cano#define RB_BLKSZ(x) ((x) << 8) 1984eace7fdfa1f8ac2f0a833e12bd07eeb453ec9efCédric Cano#define RB_NO_UPDATE (1 << 27) 1994eace7fdfa1f8ac2f0a833e12bd07eeb453ec9efCédric Cano#define RB_RPTR_WR_ENA (1 << 31) 2003ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define BUF_SWAP_32BIT (2 << 16) 2013ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_RB_RPTR 0x8700 2023ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_RB_RPTR_ADDR 0xC10C 2034eace7fdfa1f8ac2f0a833e12bd07eeb453ec9efCédric Cano#define RB_RPTR_SWAP(x) ((x) << 0) 2043ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_RB_RPTR_ADDR_HI 0xC110 2053ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_RB_RPTR_WR 0xC108 2063ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_RB_WPTR 0xC114 2073ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_RB_WPTR_ADDR 0xC118 2083ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_RB_WPTR_ADDR_HI 0xC11C 2093ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_RB_WPTR_DELAY 0x8704 2103ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_ROQ_IB1_STAT 0x8784 2113ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_ROQ_IB2_STAT 0x8788 2123ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CP_SEM_WAIT_TIMER 0x85BC 2133ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 2143ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define DB_DEBUG 0x9830 2153ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PREZ_MUST_WAIT_FOR_POSTZ_DONE (1 << 31) 2163ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define DB_DEPTH_BASE 0x2800C 217a39533b4ddad388b64a20bcabd17ac125fd4ba65Alex Deucher#define DB_HTILE_DATA_BASE 0x28014 21888f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define DB_HTILE_SURFACE 0x28D24 21988f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define S_028D24_HTILE_WIDTH(x) (((x) & 0x1) << 0) 22088f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define G_028D24_HTILE_WIDTH(x) (((x) >> 0) & 0x1) 22188f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define C_028D24_HTILE_WIDTH 0xFFFFFFFE 22288f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define S_028D24_HTILE_HEIGHT(x) (((x) & 0x1) << 1) 22388f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define G_028D24_HTILE_HEIGHT(x) (((x) >> 1) & 0x1) 22488f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define C_028D24_HTILE_HEIGHT 0xFFFFFFFD 22588f50c80748bf5238c88e70ee26c68ac48b94e68Jerome Glisse#define G_028D24_LINEAR(x) (((x) >> 2) & 0x1) 2263ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define DB_WATERMARKS 0x9838 2273ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define DEPTH_FREE(x) ((x) << 0) 2283ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define DEPTH_FLUSH(x) ((x) << 5) 2293ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define DEPTH_PENDING_FREE(x) ((x) << 15) 2303ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define DEPTH_CACHELINE_FREE(x) ((x) << 20) 2313ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 2323ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define DCP_TILING_CONFIG 0x6CA0 2333ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PIPE_TILING(x) ((x) << 1) 2343ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define BANK_TILING(x) ((x) << 4) 2353ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define GROUP_SIZE(x) ((x) << 6) 2363ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ROW_TILING(x) ((x) << 8) 2373ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define BANK_SWAPS(x) ((x) << 11) 2383ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SAMPLE_SPLIT(x) ((x) << 14) 2393ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define BACKEND_MAP(x) ((x) << 16) 2403ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 2413ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define GB_TILING_CONFIG 0x98F0 242416a2bd274566a6f607a271f524b2dc0b84d9106Alex Deucher#define PIPE_TILING__SHIFT 1 243416a2bd274566a6f607a271f524b2dc0b84d9106Alex Deucher#define PIPE_TILING__MASK 0x0000000e 2443ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 2453ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define GC_USER_SHADER_PIPE_CONFIG 0x8954 2463ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define INACTIVE_QD_PIPES(x) ((x) << 8) 2473ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define INACTIVE_QD_PIPES_MASK 0x0000FF00 2483ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define INACTIVE_SIMDS(x) ((x) << 16) 2493ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define INACTIVE_SIMDS_MASK 0x00FF0000 2503ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 2513ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_CONFIG 0x8c00 2523ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define VC_ENABLE (1 << 0) 2533ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define EXPORT_SRC_C (1 << 1) 2543ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define DX9_CONSTS (1 << 2) 2553ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define ALU_INST_PREFER_VECTOR (1 << 3) 2563ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define DX10_CLAMP (1 << 4) 2573ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define CLAUSE_SEQ_PRIO(x) ((x) << 8) 2583ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define PS_PRIO(x) ((x) << 24) 2593ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define VS_PRIO(x) ((x) << 26) 2603ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define GS_PRIO(x) ((x) << 28) 2613ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define ES_PRIO(x) ((x) << 30) 2623ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_GPR_RESOURCE_MGMT_1 0x8c04 2633ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define NUM_PS_GPRS(x) ((x) << 0) 2643ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define NUM_VS_GPRS(x) ((x) << 16) 2653ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define NUM_CLAUSE_TEMP_GPRS(x) ((x) << 28) 2663ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_GPR_RESOURCE_MGMT_2 0x8c08 2673ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define NUM_GS_GPRS(x) ((x) << 0) 2683ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define NUM_ES_GPRS(x) ((x) << 16) 2693ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_THREAD_RESOURCE_MGMT 0x8c0c 2703ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define NUM_PS_THREADS(x) ((x) << 0) 2713ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define NUM_VS_THREADS(x) ((x) << 8) 2723ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define NUM_GS_THREADS(x) ((x) << 16) 2733ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define NUM_ES_THREADS(x) ((x) << 24) 2743ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_STACK_RESOURCE_MGMT_1 0x8c10 2753ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define NUM_PS_STACK_ENTRIES(x) ((x) << 0) 2763ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define NUM_VS_STACK_ENTRIES(x) ((x) << 16) 2773ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_STACK_RESOURCE_MGMT_2 0x8c14 2783ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define NUM_GS_STACK_ENTRIES(x) ((x) << 0) 2793ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define NUM_ES_STACK_ENTRIES(x) ((x) << 16) 280a39533b4ddad388b64a20bcabd17ac125fd4ba65Alex Deucher#define SQ_ESGS_RING_BASE 0x8c40 281a39533b4ddad388b64a20bcabd17ac125fd4ba65Alex Deucher#define SQ_GSVS_RING_BASE 0x8c48 282a39533b4ddad388b64a20bcabd17ac125fd4ba65Alex Deucher#define SQ_ESTMP_RING_BASE 0x8c50 283a39533b4ddad388b64a20bcabd17ac125fd4ba65Alex Deucher#define SQ_GSTMP_RING_BASE 0x8c58 284a39533b4ddad388b64a20bcabd17ac125fd4ba65Alex Deucher#define SQ_VSTMP_RING_BASE 0x8c60 285a39533b4ddad388b64a20bcabd17ac125fd4ba65Alex Deucher#define SQ_PSTMP_RING_BASE 0x8c68 286a39533b4ddad388b64a20bcabd17ac125fd4ba65Alex Deucher#define SQ_FBUF_RING_BASE 0x8c70 287a39533b4ddad388b64a20bcabd17ac125fd4ba65Alex Deucher#define SQ_REDUC_RING_BASE 0x8c78 2883ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 2893ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define GRBM_CNTL 0x8000 2903ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define GRBM_READ_TIMEOUT(x) ((x) << 0) 2913ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define GRBM_STATUS 0x8010 2923ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CMDFIFO_AVAIL_MASK 0x0000001F 2933ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define GUI_ACTIVE (1<<31) 2943ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define GRBM_STATUS2 0x8014 2953ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define GRBM_SOFT_RESET 0x8020 2963ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SOFT_RESET_CP (1<<0) 2973ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 2984a6369e9935e392402d4ccb67f5cddac953e8d3cAlex Deucher#define CG_THERMAL_CTRL 0x7F0 2994a6369e9935e392402d4ccb67f5cddac953e8d3cAlex Deucher#define DIG_THERM_DPM(x) ((x) << 12) 3004a6369e9935e392402d4ccb67f5cddac953e8d3cAlex Deucher#define DIG_THERM_DPM_MASK 0x000FF000 3014a6369e9935e392402d4ccb67f5cddac953e8d3cAlex Deucher#define DIG_THERM_DPM_SHIFT 12 30221a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher#define CG_THERMAL_STATUS 0x7F4 30321a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher#define ASIC_T(x) ((x) << 0) 30421a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher#define ASIC_T_MASK 0x1FF 30521a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher#define ASIC_T_SHIFT 0 3064a6369e9935e392402d4ccb67f5cddac953e8d3cAlex Deucher#define CG_THERMAL_INT 0x7F8 3074a6369e9935e392402d4ccb67f5cddac953e8d3cAlex Deucher#define DIG_THERM_INTH(x) ((x) << 8) 3084a6369e9935e392402d4ccb67f5cddac953e8d3cAlex Deucher#define DIG_THERM_INTH_MASK 0x0000FF00 3094a6369e9935e392402d4ccb67f5cddac953e8d3cAlex Deucher#define DIG_THERM_INTH_SHIFT 8 3104a6369e9935e392402d4ccb67f5cddac953e8d3cAlex Deucher#define DIG_THERM_INTL(x) ((x) << 16) 3114a6369e9935e392402d4ccb67f5cddac953e8d3cAlex Deucher#define DIG_THERM_INTL_MASK 0x00FF0000 3124a6369e9935e392402d4ccb67f5cddac953e8d3cAlex Deucher#define DIG_THERM_INTL_SHIFT 16 3134a6369e9935e392402d4ccb67f5cddac953e8d3cAlex Deucher#define THERM_INT_MASK_HIGH (1 << 24) 3144a6369e9935e392402d4ccb67f5cddac953e8d3cAlex Deucher#define THERM_INT_MASK_LOW (1 << 25) 31521a8122ad38c60d73fe5dc51051414c3564d174aAlex Deucher 31666229b200598a3b66b839d1759ff3f5b17ac5639Alex Deucher#define RV770_CG_THERMAL_INT 0x734 31766229b200598a3b66b839d1759ff3f5b17ac5639Alex Deucher 3183ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define HDP_HOST_PATH_CNTL 0x2C00 3193ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define HDP_NONSURFACE_BASE 0x2C04 3203ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define HDP_NONSURFACE_INFO 0x2C08 3213ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define HDP_NONSURFACE_SIZE 0x2C0C 3223ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define HDP_REG_COHERENCY_FLUSH_CNTL 0x54A0 3233ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define HDP_TILING_CONFIG 0x2F3C 324812d046915f48236657f02c06d7dc47140e9cedaAlex Deucher#define HDP_DEBUG1 0x2F34 3253ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 326115365e8a33e4ce5e12bee7999568a26b4c33d3fChristian König#define MC_CONFIG 0x2000 3273ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_AGP_TOP 0x2184 3283ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_AGP_BOT 0x2188 3293ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_AGP_BASE 0x218C 3303ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_FB_LOCATION 0x2180 331a8fba64ab08cf4a5baf211f1126b475e03f90fc1Christian König#define MC_VM_L1_TLB_MCB_RD_UVD_CNTL 0x2124 3323ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ENABLE_L1_TLB (1 << 0) 3333ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ENABLE_L1_FRAGMENT_PROCESSING (1 << 1) 3343ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ENABLE_L1_STRICT_ORDERING (1 << 2) 3353ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SYSTEM_ACCESS_MODE_MASK 0x000000C0 3363ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SYSTEM_ACCESS_MODE_SHIFT 6 3373ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SYSTEM_ACCESS_MODE_PA_ONLY (0 << 6) 3383ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SYSTEM_ACCESS_MODE_USE_SYS_MAP (1 << 6) 3393ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SYSTEM_ACCESS_MODE_IN_SYS (2 << 6) 3403ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SYSTEM_ACCESS_MODE_NOT_IN_SYS (3 << 6) 3413ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SYSTEM_APERTURE_UNMAPPED_ACCESS_PASS_THRU (0 << 8) 3423ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SYSTEM_APERTURE_UNMAPPED_ACCESS_DEFAULT_PAGE (1 << 8) 3433ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ENABLE_SEMAPHORE_MODE (1 << 10) 3443ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ENABLE_WAIT_L2_QUERY (1 << 11) 3453ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define EFFECTIVE_L1_TLB_SIZE(x) (((x) & 7) << 12) 3463ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define EFFECTIVE_L1_TLB_SIZE_MASK 0x00007000 3473ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define EFFECTIVE_L1_TLB_SIZE_SHIFT 12 3483ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define EFFECTIVE_L1_QUEUE_SIZE(x) (((x) & 7) << 15) 3493ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define EFFECTIVE_L1_QUEUE_SIZE_MASK 0x00038000 3503ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define EFFECTIVE_L1_QUEUE_SIZE_SHIFT 15 351a8fba64ab08cf4a5baf211f1126b475e03f90fc1Christian König#define MC_VM_L1_TLB_MCD_RD_A_CNTL 0x219C 3523ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_L1_TLB_MCD_RD_B_CNTL 0x21A0 3533ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_L1_TLB_MCB_RD_GFX_CNTL 0x21FC 3543ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_L1_TLB_MCB_RD_HDP_CNTL 0x2204 3553ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_L1_TLB_MCB_RD_PDMA_CNTL 0x2208 3563ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_L1_TLB_MCB_RD_SEM_CNTL 0x220C 3573ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_L1_TLB_MCB_RD_SYS_CNTL 0x2200 358a8fba64ab08cf4a5baf211f1126b475e03f90fc1Christian König#define MC_VM_L1_TLB_MCB_WR_UVD_CNTL 0x212c 3593ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_L1_TLB_MCD_WR_A_CNTL 0x21A4 3603ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_L1_TLB_MCD_WR_B_CNTL 0x21A8 3613ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_L1_TLB_MCB_WR_GFX_CNTL 0x2210 3623ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_L1_TLB_MCB_WR_HDP_CNTL 0x2218 3633ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_L1_TLB_MCB_WR_PDMA_CNTL 0x221C 3643ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_L1_TLB_MCB_WR_SEM_CNTL 0x2220 3653ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_L1_TLB_MCB_WR_SYS_CNTL 0x2214 3663ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_SYSTEM_APERTURE_LOW_ADDR 0x2190 3673ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define LOGICAL_PAGE_NUMBER_MASK 0x000FFFFF 3683ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define LOGICAL_PAGE_NUMBER_SHIFT 0 3693ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_SYSTEM_APERTURE_HIGH_ADDR 0x2194 3703ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR 0x2198 3713ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 372115365e8a33e4ce5e12bee7999568a26b4c33d3fChristian König#define RS_DQ_RD_RET_CONF 0x2348 373115365e8a33e4ce5e12bee7999568a26b4c33d3fChristian König 3743ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PA_CL_ENHANCE 0x8A14 3753ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CLIP_VTX_REORDER_ENA (1 << 0) 3763ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define NUM_CLIP_SEQ(x) ((x) << 1) 3773ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PA_SC_AA_CONFIG 0x28C04 3783ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PA_SC_AA_SAMPLE_LOCS_2S 0x8B40 3793ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PA_SC_AA_SAMPLE_LOCS_4S 0x8B44 3803ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PA_SC_AA_SAMPLE_LOCS_8S_WD0 0x8B48 3813ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PA_SC_AA_SAMPLE_LOCS_8S_WD1 0x8B4C 3823ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S0_X(x) ((x) << 0) 3833ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S0_Y(x) ((x) << 4) 3843ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S1_X(x) ((x) << 8) 3853ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S1_Y(x) ((x) << 12) 3863ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S2_X(x) ((x) << 16) 3873ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S2_Y(x) ((x) << 20) 3883ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S3_X(x) ((x) << 24) 3893ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S3_Y(x) ((x) << 28) 3903ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S4_X(x) ((x) << 0) 3913ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S4_Y(x) ((x) << 4) 3923ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S5_X(x) ((x) << 8) 3933ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S5_Y(x) ((x) << 12) 3943ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S6_X(x) ((x) << 16) 3953ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S6_Y(x) ((x) << 20) 3963ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S7_X(x) ((x) << 24) 3973ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S7_Y(x) ((x) << 28) 3983ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PA_SC_CLIPRECT_RULE 0x2820c 3993ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PA_SC_ENHANCE 0x8BF0 4003ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define FORCE_EOV_MAX_CLK_CNT(x) ((x) << 0) 4013ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define FORCE_EOV_MAX_TILE_CNT(x) ((x) << 12) 4023ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PA_SC_LINE_STIPPLE 0x28A0C 4033ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PA_SC_LINE_STIPPLE_STATE 0x8B10 4043ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PA_SC_MODE_CNTL 0x28A4C 4053ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PA_SC_MULTI_CHIP_CNTL 0x8B20 4063ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 4073ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PA_SC_SCREEN_SCISSOR_TL 0x28030 4083ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PA_SC_GENERIC_SCISSOR_TL 0x28240 4093ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PA_SC_WINDOW_SCISSOR_TL 0x28204 4103ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 4113ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PCIE_PORT_INDEX 0x0038 4123ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PCIE_PORT_DATA 0x003C 4133ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 4145885b7a9f4d2a0405b7e42d44eab4ed2302a8239Alex Deucher#define CHMAP 0x2004 4155885b7a9f4d2a0405b7e42d44eab4ed2302a8239Alex Deucher#define NOOFCHAN_SHIFT 12 4165885b7a9f4d2a0405b7e42d44eab4ed2302a8239Alex Deucher#define NOOFCHAN_MASK 0x00003000 4175885b7a9f4d2a0405b7e42d44eab4ed2302a8239Alex Deucher 4183ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define RAMCFG 0x2408 4193ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define NOOFBANK_SHIFT 0 4203ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define NOOFBANK_MASK 0x00000001 4213ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define NOOFRANK_SHIFT 1 4223ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define NOOFRANK_MASK 0x00000002 4233ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define NOOFROWS_SHIFT 2 4243ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define NOOFROWS_MASK 0x0000001C 4253ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define NOOFCOLS_SHIFT 5 4263ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define NOOFCOLS_MASK 0x00000060 4273ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CHANSIZE_SHIFT 7 4283ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CHANSIZE_MASK 0x00000080 4293ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define BURSTLENGTH_SHIFT 8 4303ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define BURSTLENGTH_MASK 0x00000100 4313ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CHANSIZE_OVERRIDE (1 << 10) 4323ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 4333ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SCRATCH_REG0 0x8500 4343ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SCRATCH_REG1 0x8504 4353ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SCRATCH_REG2 0x8508 4363ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SCRATCH_REG3 0x850C 4373ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SCRATCH_REG4 0x8510 4383ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SCRATCH_REG5 0x8514 4393ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SCRATCH_REG6 0x8518 4403ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SCRATCH_REG7 0x851C 4413ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SCRATCH_UMSK 0x8540 4423ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SCRATCH_ADDR 0x8544 4433ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 4443ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SPI_CONFIG_CNTL 0x9100 4453ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define GPR_WRITE_PRIORITY(x) ((x) << 0) 4463ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define DISABLE_INTERP_1 (1 << 5) 4473ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SPI_CONFIG_CNTL_1 0x913C 4483ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VTX_DONE_DELAY(x) ((x) << 0) 4493ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define INTERP_ONE_PRIM_PER_ROW (1 << 4) 4503ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SPI_INPUT_Z 0x286D8 4513ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SPI_PS_IN_CONTROL_0 0x286CC 4523ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define NUM_INTERP(x) ((x)<<0) 4533ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define POSITION_ENA (1<<8) 4543ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define POSITION_CENTROID (1<<9) 4553ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define POSITION_ADDR(x) ((x)<<10) 4563ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PARAM_GEN(x) ((x)<<15) 4573ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PARAM_GEN_ADDR(x) ((x)<<19) 4583ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define BARYC_SAMPLE_CNTL(x) ((x)<<26) 4593ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PERSP_GRADIENT_ENA (1<<28) 4603ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define LINEAR_GRADIENT_ENA (1<<29) 4613ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define POSITION_SAMPLE (1<<30) 4623ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define BARYC_AT_SAMPLE_ENA (1<<31) 4633ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SPI_PS_IN_CONTROL_1 0x286D0 4643ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define GEN_INDEX_PIX (1<<0) 4653ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define GEN_INDEX_PIX_ADDR(x) ((x)<<1) 4663ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define FRONT_FACE_ENA (1<<8) 4673ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define FRONT_FACE_CHAN(x) ((x)<<9) 4683ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define FRONT_FACE_ALL_BITS (1<<11) 4693ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define FRONT_FACE_ADDR(x) ((x)<<12) 4703ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define FOG_ADDR(x) ((x)<<17) 4713ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define FIXED_PT_POSITION_ENA (1<<24) 4723ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define FIXED_PT_POSITION_ADDR(x) ((x)<<25) 4733ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 4743ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_MS_FIFO_SIZES 0x8CF0 4753ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CACHE_FIFO_SIZE(x) ((x) << 0) 4763ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define FETCH_FIFO_HIWATER(x) ((x) << 8) 4773ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define DONE_FIFO_HIWATER(x) ((x) << 16) 4783ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ALU_UPDATE_FIFO_HIWATER(x) ((x) << 24) 4793ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_PGM_START_ES 0x28880 4803ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_PGM_START_FS 0x28894 4813ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_PGM_START_GS 0x2886C 4823ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_PGM_START_PS 0x28840 4833ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_PGM_RESOURCES_PS 0x28850 4843ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_PGM_EXPORTS_PS 0x28854 4853ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_PGM_CF_OFFSET_PS 0x288cc 4863ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_PGM_START_VS 0x28858 4873ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_PGM_RESOURCES_VS 0x28868 4883ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_PGM_CF_OFFSET_VS 0x288d0 4893a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic 4903a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic#define SQ_VTX_CONSTANT_WORD0_0 0x30000 4913a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic#define SQ_VTX_CONSTANT_WORD1_0 0x30004 4923a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic#define SQ_VTX_CONSTANT_WORD2_0 0x30008 4933a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define SQ_VTXC_BASE_ADDR_HI(x) ((x) << 0) 4943a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define SQ_VTXC_STRIDE(x) ((x) << 8) 4953a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define SQ_VTXC_ENDIAN_SWAP(x) ((x) << 30) 4963a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define SQ_ENDIAN_NONE 0 4973a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define SQ_ENDIAN_8IN16 1 4983a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define SQ_ENDIAN_8IN32 2 4993a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic#define SQ_VTX_CONSTANT_WORD3_0 0x3000c 5003ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_VTX_CONSTANT_WORD6_0 0x38018 5013ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S__SQ_VTX_CONSTANT_TYPE(x) (((x) & 3) << 30) 5023ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G__SQ_VTX_CONSTANT_TYPE(x) (((x) >> 30) & 3) 5033ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_TEX_VTX_INVALID_TEXTURE 0x0 5043ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_TEX_VTX_INVALID_BUFFER 0x1 5053ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_TEX_VTX_VALID_TEXTURE 0x2 5063ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SQ_TEX_VTX_VALID_BUFFER 0x3 5073ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 5083ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 5093ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SX_MISC 0x28350 510a39533b4ddad388b64a20bcabd17ac125fd4ba65Alex Deucher#define SX_MEMORY_EXPORT_BASE 0x9010 5113ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SX_DEBUG_1 0x9054 5123ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SMX_EVENT_RELEASE (1 << 0) 5133ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ENABLE_NEW_SMX_ADDRESS (1 << 16) 5143ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 5153ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define TA_CNTL_AUX 0x9508 5163ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define DISABLE_CUBE_WRAP (1 << 0) 5173ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define DISABLE_CUBE_ANISO (1 << 1) 5183ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SYNC_GRADIENT (1 << 24) 5193ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SYNC_WALKER (1 << 25) 5203ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define SYNC_ALIGNER (1 << 26) 5213ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define BILINEAR_PRECISION_6_BIT (0 << 31) 5223ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define BILINEAR_PRECISION_8_BIT (1 << 31) 5233ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 5243ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define TC_CNTL 0x9608 5253ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define TC_L2_SIZE(x) ((x)<<5) 5263ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define L2_DISABLE_LATE_HIT (1<<9) 5273ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 528b866d1334ba2d544bc575d75357dea6bdcdc7f46Alex Deucher#define VC_ENHANCE 0x9714 5293ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 5303ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_CACHE_INVALIDATION 0x88C4 5313ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define CACHE_INVALIDATION(x) ((x)<<0) 5323ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VC_ONLY 0 5333ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define TC_ONLY 1 5343ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VC_AND_TC 2 5353ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_DMA_BASE 0x287E8 5363ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_DMA_BASE_HI 0x287E4 5373ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_ES_PER_GS 0x88CC 5383ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_GS_PER_ES 0x88C8 5393ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_GS_PER_VS 0x88E8 5403ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_GS_VERTEX_REUSE 0x88D4 5413ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_PRIMITIVE_TYPE 0x8958 5423ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_NUM_INSTANCES 0x8974 5433ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_OUT_DEALLOC_CNTL 0x28C5C 5443ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define DEALLOC_DIST_MASK 0x0000007F 5453ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BASE_OFFSET_0 0x28B10 5463ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BASE_OFFSET_1 0x28B14 5473ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BASE_OFFSET_2 0x28B18 5483ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BASE_OFFSET_3 0x28B1c 5493ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BASE_OFFSET_HI_0 0x28B44 5503ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BASE_OFFSET_HI_1 0x28B48 5513ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BASE_OFFSET_HI_2 0x28B4c 5523ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BASE_OFFSET_HI_3 0x28B50 5533ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BUFFER_BASE_0 0x28AD8 5543ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BUFFER_BASE_1 0x28AE8 5553ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BUFFER_BASE_2 0x28AF8 5563ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BUFFER_BASE_3 0x28B08 5573ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BUFFER_OFFSET_0 0x28ADC 5583ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BUFFER_OFFSET_1 0x28AEC 5593ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BUFFER_OFFSET_2 0x28AFC 5603ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_BUFFER_OFFSET_3 0x28B0C 561dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27Marek Olšák#define VGT_STRMOUT_BUFFER_SIZE_0 0x28AD0 562dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27Marek Olšák#define VGT_STRMOUT_BUFFER_SIZE_1 0x28AE0 563dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27Marek Olšák#define VGT_STRMOUT_BUFFER_SIZE_2 0x28AF0 564dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27Marek Olšák#define VGT_STRMOUT_BUFFER_SIZE_3 0x28B00 565dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27Marek Olšák 5663ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_STRMOUT_EN 0x28AB0 5673ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_VERTEX_REUSE_BLOCK_CNTL 0x28C58 5683ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VTX_REUSE_DEPTH_MASK 0x000000FF 5693ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VGT_EVENT_INITIATOR 0x28a90 570d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher# define CACHE_FLUSH_AND_INV_EVENT_TS (0x14 << 0) 5713ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define CACHE_FLUSH_AND_INV_EVENT (0x16 << 0) 5723ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 5733ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VM_CONTEXT0_CNTL 0x1410 5743ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ENABLE_CONTEXT (1 << 0) 5753ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PAGE_TABLE_DEPTH(x) (((x) & 3) << 1) 5763ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define RANGE_PROTECTION_FAULT_ENABLE_DEFAULT (1 << 4) 5773ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VM_CONTEXT0_INVALIDATION_LOW_ADDR 0x1490 5783ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VM_CONTEXT0_INVALIDATION_HIGH_ADDR 0x14B0 5793ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VM_CONTEXT0_PAGE_TABLE_BASE_ADDR 0x1574 5803ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VM_CONTEXT0_PAGE_TABLE_START_ADDR 0x1594 5813ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VM_CONTEXT0_PAGE_TABLE_END_ADDR 0x15B4 5823ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR 0x1554 5833ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VM_CONTEXT0_REQUEST_RESPONSE 0x1470 5843ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define REQUEST_TYPE(x) (((x) & 0xf) << 0) 5853ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define RESPONSE_TYPE_MASK 0x000000F0 5863ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define RESPONSE_TYPE_SHIFT 4 5873ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VM_L2_CNTL 0x1400 5883ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ENABLE_L2_CACHE (1 << 0) 5893ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ENABLE_L2_FRAGMENT_PROCESSING (1 << 1) 5903ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define ENABLE_L2_PTE_CACHE_LRU_UPDATE_BY_WRITE (1 << 9) 5913ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define EFFECTIVE_L2_QUEUE_SIZE(x) (((x) & 7) << 13) 5923ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VM_L2_CNTL2 0x1404 5933ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define INVALIDATE_ALL_L1_TLBS (1 << 0) 5943ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define INVALIDATE_L2_CACHE (1 << 1) 5953ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VM_L2_CNTL3 0x1408 5963ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define BANK_SELECT_0(x) (((x) & 0x1f) << 0) 5973ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define BANK_SELECT_1(x) (((x) & 0x1f) << 5) 5983ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define L2_CACHE_UPDATE_MODE(x) (((x) & 3) << 10) 5993ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define VM_L2_STATUS 0x140C 6003ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define L2_BUSY (1 << 0) 6013ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 6023ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define WAIT_UNTIL 0x8040 603072b5acc7edec1530acc0497b48616bf8dd93313Alex Deucher#define WAIT_CP_DMA_IDLE_bit (1 << 8) 6043ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define WAIT_2D_IDLE_bit (1 << 14) 6053ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define WAIT_3D_IDLE_bit (1 << 15) 6063ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define WAIT_2D_IDLECLEAN_bit (1 << 16) 6073ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define WAIT_3D_IDLECLEAN_bit (1 << 17) 6083ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 6094d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher/* async DMA */ 6104d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_TILING_CONFIG 0x3ec4 6114d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_CONFIG 0x3e4c 6124d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher 6134d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_RB_CNTL 0xd000 6144d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define DMA_RB_ENABLE (1 << 0) 6154d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define DMA_RB_SIZE(x) ((x) << 1) /* log2 */ 6164d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define DMA_RB_SWAP_ENABLE (1 << 9) /* 8IN32 */ 6174d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define DMA_RPTR_WRITEBACK_ENABLE (1 << 12) 6184d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define DMA_RPTR_WRITEBACK_SWAP_ENABLE (1 << 13) /* 8IN32 */ 6194d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define DMA_RPTR_WRITEBACK_TIMER(x) ((x) << 16) /* log2 */ 6204d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_RB_BASE 0xd004 6214d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_RB_RPTR 0xd008 6224d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_RB_WPTR 0xd00c 6234d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher 6244d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_RB_RPTR_ADDR_HI 0xd01c 6254d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_RB_RPTR_ADDR_LO 0xd020 6264d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher 6274d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_IB_CNTL 0xd024 6284d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define DMA_IB_ENABLE (1 << 0) 6294d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define DMA_IB_SWAP_ENABLE (1 << 4) 6304d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_IB_RPTR 0xd028 6314d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_CNTL 0xd02c 6324d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define TRAP_ENABLE (1 << 0) 6334d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define SEM_INCOMPLETE_INT_ENABLE (1 << 1) 6344d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define SEM_WAIT_INT_ENABLE (1 << 2) 6354d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define DATA_SWAP_ENABLE (1 << 3) 6364d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define FENCE_SWAP_ENABLE (1 << 4) 6374d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define CTXEMPTY_INT_ENABLE (1 << 28) 6384d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_STATUS_REG 0xd034 6394d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define DMA_IDLE (1 << 0) 6404d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_SEM_INCOMPLETE_TIMER_CNTL 0xd044 6414d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_SEM_WAIT_FAIL_TIMER_CNTL 0xd048 6424d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_MODE 0xd0bc 6434d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher 6444d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher/* async DMA packets */ 6454d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_PACKET(cmd, t, s, n) ((((cmd) & 0xF) << 28) | \ 6464d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher (((t) & 0x1) << 23) | \ 6474d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher (((s) & 0x1) << 22) | \ 6484d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher (((n) & 0xFFFF) << 0)) 6494d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher/* async DMA Packet types */ 6504d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_PACKET_WRITE 0x2 6514d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_PACKET_COPY 0x3 6524d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_PACKET_INDIRECT_BUFFER 0x4 6534d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_PACKET_SEMAPHORE 0x5 6544d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_PACKET_FENCE 0x6 6554d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_PACKET_TRAP 0x7 6564d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_PACKET_CONSTANT_FILL 0xd /* 7xx only */ 6574d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher#define DMA_PACKET_NOP 0xf 6584d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher 659d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define IH_RB_CNTL 0x3e00 660d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IH_RB_ENABLE (1 << 0) 6614d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define IH_RB_SIZE(x) ((x) << 1) /* log2 */ 662d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IH_RB_FULL_DRAIN_ENABLE (1 << 6) 663d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IH_WPTR_WRITEBACK_ENABLE (1 << 8) 664d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IH_WPTR_WRITEBACK_TIMER(x) ((x) << 9) /* log2 */ 665d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IH_WPTR_OVERFLOW_ENABLE (1 << 16) 666d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IH_WPTR_OVERFLOW_CLEAR (1 << 31) 667d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define IH_RB_BASE 0x3e04 668d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define IH_RB_RPTR 0x3e08 669d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define IH_RB_WPTR 0x3e0c 670d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define RB_OVERFLOW (1 << 0) 671d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define WPTR_OFFSET_MASK 0x3fffc 672d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define IH_RB_WPTR_ADDR_HI 0x3e10 673d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define IH_RB_WPTR_ADDR_LO 0x3e14 674d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define IH_CNTL 0x3e18 675d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define ENABLE_INTR (1 << 0) 676fcb857abc4c0d512e99a08ba0415be9a6d65b4c0Alex Deucher# define IH_MC_SWAP(x) ((x) << 1) 677d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IH_MC_SWAP_NONE 0 678d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IH_MC_SWAP_16BIT 1 679d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IH_MC_SWAP_32BIT 2 680d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IH_MC_SWAP_64BIT 3 681d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define RPTR_REARM (1 << 4) 682d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define MC_WRREQ_CREDIT(x) ((x) << 15) 683d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define MC_WR_CLEAN_CNT(x) ((x) << 20) 684d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher 685d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define RLC_CNTL 0x3f00 686d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define RLC_ENABLE (1 << 0) 687d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define RLC_HB_BASE 0x3f10 688d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define RLC_HB_CNTL 0x3f0c 689d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define RLC_HB_RPTR 0x3f20 690d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define RLC_HB_WPTR 0x3f1c 691d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define RLC_HB_WPTR_LSB_ADDR 0x3f14 692d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define RLC_HB_WPTR_MSB_ADDR 0x3f18 6936759a0a7a0496dbbd4fb062c6a76d61c55d0fbd9Marek Olšák#define RLC_GPU_CLOCK_COUNT_LSB 0x3f38 6946759a0a7a0496dbbd4fb062c6a76d61c55d0fbd9Marek Olšák#define RLC_GPU_CLOCK_COUNT_MSB 0x3f3c 6956759a0a7a0496dbbd4fb062c6a76d61c55d0fbd9Marek Olšák#define RLC_CAPTURE_GPU_CLOCK_COUNT 0x3f40 696d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define RLC_MC_CNTL 0x3f44 697d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define RLC_UCODE_CNTL 0x3f48 698d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define RLC_UCODE_ADDR 0x3f2c 699d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define RLC_UCODE_DATA 0x3f30 700d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher 701d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define SRBM_SOFT_RESET 0xe60 702de9ae7447aaa2fed8ae4aa9e6b7260915e5b4f7bAlex Deucher# define SOFT_RESET_BIF (1 << 1) 7034d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define SOFT_RESET_DMA (1 << 12) 704d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define SOFT_RESET_RLC (1 << 13) 705f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König# define SOFT_RESET_UVD (1 << 18) 7064d75658bffea78f0c6f82fd46df1ec983ccacdf0Alex Deucher# define RV770_SOFT_RESET_DMA (1 << 20) 707d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher 708de9ae7447aaa2fed8ae4aa9e6b7260915e5b4f7bAlex Deucher#define BIF_SCRATCH0 0x5438 709de9ae7447aaa2fed8ae4aa9e6b7260915e5b4f7bAlex Deucher 710de9ae7447aaa2fed8ae4aa9e6b7260915e5b4f7bAlex Deucher#define BUS_CNTL 0x5420 711de9ae7447aaa2fed8ae4aa9e6b7260915e5b4f7bAlex Deucher# define BIOS_ROM_DIS (1 << 1) 712de9ae7447aaa2fed8ae4aa9e6b7260915e5b4f7bAlex Deucher# define VGA_COHE_SPEC_TIMER_DIS (1 << 9) 713de9ae7447aaa2fed8ae4aa9e6b7260915e5b4f7bAlex Deucher 714d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define CP_INT_CNTL 0xc124 715d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define CNTX_BUSY_INT_ENABLE (1 << 19) 716d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define CNTX_EMPTY_INT_ENABLE (1 << 20) 717d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define SCRATCH_INT_ENABLE (1 << 25) 718d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define TIME_STAMP_INT_ENABLE (1 << 26) 719d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IB2_INT_ENABLE (1 << 29) 720d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IB1_INT_ENABLE (1 << 30) 721d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define RB_INT_ENABLE (1 << 31) 722d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define CP_INT_STATUS 0xc128 723d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define SCRATCH_INT_STAT (1 << 25) 724d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define TIME_STAMP_INT_STAT (1 << 26) 725d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IB2_INT_STAT (1 << 29) 726d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IB1_INT_STAT (1 << 30) 727d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define RB_INT_STAT (1 << 31) 728d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher 729d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define GRBM_INT_CNTL 0x8060 730d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define RDERR_INT_ENABLE (1 << 0) 731d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define WAIT_COUNT_TIMEOUT_INT_ENABLE (1 << 1) 732d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define GUI_IDLE_INT_ENABLE (1 << 19) 733d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher 734d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define INTERRUPT_CNTL 0x5468 735d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IH_DUMMY_RD_OVERRIDE (1 << 0) 736d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IH_DUMMY_RD_EN (1 << 1) 737d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define IH_REQ_NONSNOOP_EN (1 << 3) 738d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define GEN_IH_INT_EN (1 << 8) 739d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define INTERRUPT_CNTL2 0x546c 740d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher 741d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define D1MODE_VBLANK_STATUS 0x6534 742d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define D2MODE_VBLANK_STATUS 0x6d34 743d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DxMODE_VBLANK_OCCURRED (1 << 0) 744d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DxMODE_VBLANK_ACK (1 << 4) 745d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DxMODE_VBLANK_STAT (1 << 12) 746d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DxMODE_VBLANK_INTERRUPT (1 << 16) 747d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DxMODE_VBLANK_INTERRUPT_TYPE (1 << 17) 748d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define D1MODE_VLINE_STATUS 0x653c 749d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define D2MODE_VLINE_STATUS 0x6d3c 750d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DxMODE_VLINE_OCCURRED (1 << 0) 751d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DxMODE_VLINE_ACK (1 << 4) 752d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DxMODE_VLINE_STAT (1 << 12) 753d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DxMODE_VLINE_INTERRUPT (1 << 16) 754d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DxMODE_VLINE_INTERRUPT_TYPE (1 << 17) 755d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DxMODE_INT_MASK 0x6540 756d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define D1MODE_VBLANK_INT_MASK (1 << 0) 757d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define D1MODE_VLINE_INT_MASK (1 << 4) 758d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define D2MODE_VBLANK_INT_MASK (1 << 8) 759d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define D2MODE_VLINE_INT_MASK (1 << 12) 760d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DCE3_DISP_INTERRUPT_STATUS 0x7ddc 761d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPD1_INTERRUPT (1 << 18) 762d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPD2_INTERRUPT (1 << 19) 763d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DISP_INTERRUPT_STATUS 0x7edc 764d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define LB_D1_VLINE_INTERRUPT (1 << 2) 765d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define LB_D2_VLINE_INTERRUPT (1 << 3) 766d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define LB_D1_VBLANK_INTERRUPT (1 << 4) 767d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define LB_D2_VBLANK_INTERRUPT (1 << 5) 768d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DACA_AUTODETECT_INTERRUPT (1 << 16) 769d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DACB_AUTODETECT_INTERRUPT (1 << 17) 770d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HOT_PLUG_DETECT1_INTERRUPT (1 << 18) 771d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HOT_PLUG_DETECT2_INTERRUPT (1 << 19) 772d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_I2C_SW_DONE_INTERRUPT (1 << 20) 773d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_I2C_HW_DONE_INTERRUPT (1 << 21) 774b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DISP_INTERRUPT_STATUS_CONTINUE 0x7ee8 775d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DCE3_DISP_INTERRUPT_STATUS_CONTINUE 0x7de8 776d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPD4_INTERRUPT (1 << 14) 777d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPD4_RX_INTERRUPT (1 << 15) 778d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPD3_INTERRUPT (1 << 28) 779d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPD1_RX_INTERRUPT (1 << 29) 780d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPD2_RX_INTERRUPT (1 << 30) 781d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DCE3_DISP_INTERRUPT_STATUS_CONTINUE2 0x7dec 782d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPD3_RX_INTERRUPT (1 << 0) 783d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DIGA_DP_VID_STREAM_DISABLE_INTERRUPT (1 << 1) 784d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DIGA_DP_STEER_FIFO_OVERFLOW_INTERRUPT (1 << 2) 785d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DIGB_DP_VID_STREAM_DISABLE_INTERRUPT (1 << 3) 786d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DIGB_DP_STEER_FIFO_OVERFLOW_INTERRUPT (1 << 4) 787d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define AUX1_SW_DONE_INTERRUPT (1 << 5) 788d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define AUX1_LS_DONE_INTERRUPT (1 << 6) 789d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define AUX2_SW_DONE_INTERRUPT (1 << 7) 790d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define AUX2_LS_DONE_INTERRUPT (1 << 8) 791d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define AUX3_SW_DONE_INTERRUPT (1 << 9) 792d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define AUX3_LS_DONE_INTERRUPT (1 << 10) 793d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define AUX4_SW_DONE_INTERRUPT (1 << 11) 794d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define AUX4_LS_DONE_INTERRUPT (1 << 12) 795d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DIGA_DP_FAST_TRAINING_COMPLETE_INTERRUPT (1 << 13) 796d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DIGB_DP_FAST_TRAINING_COMPLETE_INTERRUPT (1 << 14) 797d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher/* DCE 3.2 */ 798d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define AUX5_SW_DONE_INTERRUPT (1 << 15) 799d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define AUX5_LS_DONE_INTERRUPT (1 << 16) 800d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define AUX6_SW_DONE_INTERRUPT (1 << 17) 801d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define AUX6_LS_DONE_INTERRUPT (1 << 18) 802d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPD5_INTERRUPT (1 << 19) 803d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPD5_RX_INTERRUPT (1 << 20) 804d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPD6_INTERRUPT (1 << 21) 805d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPD6_RX_INTERRUPT (1 << 22) 806d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher 807b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DACA_AUTO_DETECT_CONTROL 0x7828 808b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DACB_AUTO_DETECT_CONTROL 0x7a28 809b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DCE3_DACA_AUTO_DETECT_CONTROL 0x7028 810b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DCE3_DACB_AUTO_DETECT_CONTROL 0x7128 811b500f68045058454549f5f8553110ef086d8d06bAlex Deucher# define DACx_AUTODETECT_MODE(x) ((x) << 0) 812b500f68045058454549f5f8553110ef086d8d06bAlex Deucher# define DACx_AUTODETECT_MODE_NONE 0 813b500f68045058454549f5f8553110ef086d8d06bAlex Deucher# define DACx_AUTODETECT_MODE_CONNECT 1 814b500f68045058454549f5f8553110ef086d8d06bAlex Deucher# define DACx_AUTODETECT_MODE_DISCONNECT 2 815b500f68045058454549f5f8553110ef086d8d06bAlex Deucher# define DACx_AUTODETECT_FRAME_TIME_COUNTER(x) ((x) << 8) 816b500f68045058454549f5f8553110ef086d8d06bAlex Deucher/* bit 18 = R/C, 17 = G/Y, 16 = B/Comp */ 817b500f68045058454549f5f8553110ef086d8d06bAlex Deucher# define DACx_AUTODETECT_CHECK_MASK(x) ((x) << 16) 818b500f68045058454549f5f8553110ef086d8d06bAlex Deucher 819d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DCE3_DACA_AUTODETECT_INT_CONTROL 0x7038 820d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DCE3_DACB_AUTODETECT_INT_CONTROL 0x7138 821d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DACA_AUTODETECT_INT_CONTROL 0x7838 822d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DACB_AUTODETECT_INT_CONTROL 0x7a38 823d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DACx_AUTODETECT_ACK (1 << 0) 824d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DACx_AUTODETECT_INT_ENABLE (1 << 16) 825d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher 826b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HOT_PLUG_DETECT1_CONTROL 0x7d00 827b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HOT_PLUG_DETECT2_CONTROL 0x7d10 828b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HOT_PLUG_DETECT3_CONTROL 0x7d24 829b500f68045058454549f5f8553110ef086d8d06bAlex Deucher# define DC_HOT_PLUG_DETECTx_EN (1 << 0) 830b500f68045058454549f5f8553110ef086d8d06bAlex Deucher 831b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HOT_PLUG_DETECT1_INT_STATUS 0x7d04 832b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HOT_PLUG_DETECT2_INT_STATUS 0x7d14 833b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HOT_PLUG_DETECT3_INT_STATUS 0x7d28 834b500f68045058454549f5f8553110ef086d8d06bAlex Deucher# define DC_HOT_PLUG_DETECTx_INT_STATUS (1 << 0) 835b500f68045058454549f5f8553110ef086d8d06bAlex Deucher# define DC_HOT_PLUG_DETECTx_SENSE (1 << 1) 836b500f68045058454549f5f8553110ef086d8d06bAlex Deucher 837b500f68045058454549f5f8553110ef086d8d06bAlex Deucher/* DCE 3.0 */ 838b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HPD1_INT_STATUS 0x7d00 839b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HPD2_INT_STATUS 0x7d0c 840b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HPD3_INT_STATUS 0x7d18 841b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HPD4_INT_STATUS 0x7d24 842b500f68045058454549f5f8553110ef086d8d06bAlex Deucher/* DCE 3.2 */ 843b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HPD5_INT_STATUS 0x7dc0 844b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HPD6_INT_STATUS 0x7df4 845b500f68045058454549f5f8553110ef086d8d06bAlex Deucher# define DC_HPDx_INT_STATUS (1 << 0) 846b500f68045058454549f5f8553110ef086d8d06bAlex Deucher# define DC_HPDx_SENSE (1 << 1) 847b500f68045058454549f5f8553110ef086d8d06bAlex Deucher# define DC_HPDx_RX_INT_STATUS (1 << 8) 848b500f68045058454549f5f8553110ef086d8d06bAlex Deucher 849d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DC_HOT_PLUG_DETECT1_INT_CONTROL 0x7d08 850d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DC_HOT_PLUG_DETECT2_INT_CONTROL 0x7d18 851d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DC_HOT_PLUG_DETECT3_INT_CONTROL 0x7d2c 852d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HOT_PLUG_DETECTx_INT_ACK (1 << 0) 853d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HOT_PLUG_DETECTx_INT_POLARITY (1 << 8) 854d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HOT_PLUG_DETECTx_INT_EN (1 << 16) 855b500f68045058454549f5f8553110ef086d8d06bAlex Deucher/* DCE 3.0 */ 856d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DC_HPD1_INT_CONTROL 0x7d04 857d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DC_HPD2_INT_CONTROL 0x7d10 858d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DC_HPD3_INT_CONTROL 0x7d1c 859d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher#define DC_HPD4_INT_CONTROL 0x7d28 860b500f68045058454549f5f8553110ef086d8d06bAlex Deucher/* DCE 3.2 */ 861b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HPD5_INT_CONTROL 0x7dc4 862b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HPD6_INT_CONTROL 0x7df8 863d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPDx_INT_ACK (1 << 0) 864d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPDx_INT_POLARITY (1 << 8) 865d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPDx_INT_EN (1 << 16) 866d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPDx_RX_INT_ACK (1 << 20) 867d8f60cfc93452d0554f6a701aa8e3236cbee4636Alex Deucher# define DC_HPDx_RX_INT_EN (1 << 24) 8683ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 869b500f68045058454549f5f8553110ef086d8d06bAlex Deucher/* DCE 3.0 */ 870b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HPD1_CONTROL 0x7d08 871b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HPD2_CONTROL 0x7d14 872b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HPD3_CONTROL 0x7d20 873b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HPD4_CONTROL 0x7d2c 874b500f68045058454549f5f8553110ef086d8d06bAlex Deucher/* DCE 3.2 */ 875b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HPD5_CONTROL 0x7dc8 876b500f68045058454549f5f8553110ef086d8d06bAlex Deucher#define DC_HPD6_CONTROL 0x7dfc 877b500f68045058454549f5f8553110ef086d8d06bAlex Deucher# define DC_HPDx_CONNECTION_TIMER(x) ((x) << 0) 878b500f68045058454549f5f8553110ef086d8d06bAlex Deucher# define DC_HPDx_RX_INT_TIMER(x) ((x) << 16) 879b500f68045058454549f5f8553110ef086d8d06bAlex Deucher/* DCE 3.2 */ 880b500f68045058454549f5f8553110ef086d8d06bAlex Deucher# define DC_HPDx_EN (1 << 28) 881b500f68045058454549f5f8553110ef086d8d06bAlex Deucher 8826f34be50bd1bdd2ff3c955940e033a80d05f248aAlex Deucher#define D1GRPH_INTERRUPT_STATUS 0x6158 8836f34be50bd1bdd2ff3c955940e033a80d05f248aAlex Deucher#define D2GRPH_INTERRUPT_STATUS 0x6958 8846f34be50bd1bdd2ff3c955940e033a80d05f248aAlex Deucher# define DxGRPH_PFLIP_INT_OCCURRED (1 << 0) 8856f34be50bd1bdd2ff3c955940e033a80d05f248aAlex Deucher# define DxGRPH_PFLIP_INT_CLEAR (1 << 8) 8866f34be50bd1bdd2ff3c955940e033a80d05f248aAlex Deucher#define D1GRPH_INTERRUPT_CONTROL 0x615c 8876f34be50bd1bdd2ff3c955940e033a80d05f248aAlex Deucher#define D2GRPH_INTERRUPT_CONTROL 0x695c 8886f34be50bd1bdd2ff3c955940e033a80d05f248aAlex Deucher# define DxGRPH_PFLIP_INT_MASK (1 << 0) 8896f34be50bd1bdd2ff3c955940e033a80d05f248aAlex Deucher# define DxGRPH_PFLIP_INT_TYPE (1 << 8) 8906f34be50bd1bdd2ff3c955940e033a80d05f248aAlex Deucher 8919e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher/* PCIE link stuff */ 8929e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher#define PCIE_LC_TRAINING_CNTL 0xa1 /* PCIE_P */ 8939e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_POINT_7_PLUS_EN (1 << 6) 8949e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher#define PCIE_LC_LINK_WIDTH_CNTL 0xa2 /* PCIE_P */ 8959e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_SHIFT 0 8969e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_MASK 0x7 8979e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X0 0 8989e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X1 1 8999e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X2 2 9009e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X4 3 9019e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X8 4 9029e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_X16 6 9039e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_RD_SHIFT 4 9049e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_LINK_WIDTH_RD_MASK 0x70 9059e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_RECONFIG_ARC_MISSING_ESCAPE (1 << 7) 9069e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_RECONFIG_NOW (1 << 8) 9079e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_RENEGOTIATION_SUPPORT (1 << 9) 9089e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_RENEGOTIATE_EN (1 << 10) 9099e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_SHORT_RECONFIG_EN (1 << 11) 9109e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_UPCONFIGURE_SUPPORT (1 << 12) 9119e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_UPCONFIGURE_DIS (1 << 13) 9129e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher#define PCIE_LC_SPEED_CNTL 0xa4 /* PCIE_P */ 9139e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_GEN2_EN_STRAP (1 << 0) 9149e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_TARGET_LINK_SPEED_OVERRIDE_EN (1 << 1) 9159e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_FORCE_EN_HW_SPEED_CHANGE (1 << 5) 9169e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_FORCE_DIS_HW_SPEED_CHANGE (1 << 6) 9179e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_SPEED_CHANGE_ATTEMPTS_ALLOWED_MASK (0x3 << 8) 9189e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_SPEED_CHANGE_ATTEMPTS_ALLOWED_SHIFT 3 9199e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_CURRENT_DATA_RATE (1 << 11) 9209e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_VOLTAGE_TIMER_SEL_MASK (0xf << 14) 9219e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_CLR_FAILED_SPD_CHANGE_CNT (1 << 21) 9229e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_OTHER_SIDE_EVER_SENT_GEN2 (1 << 23) 9239e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define LC_OTHER_SIDE_SUPPORTS_GEN2 (1 << 24) 9249e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher#define MM_CFGREGS_CNTL 0x544c 9259e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define MM_WR_TO_CFG_EN (1 << 3) 9269e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher#define LINK_CNTL2 0x88 /* F0 */ 9279e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define TARGET_LINK_SPEED_MASK (0xf << 0) 9289e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher# define SELECTABLE_DEEMPHASIS (1 << 6) 9299e46a48df24f9698b34d28385b320c529851e5f7Alex Deucher 930d3d8c141a333879719173a522a89532bf8d32229Alex Deucher/* Audio */ 931d3d8c141a333879719173a522a89532bf8d32229Alex Deucher#define AZ_HOT_PLUG_CONTROL 0x7300 932d3d8c141a333879719173a522a89532bf8d32229Alex Deucher# define AZ_FORCE_CODEC_WAKE (1 << 0) 933d3d8c141a333879719173a522a89532bf8d32229Alex Deucher# define JACK_DETECTION_ENABLE (1 << 4) 934d3d8c141a333879719173a522a89532bf8d32229Alex Deucher# define UNSOLICITED_RESPONSE_ENABLE (1 << 8) 935d3d8c141a333879719173a522a89532bf8d32229Alex Deucher# define CODEC_HOT_PLUG_ENABLE (1 << 12) 936d3d8c141a333879719173a522a89532bf8d32229Alex Deucher# define AUDIO_ENABLED (1 << 31) 937d3d8c141a333879719173a522a89532bf8d32229Alex Deucher/* DCE3 adds */ 938d3d8c141a333879719173a522a89532bf8d32229Alex Deucher# define PIN0_JACK_DETECTION_ENABLE (1 << 4) 939d3d8c141a333879719173a522a89532bf8d32229Alex Deucher# define PIN1_JACK_DETECTION_ENABLE (1 << 5) 940d3d8c141a333879719173a522a89532bf8d32229Alex Deucher# define PIN2_JACK_DETECTION_ENABLE (1 << 6) 941d3d8c141a333879719173a522a89532bf8d32229Alex Deucher# define PIN3_JACK_DETECTION_ENABLE (1 << 7) 942d3d8c141a333879719173a522a89532bf8d32229Alex Deucher# define PIN0_AUDIO_ENABLED (1 << 24) 943d3d8c141a333879719173a522a89532bf8d32229Alex Deucher# define PIN1_AUDIO_ENABLED (1 << 25) 944d3d8c141a333879719173a522a89532bf8d32229Alex Deucher# define PIN2_AUDIO_ENABLED (1 << 26) 945d3d8c141a333879719173a522a89532bf8d32229Alex Deucher# define PIN3_AUDIO_ENABLED (1 << 27) 946d3d8c141a333879719173a522a89532bf8d32229Alex Deucher 9471586505a5db2b221a99feabe61199c2657e9ee23Alex Deucher/* Audio clocks DCE 2.0/3.0 */ 9481586505a5db2b221a99feabe61199c2657e9ee23Alex Deucher#define AUDIO_DTO 0x7340 9491586505a5db2b221a99feabe61199c2657e9ee23Alex Deucher# define AUDIO_DTO_PHASE(x) (((x) & 0xffff) << 0) 9501586505a5db2b221a99feabe61199c2657e9ee23Alex Deucher# define AUDIO_DTO_MODULE(x) (((x) & 0xffff) << 16) 9511586505a5db2b221a99feabe61199c2657e9ee23Alex Deucher 9521586505a5db2b221a99feabe61199c2657e9ee23Alex Deucher/* Audio clocks DCE 3.2 */ 9533a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define DCCG_AUDIO_DTO0_PHASE 0x0514 9543a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define DCCG_AUDIO_DTO0_MODULE 0x0518 9553a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define DCCG_AUDIO_DTO0_LOAD 0x051c 9563a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define DTO_LOAD (1 << 31) 9573a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define DCCG_AUDIO_DTO0_CNTL 0x0520 9581518dd8efd47918bb269f1470030592875953f6cAlex Deucher# define DCCG_AUDIO_DTO_WALLCLOCK_RATIO(x) (((x) & 7) << 0) 9591518dd8efd47918bb269f1470030592875953f6cAlex Deucher# define DCCG_AUDIO_DTO_WALLCLOCK_RATIO_MASK 7 9601518dd8efd47918bb269f1470030592875953f6cAlex Deucher# define DCCG_AUDIO_DTO_WALLCLOCK_RATIO_SHIFT 0 9613a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher 9623a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define DCCG_AUDIO_DTO1_PHASE 0x0524 9633a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define DCCG_AUDIO_DTO1_MODULE 0x0528 9643a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define DCCG_AUDIO_DTO1_LOAD 0x052c 9653a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define DCCG_AUDIO_DTO1_CNTL 0x0530 9663a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher 9673a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define DCCG_AUDIO_DTO_SELECT 0x0534 9683a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher 9693a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher/* digital blocks */ 9703a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define TMDSA_CNTL 0x7880 9713a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define TMDSA_HDMI_EN (1 << 2) 9723a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define LVTMA_CNTL 0x7a80 9733a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define LVTMA_HDMI_EN (1 << 2) 9743a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define DDIA_CNTL 0x7200 9753a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define DDIA_HDMI_EN (1 << 2) 9763a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define DIG0_CNTL 0x75a0 9773a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define DIG_MODE(x) (((x) & 7) << 8) 9783a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define DIG_MODE_DP 0 9793a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define DIG_MODE_LVDS 1 9803a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define DIG_MODE_TMDS_DVI 2 9813a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define DIG_MODE_TMDS_HDMI 3 9823a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define DIG_MODE_SDVO 4 9833a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define DIG1_CNTL 0x79a0 9843a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher 9850ffae60c8976fb407de04cebd8c4cfae932bc671Alex Deucher#define AZ_F0_CODEC_PIN0_CONTROL_CHANNEL_SPEAKER 0x71bc 9860ffae60c8976fb407de04cebd8c4cfae932bc671Alex Deucher#define SPEAKER_ALLOCATION(x) (((x) & 0x7f) << 0) 9870ffae60c8976fb407de04cebd8c4cfae932bc671Alex Deucher#define SPEAKER_ALLOCATION_MASK (0x7f << 0) 9880ffae60c8976fb407de04cebd8c4cfae932bc671Alex Deucher#define SPEAKER_ALLOCATION_SHIFT 0 9890ffae60c8976fb407de04cebd8c4cfae932bc671Alex Deucher#define HDMI_CONNECTION (1 << 16) 9900ffae60c8976fb407de04cebd8c4cfae932bc671Alex Deucher#define DP_CONNECTION (1 << 17) 9910ffae60c8976fb407de04cebd8c4cfae932bc671Alex Deucher 992c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher#define AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR0 0x71c8 /* LPCM */ 993c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher#define AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR1 0x71cc /* AC3 */ 994c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher#define AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR2 0x71d0 /* MPEG1 */ 995c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher#define AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR3 0x71d4 /* MP3 */ 996c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher#define AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR4 0x71d8 /* MPEG2 */ 997c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher#define AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR5 0x71dc /* AAC */ 998c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher#define AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR6 0x71e0 /* DTS */ 999c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher#define AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR7 0x71e4 /* ATRAC */ 1000c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher#define AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR8 0x71e8 /* one bit audio - leave at 0 (default) */ 1001c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher#define AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR9 0x71ec /* Dolby Digital */ 1002c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher#define AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR10 0x71f0 /* DTS-HD */ 1003c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher#define AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR11 0x71f4 /* MAT-MLP */ 1004c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher#define AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR12 0x71f8 /* DTS */ 1005c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher#define AZ_F0_CODEC_PIN0_CONTROL_AUDIO_DESCRIPTOR13 0x71fc /* WMA Pro */ 1006c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher# define MAX_CHANNELS(x) (((x) & 0x7) << 0) 1007c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher/* max channels minus one. 7 = 8 channels */ 1008c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher# define SUPPORTED_FREQUENCIES(x) (((x) & 0xff) << 8) 1009c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher# define DESCRIPTOR_BYTE_2(x) (((x) & 0xff) << 16) 1010c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher# define SUPPORTED_FREQUENCIES_STEREO(x) (((x) & 0xff) << 24) /* LPCM only */ 1011c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher/* SUPPORTED_FREQUENCIES, SUPPORTED_FREQUENCIES_STEREO 1012c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher * bit0 = 32 kHz 1013c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher * bit1 = 44.1 kHz 1014c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher * bit2 = 48 kHz 1015c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher * bit3 = 88.2 kHz 1016c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher * bit4 = 96 kHz 1017c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher * bit5 = 176.4 kHz 1018c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher * bit6 = 192 kHz 1019c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher */ 1020c1cbee0ec0697c531778fbaf34aa358c0f5ef00eAlex Deucher 10213a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher/* rs6xx/rs740 and r6xx share the same HDMI blocks, however, rs6xx has only one 10223a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher * instance of the blocks while r6xx has 2. DCE 3.0 cards are slightly 10233a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher * different due to the new DIG blocks, but also have 2 instances. 10243a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher * DCE 3.0 HDMI blocks are part of each DIG encoder. 10253a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher */ 10263a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher 10273a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher/* rs6xx/rs740/r6xx/dce3 */ 10283a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_CONTROL 0x7400 10293a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher/* rs6xx/rs740/r6xx */ 10303a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ENABLE (1 << 0) 10313a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_STREAM(x) (((x) & 3) << 2) 10323a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_STREAM_TMDSA 0 10333a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_STREAM_LVTMA 1 10343a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_STREAM_DVOA 2 10353a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_STREAM_DDIA 3 10363a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher/* rs6xx/r6xx/dce3 */ 10373a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ERROR_ACK (1 << 8) 10383a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ERROR_MASK (1 << 9) 10393a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_STATUS 0x7404 10403a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACTIVE_AVMUTE (1 << 0) 10413a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_ENABLE (1 << 4) 10423a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AZ_FORMAT_WTRIG (1 << 28) 10433a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AZ_FORMAT_WTRIG_INT (1 << 29) 10443a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_AUDIO_PACKET_CONTROL 0x7408 10453a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_SAMPLE_SEND (1 << 0) 10463a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_DELAY_EN(x) (((x) & 3) << 4) 104768706337dae37d91a96c87b5a55a3d037da819fbRafał Miłecki# define HDMI0_AUDIO_DELAY_EN_MASK (3 << 4) 10483a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_SEND_MAX_PACKETS (1 << 8) 10493a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_TEST_EN (1 << 12) 10503a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_PACKETS_PER_LINE(x) (((x) & 0x1f) << 16) 105168706337dae37d91a96c87b5a55a3d037da819fbRafał Miłecki# define HDMI0_AUDIO_PACKETS_PER_LINE_MASK (0x1f << 16) 10523a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_CHANNEL_SWAP (1 << 24) 10533a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_UPDATE (1 << 26) 10543a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AZ_FORMAT_WTRIG_MASK (1 << 28) 10553a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AZ_FORMAT_WTRIG_ACK (1 << 29) 10563a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_AUDIO_CRC_CONTROL 0x740c 10573a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_CRC_EN (1 << 0) 10582e93cac90c4b063c8732deb727a192dea1119640Rafał Miłecki#define DCE3_HDMI0_ACR_PACKET_CONTROL 0x740c 10593a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_VBI_PACKET_CONTROL 0x7410 10603a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_NULL_SEND (1 << 0) 10613a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_GC_SEND (1 << 4) 10623a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_GC_CONT (1 << 5) /* 0 - once; 1 - every frame */ 10633a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_INFOFRAME_CONTROL0 0x7414 10643a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_SEND (1 << 0) 10653a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_CONT (1 << 1) 10663a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_INFO_SEND (1 << 4) 10673a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_INFO_CONT (1 << 5) 1068d592fca9407d065f0754ba29790c66ecbc0366adDamien Lespiau# define HDMI0_AUDIO_INFO_SOURCE (1 << 6) /* 0 - sound block; 1 - hdmi regs */ 10693a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_INFO_UPDATE (1 << 7) 10703a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_MPEG_INFO_SEND (1 << 8) 10713a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_MPEG_INFO_CONT (1 << 9) 10723a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_MPEG_INFO_UPDATE (1 << 10) 10733a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_INFOFRAME_CONTROL1 0x7418 10743a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_LINE(x) (((x) & 0x3f) << 0) 107568706337dae37d91a96c87b5a55a3d037da819fbRafał Miłecki# define HDMI0_AVI_INFO_LINE_MASK (0x3f << 0) 10763a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_INFO_LINE(x) (((x) & 0x3f) << 8) 107768706337dae37d91a96c87b5a55a3d037da819fbRafał Miłecki# define HDMI0_AUDIO_INFO_LINE_MASK (0x3f << 8) 10783a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_MPEG_INFO_LINE(x) (((x) & 0x3f) << 16) 10793a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC_PACKET_CONTROL 0x741c 10803a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_GENERIC0_SEND (1 << 0) 10813a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_GENERIC0_CONT (1 << 1) 10823a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_GENERIC0_UPDATE (1 << 2) 10833a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_GENERIC1_SEND (1 << 4) 10843a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_GENERIC1_CONT (1 << 5) 10853a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_GENERIC0_LINE(x) (((x) & 0x3f) << 16) 108668706337dae37d91a96c87b5a55a3d037da819fbRafał Miłecki# define HDMI0_GENERIC0_LINE_MASK (0x3f << 16) 10873a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_GENERIC1_LINE(x) (((x) & 0x3f) << 24) 108868706337dae37d91a96c87b5a55a3d037da819fbRafał Miłecki# define HDMI0_GENERIC1_LINE_MASK (0x3f << 24) 10893a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GC 0x7428 10903a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_GC_AVMUTE (1 << 0) 10913a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_AVI_INFO0 0x7454 10923a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_CHECKSUM(x) (((x) & 0xff) << 0) 10933a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_S(x) (((x) & 3) << 8) 10943a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_B(x) (((x) & 3) << 10) 10953a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_A(x) (((x) & 1) << 12) 10963a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_Y(x) (((x) & 3) << 13) 10973a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_Y_RGB 0 10983a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_Y_YCBCR422 1 10993a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_Y_YCBCR444 2 11003a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_Y_A_B_S(x) (((x) & 0xff) << 8) 11013a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_R(x) (((x) & 0xf) << 16) 11023a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_M(x) (((x) & 0x3) << 20) 11033a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_C(x) (((x) & 0x3) << 22) 11043a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_C_M_R(x) (((x) & 0xff) << 16) 11053a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_SC(x) (((x) & 0x3) << 24) 11063a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_ITC_EC_Q_SC(x) (((x) & 0xff) << 24) 11073a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_AVI_INFO1 0x7458 11083a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_VIC(x) (((x) & 0x7f) << 0) /* don't use avi infoframe v1 */ 11093a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_PR(x) (((x) & 0xf) << 8) /* don't use avi infoframe v1 */ 11103a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_TOP(x) (((x) & 0xffff) << 16) 11113a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_AVI_INFO2 0x745c 11123a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_BOTTOM(x) (((x) & 0xffff) << 0) 11133a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_LEFT(x) (((x) & 0xffff) << 16) 11143a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_AVI_INFO3 0x7460 11153a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_RIGHT(x) (((x) & 0xffff) << 0) 11163a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AVI_INFO_VERSION(x) (((x) & 3) << 24) 11173a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_MPEG_INFO0 0x7464 11183a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_MPEG_INFO_CHECKSUM(x) (((x) & 0xff) << 0) 11193a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_MPEG_INFO_MB0(x) (((x) & 0xff) << 8) 11203a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_MPEG_INFO_MB1(x) (((x) & 0xff) << 16) 11213a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_MPEG_INFO_MB2(x) (((x) & 0xff) << 24) 11223a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_MPEG_INFO1 0x7468 11233a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_MPEG_INFO_MB3(x) (((x) & 0xff) << 0) 11243a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_MPEG_INFO_MF(x) (((x) & 3) << 8) 11253a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_MPEG_INFO_FR(x) (((x) & 1) << 12) 11263a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC0_HDR 0x746c 11273a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC0_0 0x7470 11283a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC0_1 0x7474 11293a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC0_2 0x7478 11303a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC0_3 0x747c 11313a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC0_4 0x7480 11323a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC0_5 0x7484 11333a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC0_6 0x7488 11343a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC1_HDR 0x748c 11353a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC1_0 0x7490 11363a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC1_1 0x7494 11373a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC1_2 0x7498 11383a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC1_3 0x749c 11393a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC1_4 0x74a0 11403a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC1_5 0x74a4 11413a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_GENERIC1_6 0x74a8 11423a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_ACR_32_0 0x74ac 11433a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACR_CTS_32(x) (((x) & 0xfffff) << 12) 114468706337dae37d91a96c87b5a55a3d037da819fbRafał Miłecki# define HDMI0_ACR_CTS_32_MASK (0xfffff << 12) 11453a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_ACR_32_1 0x74b0 11463a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACR_N_32(x) (((x) & 0xfffff) << 0) 114768706337dae37d91a96c87b5a55a3d037da819fbRafał Miłecki# define HDMI0_ACR_N_32_MASK (0xfffff << 0) 11483a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_ACR_44_0 0x74b4 11493a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACR_CTS_44(x) (((x) & 0xfffff) << 12) 115068706337dae37d91a96c87b5a55a3d037da819fbRafał Miłecki# define HDMI0_ACR_CTS_44_MASK (0xfffff << 12) 11513a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_ACR_44_1 0x74b8 11523a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACR_N_44(x) (((x) & 0xfffff) << 0) 115368706337dae37d91a96c87b5a55a3d037da819fbRafał Miłecki# define HDMI0_ACR_N_44_MASK (0xfffff << 0) 11543a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_ACR_48_0 0x74bc 11553a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACR_CTS_48(x) (((x) & 0xfffff) << 12) 115668706337dae37d91a96c87b5a55a3d037da819fbRafał Miłecki# define HDMI0_ACR_CTS_48_MASK (0xfffff << 12) 11573a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_ACR_48_1 0x74c0 11583a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACR_N_48(x) (((x) & 0xfffff) << 0) 115968706337dae37d91a96c87b5a55a3d037da819fbRafał Miłecki# define HDMI0_ACR_N_48_MASK (0xfffff << 0) 11603a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_ACR_STATUS_0 0x74c4 11613a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_ACR_STATUS_1 0x74c8 11623a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_AUDIO_INFO0 0x74cc 11633a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_INFO_CHECKSUM(x) (((x) & 0xff) << 0) 11643a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_INFO_CC(x) (((x) & 7) << 8) 11653a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_AUDIO_INFO1 0x74d0 11663a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_INFO_CA(x) (((x) & 0xff) << 0) 11673a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_INFO_LSV(x) (((x) & 0xf) << 11) 11683a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_INFO_DM_INH(x) (((x) & 1) << 15) 11693a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_AUDIO_INFO_DM_INH_LSV(x) (((x) & 0xff) << 8) 11703a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_60958_0 0x74d4 11713a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_A(x) (((x) & 1) << 0) 11723a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_B(x) (((x) & 1) << 1) 11733a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_C(x) (((x) & 1) << 2) 11743a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_D(x) (((x) & 3) << 3) 11753a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_MODE(x) (((x) & 3) << 6) 11763a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_CATEGORY_CODE(x) (((x) & 0xff) << 8) 11773a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_SOURCE_NUMBER(x) (((x) & 0xf) << 16) 11783a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_CHANNEL_NUMBER_L(x) (((x) & 0xf) << 20) 117968706337dae37d91a96c87b5a55a3d037da819fbRafał Miłecki# define HDMI0_60958_CS_CHANNEL_NUMBER_L_MASK (0xf << 20) 11803a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_SAMPLING_FREQUENCY(x) (((x) & 0xf) << 24) 11813a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_CLOCK_ACCURACY(x) (((x) & 3) << 28) 118268706337dae37d91a96c87b5a55a3d037da819fbRafał Miłecki# define HDMI0_60958_CS_CLOCK_ACCURACY_MASK (3 << 28) 11833a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_60958_1 0x74d8 11843a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_WORD_LENGTH(x) (((x) & 0xf) << 0) 11853a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_ORIGINAL_SAMPLING_FREQUENCY(x) (((x) & 0xf) << 4) 11863a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_VALID_L(x) (((x) & 1) << 16) 11873a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_VALID_R(x) (((x) & 1) << 18) 11883a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_CHANNEL_NUMBER_R(x) (((x) & 0xf) << 20) 118968706337dae37d91a96c87b5a55a3d037da819fbRafał Miłecki# define HDMI0_60958_CS_CHANNEL_NUMBER_R_MASK (0xf << 20) 11903a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_ACR_PACKET_CONTROL 0x74dc 11913a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACR_SEND (1 << 0) 11923a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACR_CONT (1 << 1) 11933a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACR_SELECT(x) (((x) & 3) << 4) 11943a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACR_HW 0 11953a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACR_32 1 11963a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACR_44 2 11973a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACR_48 3 11983a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACR_SOURCE (1 << 8) /* 0 - hw; 1 - cts value */ 11993a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_ACR_AUTO_SEND (1 << 12) 12002e93cac90c4b063c8732deb727a192dea1119640Rafał Miłecki#define DCE3_HDMI0_AUDIO_CRC_CONTROL 0x74dc 12013a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_RAMP_CONTROL0 0x74e0 12023a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_RAMP_MAX_COUNT(x) (((x) & 0xffffff) << 0) 12033a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_RAMP_CONTROL1 0x74e4 12043a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_RAMP_MIN_COUNT(x) (((x) & 0xffffff) << 0) 12053a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_RAMP_CONTROL2 0x74e8 12063a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_RAMP_INC_COUNT(x) (((x) & 0xffffff) << 0) 12073a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_RAMP_CONTROL3 0x74ec 12083a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_RAMP_DEC_COUNT(x) (((x) & 0xffffff) << 0) 12093a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher/* HDMI0_60958_2 is r7xx only */ 12103a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI0_60958_2 0x74f0 12113a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_CHANNEL_NUMBER_2(x) (((x) & 0xf) << 0) 12123a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_CHANNEL_NUMBER_3(x) (((x) & 0xf) << 4) 12133a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_CHANNEL_NUMBER_4(x) (((x) & 0xf) << 8) 12143a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_CHANNEL_NUMBER_5(x) (((x) & 0xf) << 12) 12153a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_CHANNEL_NUMBER_6(x) (((x) & 0xf) << 16) 12163a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define HDMI0_60958_CS_CHANNEL_NUMBER_7(x) (((x) & 0xf) << 20) 12173a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher/* r6xx only; second instance starts at 0x7700 */ 12183a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI1_CONTROL 0x7700 12193a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI1_STATUS 0x7704 12203a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define HDMI1_AUDIO_PACKET_CONTROL 0x7708 12213a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher/* DCE3; second instance starts at 0x7800 NOT 0x7700 */ 12223a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define DCE3_HDMI1_CONTROL 0x7800 12233a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define DCE3_HDMI1_STATUS 0x7804 12243a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define DCE3_HDMI1_AUDIO_PACKET_CONTROL 0x7808 12253a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher/* DCE3.2 (for interrupts) */ 12263a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define AFMT_STATUS 0x7600 12273a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define AFMT_AUDIO_ENABLE (1 << 4) 12283a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define AFMT_AZ_FORMAT_WTRIG (1 << 28) 12293a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define AFMT_AZ_FORMAT_WTRIG_INT (1 << 29) 12303a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define AFMT_AZ_AUDIO_ENABLE_CHG (1 << 30) 12313a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher#define AFMT_AUDIO_PACKET_CONTROL 0x7604 12323a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define AFMT_AUDIO_SAMPLE_SEND (1 << 0) 12333a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define AFMT_AUDIO_TEST_EN (1 << 12) 12343a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define AFMT_AUDIO_CHANNEL_SWAP (1 << 24) 12353a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define AFMT_60958_CS_UPDATE (1 << 26) 12363a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define AFMT_AZ_AUDIO_ENABLE_CHG_MASK (1 << 27) 12373a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define AFMT_AZ_FORMAT_WTRIG_MASK (1 << 28) 12383a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define AFMT_AZ_FORMAT_WTRIG_ACK (1 << 29) 12393a2a67aa28725bb500505087067e7830cfa9c137Alex Deucher# define AFMT_AZ_AUDIO_ENABLE_CHG_ACK (1 << 30) 1240c6543a6e64ad8e456674a1c4a01dd024e38b665fRafał Miłecki 1241134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher/* DCE3 FMT blocks */ 1242134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher#define FMT_CONTROL 0x6700 1243134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_PIXEL_ENCODING (1 << 16) 1244134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher /* 0 = RGB 4:4:4 or YCbCr 4:4:4, 1 = YCbCr 4:2:2 */ 1245134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher#define FMT_BIT_DEPTH_CONTROL 0x6710 1246134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_TRUNCATE_EN (1 << 0) 1247134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_TRUNCATE_DEPTH (1 << 4) 1248134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_SPATIAL_DITHER_EN (1 << 8) 1249134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_SPATIAL_DITHER_MODE(x) ((x) << 9) 1250134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_SPATIAL_DITHER_DEPTH (1 << 12) 1251134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_FRAME_RANDOM_ENABLE (1 << 13) 1252134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_RGB_RANDOM_ENABLE (1 << 14) 1253134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_HIGHPASS_RANDOM_ENABLE (1 << 15) 1254134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_TEMPORAL_DITHER_EN (1 << 16) 1255134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_TEMPORAL_DITHER_DEPTH (1 << 20) 1256134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_TEMPORAL_DITHER_OFFSET(x) ((x) << 21) 1257134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_TEMPORAL_LEVEL (1 << 24) 1258134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_TEMPORAL_DITHER_RESET (1 << 25) 1259134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_25FRC_SEL(x) ((x) << 26) 1260134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_50FRC_SEL(x) ((x) << 28) 1261134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_75FRC_SEL(x) ((x) << 30) 1262134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher#define FMT_CLAMP_CONTROL 0x672c 1263134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_CLAMP_DATA_EN (1 << 0) 1264134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_CLAMP_COLOR_FORMAT(x) ((x) << 16) 1265134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_CLAMP_6BPC 0 1266134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_CLAMP_8BPC 1 1267134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher# define FMT_CLAMP_10BPC 2 1268134b480f4b92654b9590fad6c9374c7dc6722375Alex Deucher 12692e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher/* Power management */ 12702e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define CG_SPLL_FUNC_CNTL 0x600 12712e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_RESET (1 << 0) 12722e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_SLEEP (1 << 1) 12732e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_REF_DIV(x) ((x) << 2) 12742e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_REF_DIV_MASK (7 << 2) 12752e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_FB_DIV(x) ((x) << 5) 12762e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_FB_DIV_MASK (0xff << 5) 12772e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_PULSEEN (1 << 13) 12782e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_PULSENUM(x) ((x) << 14) 12792e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_PULSENUM_MASK (3 << 14) 12802e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_SW_HILEN(x) ((x) << 16) 12812e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_SW_HILEN_MASK (0xf << 16) 12822e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_SW_LOLEN(x) ((x) << 20) 12832e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_SW_LOLEN_MASK (0xf << 20) 12842e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_DIVEN (1 << 24) 12852e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_BYPASS_EN (1 << 25) 12862e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_CHG_STATUS (1 << 29) 12872e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_CTLREQ (1 << 30) 12882e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_CTLACK (1 << 31) 12892e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher 12902e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define GENERAL_PWRMGT 0x618 12912e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define GLOBAL_PWRMGT_EN (1 << 0) 12922e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define STATIC_PM_EN (1 << 1) 12932e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MOBILE_SU (1 << 2) 12942e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define THERMAL_PROTECTION_DIS (1 << 3) 12952e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define THERMAL_PROTECTION_TYPE (1 << 4) 12962e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define ENABLE_GEN2PCIE (1 << 5) 12972e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SW_GPIO_INDEX(x) ((x) << 6) 12982e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SW_GPIO_INDEX_MASK (3 << 6) 12992e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define LOW_VOLT_D2_ACPI (1 << 8) 13002e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define LOW_VOLT_D3_ACPI (1 << 9) 13012e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define VOLT_PWRMGT_EN (1 << 10) 13022e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define CG_TPC 0x61c 13032e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define TPCC(x) ((x) << 0) 13042e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define TPCC_MASK (0x7fffff << 0) 13052e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define TPU(x) ((x) << 23) 13062e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define TPU_MASK (0x1f << 23) 13072e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define SCLK_PWRMGT_CNTL 0x620 13082e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SCLK_PWRMGT_OFF (1 << 0) 13092e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SCLK_TURNOFF (1 << 1) 13102e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_TURNOFF (1 << 2) 13112e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SU_SCLK_USE_BCLK (1 << 3) 13122e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define DYNAMIC_GFX_ISLAND_PWR_DOWN (1 << 4) 13132e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define DYNAMIC_GFX_ISLAND_PWR_LP (1 << 5) 13142e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CLK_TURN_ON_STAGGER (1 << 6) 13152e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CLK_TURN_OFF_STAGGER (1 << 7) 13162e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define FIR_FORCE_TREND_SEL (1 << 8) 13172e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define FIR_TREND_MODE (1 << 9) 13182e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define DYN_GFX_CLK_OFF_EN (1 << 10) 13192e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define VDDC3D_TURNOFF_D1 (1 << 11) 13202e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define VDDC3D_TURNOFF_D2 (1 << 12) 13212e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define VDDC3D_TURNOFF_D3 (1 << 13) 13222e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SPLL_TURNOFF_D2 (1 << 14) 13232e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SCLK_LOW_D1 (1 << 15) 13242e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define DYN_GFX_CLK_OFF_MC_EN (1 << 16) 13252e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define MCLK_PWRMGT_CNTL 0x624 13262e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MPLL_PWRMGT_OFF (1 << 0) 13272e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define YCLK_TURNOFF (1 << 1) 13282e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MPLL_TURNOFF (1 << 2) 13292e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SU_MCLK_USE_BCLK (1 << 3) 13302e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define DLL_READY (1 << 4) 13312e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MC_BUSY (1 << 5) 13322e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MC_INT_CNTL (1 << 7) 13332e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKA_SLEEP (1 << 8) 13342e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKB_SLEEP (1 << 9) 13352e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKC_SLEEP (1 << 10) 13362e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKD_SLEEP (1 << 11) 13372e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKE_SLEEP (1 << 12) 13382e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKF_SLEEP (1 << 13) 13392e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKG_SLEEP (1 << 14) 13402e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKH_SLEEP (1 << 15) 13412e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKA_RESET (1 << 16) 13422e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKB_RESET (1 << 17) 13432e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKC_RESET (1 << 18) 13442e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKD_RESET (1 << 19) 13452e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKE_RESET (1 << 20) 13462e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKF_RESET (1 << 21) 13472e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKG_RESET (1 << 22) 13482e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MRDCKH_RESET (1 << 23) 13492e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define DLL_READY_READ (1 << 24) 13502e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define USE_DISPLAY_GAP (1 << 25) 13512e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define USE_DISPLAY_URGENT_NORMAL (1 << 26) 13522e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define USE_DISPLAY_GAP_CTXSW (1 << 27) 13532e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MPLL_TURNOFF_D2 (1 << 28) 13542e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define USE_DISPLAY_URGENT_CTXSW (1 << 29) 13552e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher 13562e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define MPLL_TIME 0x634 13572e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MPLL_LOCK_TIME(x) ((x) << 0) 13582e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MPLL_LOCK_TIME_MASK (0xffff << 0) 13592e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MPLL_RESET_TIME(x) ((x) << 16) 13602e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define MPLL_RESET_TIME_MASK (0xffff << 16) 13612e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher 13622e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define SCLK_FREQ_SETTING_STEP_0_PART1 0x648 13632e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define STEP_0_SPLL_POST_DIV(x) ((x) << 0) 13642e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define STEP_0_SPLL_POST_DIV_MASK (0xff << 0) 13652e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define STEP_0_SPLL_FB_DIV(x) ((x) << 8) 13662e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define STEP_0_SPLL_FB_DIV_MASK (0xff << 8) 13672e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define STEP_0_SPLL_REF_DIV(x) ((x) << 16) 13682e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define STEP_0_SPLL_REF_DIV_MASK (7 << 16) 13692e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define STEP_0_SPLL_STEP_TIME(x) ((x) << 19) 13702e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define STEP_0_SPLL_STEP_TIME_MASK (0x1fff << 19) 13712e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define SCLK_FREQ_SETTING_STEP_0_PART2 0x64c 13722e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define STEP_0_PULSE_HIGH_CNT(x) ((x) << 0) 13732e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define STEP_0_PULSE_HIGH_CNT_MASK (0x1ff << 0) 13742e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define STEP_0_POST_DIV_EN (1 << 9) 13752e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define STEP_0_SPLL_STEP_ENABLE (1 << 30) 13762e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define STEP_0_SPLL_ENTRY_VALID (1 << 31) 13772e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher 13782e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define VID_RT 0x6f8 13792e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define VID_CRT(x) ((x) << 0) 13802e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define VID_CRT_MASK (0x1fff << 0) 13812e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define VID_CRTU(x) ((x) << 13) 13822e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define VID_CRTU_MASK (7 << 13) 13832e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SSTU(x) ((x) << 16) 13842e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SSTU_MASK (7 << 16) 13852e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define CTXSW_PROFILE_INDEX 0x6fc 13862e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CTXSW_FREQ_VIDS_CFG_INDEX(x) ((x) << 0) 13872e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CTXSW_FREQ_VIDS_CFG_INDEX_MASK (3 << 0) 13882e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CTXSW_FREQ_VIDS_CFG_INDEX_SHIFT 0 13892e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CTXSW_FREQ_MCLK_CFG_INDEX(x) ((x) << 2) 13902e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CTXSW_FREQ_MCLK_CFG_INDEX_MASK (3 << 2) 13912e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CTXSW_FREQ_MCLK_CFG_INDEX_SHIFT 2 13922e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CTXSW_FREQ_SCLK_CFG_INDEX(x) ((x) << 4) 13932e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CTXSW_FREQ_SCLK_CFG_INDEX_MASK (0x1f << 4) 13942e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CTXSW_FREQ_SCLK_CFG_INDEX_SHIFT 4 13952e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CTXSW_FREQ_STATE_SPLL_RESET_EN (1 << 9) 13962e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CTXSW_FREQ_STATE_ENABLE (1 << 10) 13972e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CTXSW_FREQ_DISPLAY_WATERMARK (1 << 11) 13982e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CTXSW_FREQ_GEN2PCIE_VOLT (1 << 12) 13992e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher 14002e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define TARGET_AND_CURRENT_PROFILE_INDEX 0x70c 14012e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define TARGET_PROFILE_INDEX_MASK (3 << 0) 14022e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define TARGET_PROFILE_INDEX_SHIFT 0 14032e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CURRENT_PROFILE_INDEX_MASK (3 << 2) 14042e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CURRENT_PROFILE_INDEX_SHIFT 2 14052e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define DYN_PWR_ENTER_INDEX(x) ((x) << 4) 14062e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define DYN_PWR_ENTER_INDEX_MASK (3 << 4) 14072e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define DYN_PWR_ENTER_INDEX_SHIFT 4 14082e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CURR_MCLK_INDEX_MASK (3 << 6) 14092e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CURR_MCLK_INDEX_SHIFT 6 14102e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CURR_SCLK_INDEX_MASK (0x1f << 8) 14112e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CURR_SCLK_INDEX_SHIFT 8 14122e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CURR_VID_INDEX_MASK (3 << 13) 14132e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CURR_VID_INDEX_SHIFT 13 14142e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher 14152e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define LOWER_GPIO_ENABLE 0x710 14162e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define UPPER_GPIO_ENABLE 0x714 14172e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define CTXSW_VID_LOWER_GPIO_CNTL 0x718 14182e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher 14192e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define VID_UPPER_GPIO_CNTL 0x740 14202e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define CG_CTX_CGTT3D_R 0x744 14212e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define PHC(x) ((x) << 0) 14222e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define PHC_MASK (0x1ff << 0) 14232e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SDC(x) ((x) << 9) 14242e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SDC_MASK (0x3fff << 9) 14252e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define CG_VDDC3D_OOR 0x748 14262e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SU(x) ((x) << 23) 14272e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define SU_MASK (0xf << 23) 14282e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define CG_FTV 0x74c 14292e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define CG_FFCT_0 0x750 14302e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define UTC_0(x) ((x) << 0) 14312e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define UTC_0_MASK (0x3ff << 0) 14322e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define DTC_0(x) ((x) << 10) 14332e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define DTC_0_MASK (0x3ff << 10) 14342e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher 14352e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define CG_BSP 0x78c 14362e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define BSP(x) ((x) << 0) 14372e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define BSP_MASK (0xffff << 0) 14382e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define BSU(x) ((x) << 16) 14392e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define BSU_MASK (0xf << 16) 14402e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define CG_RT 0x790 14412e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define FLS(x) ((x) << 0) 14422e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define FLS_MASK (0xffff << 0) 14432e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define FMS(x) ((x) << 16) 14442e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define FMS_MASK (0xffff << 16) 14452e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define CG_LT 0x794 14462e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define FHS(x) ((x) << 0) 14472e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define FHS_MASK (0xffff << 0) 14482e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define CG_GIT 0x798 14492e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CG_GICST(x) ((x) << 0) 14502e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CG_GICST_MASK (0xffff << 0) 14512e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CG_GIPOT(x) ((x) << 16) 14522e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CG_GIPOT_MASK (0xffff << 16) 14532e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher 14542e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define CG_SSP 0x7a8 14552e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CG_SST(x) ((x) << 0) 14562e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CG_SST_MASK (0xffff << 0) 14572e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CG_SSTU(x) ((x) << 16) 14582e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CG_SSTU_MASK (0xf << 16) 14592e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher 14602e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define CG_RLC_REQ_AND_RSP 0x7c4 14612e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define RLC_CG_REQ_TYPE_MASK 0xf 14622e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define RLC_CG_REQ_TYPE_SHIFT 0 14632e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CG_RLC_RSP_TYPE_MASK 0xf0 14642e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define CG_RLC_RSP_TYPE_SHIFT 4 14652e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher 14662e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define CG_FC_T 0x7cc 14672e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define FC_T(x) ((x) << 0) 14682e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define FC_T_MASK (0xffff << 0) 14692e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define FC_TU(x) ((x) << 16) 14702e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define FC_TU_MASK (0x1f << 16) 14712e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher 14722e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define GPIOPAD_MASK 0x1798 14732e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define GPIOPAD_A 0x179c 14742e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define GPIOPAD_EN 0x17a0 14752e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher 14762e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher#define GRBM_PWR_CNTL 0x800c 14772e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define REQ_TYPE_MASK 0xf 14782e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define REQ_TYPE_SHIFT 0 14792e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define RSP_TYPE_MASK 0xf0 14802e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher# define RSP_TYPE_SHIFT 4 14812e9d4c05a17e3f3056c823c76f2c908d4eda17aaAlex Deucher 14823ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse/* 1483f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König * UVD 1484f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König */ 1485f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_SEMA_ADDR_LOW 0xef00 1486f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_SEMA_ADDR_HIGH 0xef04 1487f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_SEMA_CMD 0xef08 1488f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König 1489f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_GPCOM_VCPU_CMD 0xef0c 1490f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_GPCOM_VCPU_DATA0 0xef10 1491f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_GPCOM_VCPU_DATA1 0xef14 1492f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_ENGINE_CNTL 0xef18 1493f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König 1494f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_SEMA_CNTL 0xf400 1495f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_RB_ARB_CTRL 0xf480 1496f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König 1497f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_LMI_EXT40_ADDR 0xf498 1498f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_CGC_GATE 0xf4a8 1499f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_LMI_CTRL2 0xf4f4 1500f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_MASTINT_EN 0xf500 1501856754c3a23a622d26a82b29fab6429481705511Christian König#define UVD_FW_START 0xf51C 1502f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_LMI_ADDR_EXT 0xf594 1503f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_LMI_CTRL 0xf598 1504f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_LMI_SWAP_CNTL 0xf5b4 1505f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_MP_SWAP_CNTL 0xf5bC 1506f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_MPC_CNTL 0xf5dC 1507f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_MPC_SET_MUXA0 0xf5e4 1508f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_MPC_SET_MUXA1 0xf5e8 1509f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_MPC_SET_MUXB0 0xf5eC 1510f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_MPC_SET_MUXB1 0xf5f0 1511f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_MPC_SET_MUX 0xf5f4 1512f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_MPC_SET_ALU 0xf5f8 1513f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König 1514856754c3a23a622d26a82b29fab6429481705511Christian König#define UVD_VCPU_CACHE_OFFSET0 0xf608 1515856754c3a23a622d26a82b29fab6429481705511Christian König#define UVD_VCPU_CACHE_SIZE0 0xf60c 1516856754c3a23a622d26a82b29fab6429481705511Christian König#define UVD_VCPU_CACHE_OFFSET1 0xf610 1517856754c3a23a622d26a82b29fab6429481705511Christian König#define UVD_VCPU_CACHE_SIZE1 0xf614 1518856754c3a23a622d26a82b29fab6429481705511Christian König#define UVD_VCPU_CACHE_OFFSET2 0xf618 1519856754c3a23a622d26a82b29fab6429481705511Christian König#define UVD_VCPU_CACHE_SIZE2 0xf61c 1520856754c3a23a622d26a82b29fab6429481705511Christian König 1521f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_VCPU_CNTL 0xf660 1522f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_SOFT_RESET 0xf680 1523f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define RBC_SOFT_RESET (1<<0) 1524f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define LBSI_SOFT_RESET (1<<1) 1525f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define LMI_SOFT_RESET (1<<2) 1526f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define VCPU_SOFT_RESET (1<<3) 1527f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define CSM_SOFT_RESET (1<<5) 1528f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define CXW_SOFT_RESET (1<<6) 1529f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define TAP_SOFT_RESET (1<<7) 1530f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define LMI_UMC_SOFT_RESET (1<<13) 1531f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_RBC_IB_BASE 0xf684 1532f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_RBC_IB_SIZE 0xf688 1533f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_RBC_RB_BASE 0xf68c 1534f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_RBC_RB_RPTR 0xf690 1535f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_RBC_RB_WPTR 0xf694 1536f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_RBC_RB_WPTR_CNTL 0xf698 1537f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König 1538f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_STATUS 0xf6bc 1539f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König 1540f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_SEMA_TIMEOUT_STATUS 0xf6c0 1541f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_SEMA_WAIT_INCOMPLETE_TIMEOUT_CNTL 0xf6c4 1542f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_SEMA_WAIT_FAULT_TIMEOUT_CNTL 0xf6c8 1543f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_SEMA_SIGNAL_INCOMPLETE_TIMEOUT_CNTL 0xf6cc 1544f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König 1545f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_RBC_RB_CNTL 0xf6a4 1546f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_RBC_RB_RPTR_ADDR 0xf6a8 1547f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König 1548f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König#define UVD_CONTEXT_ID 0xf6f4 1549f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König 15504a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher/* rs780 only */ 15514a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher#define GFX_MACRO_BYPASS_CNTL 0x30c0 15524a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher#define SPLL_BYPASS_CNTL (1 << 0) 15534a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher#define UPLL_BYPASS_CNTL (1 << 1) 15544a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher 15554a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher#define CG_UPLL_FUNC_CNTL 0x7e0 15564a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define UPLL_RESET_MASK 0x00000001 15574a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define UPLL_SLEEP_MASK 0x00000002 15584a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define UPLL_BYPASS_EN_MASK 0x00000004 1559facd112d1395fb6a0b6e460778aefc32197afcfcChristian König# define UPLL_CTLREQ_MASK 0x00000008 15604a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define UPLL_FB_DIV(x) ((x) << 4) 15614a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define UPLL_FB_DIV_MASK 0x0000FFF0 15624a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define UPLL_REF_DIV(x) ((x) << 16) 15634a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define UPLL_REF_DIV_MASK 0x003F0000 15644a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define UPLL_REFCLK_SRC_SEL_MASK 0x20000000 1565facd112d1395fb6a0b6e460778aefc32197afcfcChristian König# define UPLL_CTLACK_MASK 0x40000000 1566facd112d1395fb6a0b6e460778aefc32197afcfcChristian König# define UPLL_CTLACK2_MASK 0x80000000 15674a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher#define CG_UPLL_FUNC_CNTL_2 0x7e4 15684a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define UPLL_SW_HILEN(x) ((x) << 0) 15694a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define UPLL_SW_LOLEN(x) ((x) << 4) 15704a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define UPLL_SW_HILEN2(x) ((x) << 8) 15714a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define UPLL_SW_LOLEN2(x) ((x) << 12) 15724a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define UPLL_DIVEN_MASK 0x00010000 15734a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define UPLL_DIVEN2_MASK 0x00020000 15744a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define UPLL_SW_MASK 0x0003FFFF 15754a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define VCLK_SRC_SEL(x) ((x) << 20) 15764a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define VCLK_SRC_SEL_MASK 0x01F00000 15774a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define DCLK_SRC_SEL(x) ((x) << 25) 15784a956a70a8d4cc5268a60f6718de58892fa1275eAlex Deucher# define DCLK_SRC_SEL_MASK 0x3E000000 1579facd112d1395fb6a0b6e460778aefc32197afcfcChristian König 1580f2ba57b5eab8817d86d0f108fdf1878e51dc0a37Christian König/* 15813ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse * PM4 15823ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse */ 15834e872ae2bbb9de838212680c52dcbb85be1e4419Ilija Hadzic#define PACKET0(reg, n) ((RADEON_PACKET_TYPE0 << 30) | \ 15843ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse (((reg) >> 2) & 0xFFFF) | \ 15853ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse ((n) & 0x3FFF) << 16) 15864e872ae2bbb9de838212680c52dcbb85be1e4419Ilija Hadzic#define PACKET3(op, n) ((RADEON_PACKET_TYPE3 << 30) | \ 15873ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse (((op) & 0xFF) << 8) | \ 15883ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse ((n) & 0x3FFF) << 16) 15893ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 15903ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse/* Packet 3 types */ 15913ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_NOP 0x10 15923ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_INDIRECT_BUFFER_END 0x17 15933ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_PREDICATION 0x20 15943ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_REG_RMW 0x21 15953ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_COND_EXEC 0x22 15963ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_PRED_EXEC 0x23 15973ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_START_3D_CMDBUF 0x24 15983ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_DRAW_INDEX_2 0x27 15993ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_CONTEXT_CONTROL 0x28 16003ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_DRAW_INDEX_IMMD_BE 0x29 16013ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_INDEX_TYPE 0x2A 16023ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_DRAW_INDEX 0x2B 16033ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_DRAW_INDEX_AUTO 0x2D 16043ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_DRAW_INDEX_IMMD 0x2E 16053ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_NUM_INSTANCES 0x2F 16063ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_STRMOUT_BUFFER_UPDATE 0x34 16073ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_INDIRECT_BUFFER_MP 0x38 16083ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_MEM_SEMAPHORE 0x39 16090be70439f2dcf4a2048e4b02f23f2c239b35a110Christian König# define PACKET3_SEM_WAIT_ON_SIGNAL (0x1 << 12) 161015d3332f31afd571a6d23971dbc8d8db2856e661Christian König# define PACKET3_SEM_SEL_SIGNAL (0x6 << 29) 161115d3332f31afd571a6d23971dbc8d8db2856e661Christian König# define PACKET3_SEM_SEL_WAIT (0x7 << 29) 16123ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_MPEG_INDEX 0x3A 1613dd220a00e8bd5ad7f98ecdc3eed699a7cfabdc27Marek Olšák#define PACKET3_COPY_DW 0x3B 16143ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_WAIT_REG_MEM 0x3C 16153ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_MEM_WRITE 0x3D 16163ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_INDIRECT_BUFFER 0x32 1617b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher#define PACKET3_CP_DMA 0x41 1618b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher/* 1. header 1619b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher * 2. SRC_ADDR_LO [31:0] 1620b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher * 3. CP_SYNC [31] | SRC_ADDR_HI [7:0] 1621b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher * 4. DST_ADDR_LO [31:0] 1622b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher * 5. DST_ADDR_HI [7:0] 1623b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher * 6. COMMAND [29:22] | BYTE_COUNT [20:0] 1624b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher */ 1625b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher# define PACKET3_CP_DMA_CP_SYNC (1 << 31) 1626b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher/* COMMAND */ 1627aa3e146d04b6ae37939daeebaec060562b3db559Alex Deucher# define PACKET3_CP_DMA_CMD_SRC_SWAP(x) ((x) << 22) 1628b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher /* 0 - none 1629b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher * 1 - 8 in 16 1630b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher * 2 - 8 in 32 1631b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher * 3 - 8 in 64 1632b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher */ 1633b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher# define PACKET3_CP_DMA_CMD_DST_SWAP(x) ((x) << 24) 1634b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher /* 0 - none 1635b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher * 1 - 8 in 16 1636b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher * 2 - 8 in 32 1637b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher * 3 - 8 in 64 1638b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher */ 1639b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher# define PACKET3_CP_DMA_CMD_SAS (1 << 26) 1640b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher /* 0 - memory 1641b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher * 1 - register 1642b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher */ 1643b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher# define PACKET3_CP_DMA_CMD_DAS (1 << 27) 1644b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher /* 0 - memory 1645b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher * 1 - register 1646b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher */ 1647b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher# define PACKET3_CP_DMA_CMD_SAIC (1 << 28) 1648b997a8ba26377895506a26a3f2b8f1e7abc4ed22Alex Deucher# define PACKET3_CP_DMA_CMD_DAIC (1 << 29) 164986302eeadebfab94530b00f5e53a23f911ff41e4Christian König#define PACKET3_PFP_SYNC_ME 0x42 /* r7xx+ only */ 16503ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SURFACE_SYNC 0x43 16513ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define PACKET3_CB0_DEST_BASE_ENA (1 << 6) 1652d45b964a22cad962d3ede1eba8d24f5cee7b2a92Alex Deucher# define PACKET3_FULL_CACHE_ENA (1 << 20) /* r7xx+ only */ 16533ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define PACKET3_TC_ACTION_ENA (1 << 23) 16543ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define PACKET3_VC_ACTION_ENA (1 << 24) 16553ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define PACKET3_CB_ACTION_ENA (1 << 25) 16563ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define PACKET3_DB_ACTION_ENA (1 << 26) 16573ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define PACKET3_SH_ACTION_ENA (1 << 27) 16583ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse# define PACKET3_SMX_ACTION_ENA (1 << 28) 16593ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_ME_INITIALIZE 0x44 16603ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_ME_INITIALIZE_DEVICE_ID(x) ((x) << 16) 16613ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_COND_WRITE 0x45 16623ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_EVENT_WRITE 0x46 1663d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher#define EVENT_TYPE(x) ((x) << 0) 1664d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher#define EVENT_INDEX(x) ((x) << 8) 1665d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher /* 0 - any non-TS event 1666d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher * 1 - ZPASS_DONE 1667d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher * 2 - SAMPLE_PIPELINESTAT 1668d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher * 3 - SAMPLE_STREAMOUTSTAT* 1669d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher * 4 - *S_PARTIAL_FLUSH 1670d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher * 5 - TS events 1671d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher */ 16723ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_EVENT_WRITE_EOP 0x47 1673d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher#define DATA_SEL(x) ((x) << 29) 1674d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher /* 0 - discard 1675d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher * 1 - send low 32bit data 1676d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher * 2 - send 64bit data 1677d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher * 3 - send 64bit counter value 1678d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher */ 1679d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher#define INT_SEL(x) ((x) << 24) 1680d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher /* 0 - none 1681d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher * 1 - interrupt only (DATA_SEL = 0) 1682d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher * 2 - interrupt when data write is confirmed 1683d0f8a854c340986359a3b0a97e380c71def7a440Alex Deucher */ 16843ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_ONE_REG_WRITE 0x57 16853ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_CONFIG_REG 0x68 16863ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_CONFIG_REG_OFFSET 0x00008000 16873ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_CONFIG_REG_END 0x0000ac00 16883ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_CONTEXT_REG 0x69 16893ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_CONTEXT_REG_OFFSET 0x00028000 16903ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_CONTEXT_REG_END 0x00029000 16913ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_ALU_CONST 0x6A 16923ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_ALU_CONST_OFFSET 0x00030000 16933ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_ALU_CONST_END 0x00032000 16943ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_BOOL_CONST 0x6B 16953ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_BOOL_CONST_OFFSET 0x0003e380 16963ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_BOOL_CONST_END 0x00040000 16973ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_LOOP_CONST 0x6C 16983ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_LOOP_CONST_OFFSET 0x0003e200 16993ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_LOOP_CONST_END 0x0003e380 17003ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_RESOURCE 0x6D 17013ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_RESOURCE_OFFSET 0x00038000 17023ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_RESOURCE_END 0x0003c000 17033ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_SAMPLER 0x6E 17043ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_SAMPLER_OFFSET 0x0003c000 17053ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_SAMPLER_END 0x0003cff0 17063ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_CTL_CONST 0x6F 17073ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_CTL_CONST_OFFSET 0x0003cff0 17083ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SET_CTL_CONST_END 0x0003e200 17097c77bf2a1a8bf67d580a3b189b37fded0a13ab78Alex Deucher#define PACKET3_STRMOUT_BASE_UPDATE 0x72 /* r7xx */ 17103ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define PACKET3_SURFACE_BASE_UPDATE 0x73 17113ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 171265337e60a7616a610ef53b7a9f807eb80a827070Samuel Li#define R_000011_K8_FB_LOCATION 0x11 171365337e60a7616a610ef53b7a9f807eb80a827070Samuel Li#define R_000012_MC_MISC_UMA_CNTL 0x12 171465337e60a7616a610ef53b7a9f807eb80a827070Samuel Li#define G_000012_K8_ADDR_EXT(x) (((x) >> 0) & 0xFF) 171565337e60a7616a610ef53b7a9f807eb80a827070Samuel Li#define R_0028F8_MC_INDEX 0x28F8 171665337e60a7616a610ef53b7a9f807eb80a827070Samuel Li#define S_0028F8_MC_IND_ADDR(x) (((x) & 0x1FF) << 0) 171765337e60a7616a610ef53b7a9f807eb80a827070Samuel Li#define C_0028F8_MC_IND_ADDR 0xFFFFFE00 171865337e60a7616a610ef53b7a9f807eb80a827070Samuel Li#define S_0028F8_MC_IND_WR_EN(x) (((x) & 0x1) << 9) 171965337e60a7616a610ef53b7a9f807eb80a827070Samuel Li#define R_0028FC_MC_DATA 0x28FC 17203ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 17213ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R_008020_GRBM_SOFT_RESET 0x8020 17223ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008020_SOFT_RESET_CP(x) (((x) & 1) << 0) 17233ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008020_SOFT_RESET_CB(x) (((x) & 1) << 1) 17243ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008020_SOFT_RESET_CR(x) (((x) & 1) << 2) 17253ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008020_SOFT_RESET_DB(x) (((x) & 1) << 3) 17263ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008020_SOFT_RESET_PA(x) (((x) & 1) << 5) 17273ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008020_SOFT_RESET_SC(x) (((x) & 1) << 6) 17283ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008020_SOFT_RESET_SMX(x) (((x) & 1) << 7) 17293ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008020_SOFT_RESET_SPI(x) (((x) & 1) << 8) 17303ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008020_SOFT_RESET_SH(x) (((x) & 1) << 9) 17313ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008020_SOFT_RESET_SX(x) (((x) & 1) << 10) 17323ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008020_SOFT_RESET_TC(x) (((x) & 1) << 11) 17333ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008020_SOFT_RESET_TA(x) (((x) & 1) << 12) 17343ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008020_SOFT_RESET_VC(x) (((x) & 1) << 13) 17353ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008020_SOFT_RESET_VGT(x) (((x) & 1) << 14) 17363ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R_008010_GRBM_STATUS 0x8010 17373ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_CMDFIFO_AVAIL(x) (((x) & 0x1F) << 0) 17383ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_CP_RQ_PENDING(x) (((x) & 1) << 6) 17393ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_CF_RQ_PENDING(x) (((x) & 1) << 7) 17403ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_PF_RQ_PENDING(x) (((x) & 1) << 8) 17413ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_GRBM_EE_BUSY(x) (((x) & 1) << 10) 17423ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_VC_BUSY(x) (((x) & 1) << 11) 17433ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_DB03_CLEAN(x) (((x) & 1) << 12) 17443ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_CB03_CLEAN(x) (((x) & 1) << 13) 17453ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_VGT_BUSY_NO_DMA(x) (((x) & 1) << 16) 17463ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_VGT_BUSY(x) (((x) & 1) << 17) 17473ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_TA03_BUSY(x) (((x) & 1) << 18) 17483ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_TC_BUSY(x) (((x) & 1) << 19) 17493ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_SX_BUSY(x) (((x) & 1) << 20) 17503ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_SH_BUSY(x) (((x) & 1) << 21) 17513ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_SPI03_BUSY(x) (((x) & 1) << 22) 17523ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_SMX_BUSY(x) (((x) & 1) << 23) 17533ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_SC_BUSY(x) (((x) & 1) << 24) 17543ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_PA_BUSY(x) (((x) & 1) << 25) 17553ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_DB03_BUSY(x) (((x) & 1) << 26) 17563ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_CR_BUSY(x) (((x) & 1) << 27) 17573ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_CP_COHERENCY_BUSY(x) (((x) & 1) << 28) 17583ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_CP_BUSY(x) (((x) & 1) << 29) 17593ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_CB03_BUSY(x) (((x) & 1) << 30) 17603ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008010_GUI_ACTIVE(x) (((x) & 1) << 31) 17613ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_CMDFIFO_AVAIL(x) (((x) >> 0) & 0x1F) 17623ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_CP_RQ_PENDING(x) (((x) >> 6) & 1) 17633ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_CF_RQ_PENDING(x) (((x) >> 7) & 1) 17643ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_PF_RQ_PENDING(x) (((x) >> 8) & 1) 17653ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_GRBM_EE_BUSY(x) (((x) >> 10) & 1) 17663ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_VC_BUSY(x) (((x) >> 11) & 1) 17673ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_DB03_CLEAN(x) (((x) >> 12) & 1) 17683ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_CB03_CLEAN(x) (((x) >> 13) & 1) 1769f13f7731a20ad2ceee8fa8a940b5a68abc733e06Alex Deucher#define G_008010_TA_BUSY(x) (((x) >> 14) & 1) 17703ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_VGT_BUSY_NO_DMA(x) (((x) >> 16) & 1) 17713ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_VGT_BUSY(x) (((x) >> 17) & 1) 17723ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_TA03_BUSY(x) (((x) >> 18) & 1) 17733ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_TC_BUSY(x) (((x) >> 19) & 1) 17743ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_SX_BUSY(x) (((x) >> 20) & 1) 17753ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_SH_BUSY(x) (((x) >> 21) & 1) 17763ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_SPI03_BUSY(x) (((x) >> 22) & 1) 17773ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_SMX_BUSY(x) (((x) >> 23) & 1) 17783ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_SC_BUSY(x) (((x) >> 24) & 1) 17793ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_PA_BUSY(x) (((x) >> 25) & 1) 17803ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_DB03_BUSY(x) (((x) >> 26) & 1) 17813ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_CR_BUSY(x) (((x) >> 27) & 1) 17823ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_CP_COHERENCY_BUSY(x) (((x) >> 28) & 1) 17833ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_CP_BUSY(x) (((x) >> 29) & 1) 17843ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_CB03_BUSY(x) (((x) >> 30) & 1) 17853ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008010_GUI_ACTIVE(x) (((x) >> 31) & 1) 17863ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R_008014_GRBM_STATUS2 0x8014 17873ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_CR_CLEAN(x) (((x) & 1) << 0) 17883ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_SMX_CLEAN(x) (((x) & 1) << 1) 17893ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_SPI0_BUSY(x) (((x) & 1) << 8) 17903ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_SPI1_BUSY(x) (((x) & 1) << 9) 17913ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_SPI2_BUSY(x) (((x) & 1) << 10) 17923ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_SPI3_BUSY(x) (((x) & 1) << 11) 17933ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_TA0_BUSY(x) (((x) & 1) << 12) 17943ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_TA1_BUSY(x) (((x) & 1) << 13) 17953ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_TA2_BUSY(x) (((x) & 1) << 14) 17963ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_TA3_BUSY(x) (((x) & 1) << 15) 17973ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_DB0_BUSY(x) (((x) & 1) << 16) 17983ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_DB1_BUSY(x) (((x) & 1) << 17) 17993ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_DB2_BUSY(x) (((x) & 1) << 18) 18003ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_DB3_BUSY(x) (((x) & 1) << 19) 18013ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_CB0_BUSY(x) (((x) & 1) << 20) 18023ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_CB1_BUSY(x) (((x) & 1) << 21) 18033ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_CB2_BUSY(x) (((x) & 1) << 22) 18043ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_008014_CB3_BUSY(x) (((x) & 1) << 23) 18053ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_CR_CLEAN(x) (((x) >> 0) & 1) 18063ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_SMX_CLEAN(x) (((x) >> 1) & 1) 18073ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_SPI0_BUSY(x) (((x) >> 8) & 1) 18083ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_SPI1_BUSY(x) (((x) >> 9) & 1) 18093ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_SPI2_BUSY(x) (((x) >> 10) & 1) 18103ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_SPI3_BUSY(x) (((x) >> 11) & 1) 18113ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_TA0_BUSY(x) (((x) >> 12) & 1) 18123ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_TA1_BUSY(x) (((x) >> 13) & 1) 18133ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_TA2_BUSY(x) (((x) >> 14) & 1) 18143ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_TA3_BUSY(x) (((x) >> 15) & 1) 18153ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_DB0_BUSY(x) (((x) >> 16) & 1) 18163ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_DB1_BUSY(x) (((x) >> 17) & 1) 18173ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_DB2_BUSY(x) (((x) >> 18) & 1) 18183ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_DB3_BUSY(x) (((x) >> 19) & 1) 18193ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_CB0_BUSY(x) (((x) >> 20) & 1) 18203ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_CB1_BUSY(x) (((x) >> 21) & 1) 18213ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_CB2_BUSY(x) (((x) >> 22) & 1) 18223ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_008014_CB3_BUSY(x) (((x) >> 23) & 1) 18233ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R_000E50_SRBM_STATUS 0x0E50 18243ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_000E50_RLC_RQ_PENDING(x) (((x) >> 3) & 1) 18253ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_000E50_RCU_RQ_PENDING(x) (((x) >> 4) & 1) 18263ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_000E50_GRBM_RQ_PENDING(x) (((x) >> 5) & 1) 18273ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_000E50_HI_RQ_PENDING(x) (((x) >> 6) & 1) 18283ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_000E50_IO_EXTERN_SIGNAL(x) (((x) >> 7) & 1) 18293ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_000E50_VMC_BUSY(x) (((x) >> 8) & 1) 18303ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_000E50_MCB_BUSY(x) (((x) >> 9) & 1) 18313ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_000E50_MCDZ_BUSY(x) (((x) >> 10) & 1) 18323ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_000E50_MCDY_BUSY(x) (((x) >> 11) & 1) 18333ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_000E50_MCDX_BUSY(x) (((x) >> 12) & 1) 18343ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_000E50_MCDW_BUSY(x) (((x) >> 13) & 1) 18353ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_000E50_SEM_BUSY(x) (((x) >> 14) & 1) 18363ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define G_000E50_RLC_BUSY(x) (((x) >> 15) & 1) 1837f13f7731a20ad2ceee8fa8a940b5a68abc733e06Alex Deucher#define G_000E50_IH_BUSY(x) (((x) >> 17) & 1) 18381a029b768f9d4a001501bd18d6ba08297ae912fdJerome Glisse#define G_000E50_BIF_BUSY(x) (((x) >> 29) & 1) 18393ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define R_000E60_SRBM_SOFT_RESET 0x0E60 18403ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_000E60_SOFT_RESET_BIF(x) (((x) & 1) << 1) 18413ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_000E60_SOFT_RESET_CG(x) (((x) & 1) << 2) 18423ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_000E60_SOFT_RESET_CMC(x) (((x) & 1) << 3) 18433ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_000E60_SOFT_RESET_CSC(x) (((x) & 1) << 4) 18443ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_000E60_SOFT_RESET_DC(x) (((x) & 1) << 5) 18453ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_000E60_SOFT_RESET_GRBM(x) (((x) & 1) << 8) 18463ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_000E60_SOFT_RESET_HDP(x) (((x) & 1) << 9) 18473ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_000E60_SOFT_RESET_IH(x) (((x) & 1) << 10) 18483ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_000E60_SOFT_RESET_MC(x) (((x) & 1) << 11) 18493ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_000E60_SOFT_RESET_RLC(x) (((x) & 1) << 13) 18503ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_000E60_SOFT_RESET_ROM(x) (((x) & 1) << 14) 18513ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_000E60_SOFT_RESET_SEM(x) (((x) & 1) << 15) 18523ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_000E60_SOFT_RESET_TSC(x) (((x) & 1) << 16) 18533ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#define S_000E60_SOFT_RESET_VMC(x) (((x) & 1) << 17) 18543ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse 185523956dfa82eab95931aab5fa9886c1e96c41e4dcDave Airlie#define R_005480_HDP_MEM_COHERENCY_FLUSH_CNTL 0x5480 1856c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse 1857961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_028C04_PA_SC_AA_CONFIG 0x028C04 1858961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028C04_MSAA_NUM_SAMPLES(x) (((x) & 0x3) << 0) 1859961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028C04_MSAA_NUM_SAMPLES(x) (((x) >> 0) & 0x3) 1860961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028C04_MSAA_NUM_SAMPLES 0xFFFFFFFC 1861961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028C04_AA_MASK_CENTROID_DTMN(x) (((x) & 0x1) << 4) 1862961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028C04_AA_MASK_CENTROID_DTMN(x) (((x) >> 4) & 0x1) 1863961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028C04_AA_MASK_CENTROID_DTMN 0xFFFFFFEF 1864961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028C04_MAX_SAMPLE_DIST(x) (((x) & 0xF) << 13) 1865961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028C04_MAX_SAMPLE_DIST(x) (((x) >> 13) & 0xF) 1866961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028C04_MAX_SAMPLE_DIST 0xFFFE1FFF 1867c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280E0_CB_COLOR0_FRAG 0x0280E0 1868c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define S_0280E0_BASE_256B(x) (((x) & 0xFFFFFFFF) << 0) 1869c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define G_0280E0_BASE_256B(x) (((x) >> 0) & 0xFFFFFFFF) 1870c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define C_0280E0_BASE_256B 0x00000000 1871c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280E4_CB_COLOR1_FRAG 0x0280E4 1872c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280E8_CB_COLOR2_FRAG 0x0280E8 1873c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280EC_CB_COLOR3_FRAG 0x0280EC 1874c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280F0_CB_COLOR4_FRAG 0x0280F0 1875c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280F4_CB_COLOR5_FRAG 0x0280F4 1876c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280F8_CB_COLOR6_FRAG 0x0280F8 1877c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280FC_CB_COLOR7_FRAG 0x0280FC 1878c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280C0_CB_COLOR0_TILE 0x0280C0 1879c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define S_0280C0_BASE_256B(x) (((x) & 0xFFFFFFFF) << 0) 1880c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define G_0280C0_BASE_256B(x) (((x) >> 0) & 0xFFFFFFFF) 1881c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define C_0280C0_BASE_256B 0x00000000 1882c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280C4_CB_COLOR1_TILE 0x0280C4 1883c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280C8_CB_COLOR2_TILE 0x0280C8 1884c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280CC_CB_COLOR3_TILE 0x0280CC 1885c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280D0_CB_COLOR4_TILE 0x0280D0 1886c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280D4_CB_COLOR5_TILE 0x0280D4 1887c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280D8_CB_COLOR6_TILE 0x0280D8 1888c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse#define R_0280DC_CB_COLOR7_TILE 0x0280DC 1889961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0280A0_CB_COLOR0_INFO 0x0280A0 1890961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0280A0_ENDIAN(x) (((x) & 0x3) << 0) 1891961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0280A0_ENDIAN(x) (((x) >> 0) & 0x3) 1892961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0280A0_ENDIAN 0xFFFFFFFC 1893961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0280A0_FORMAT(x) (((x) & 0x3F) << 2) 1894961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0280A0_FORMAT(x) (((x) >> 2) & 0x3F) 1895961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0280A0_FORMAT 0xFFFFFF03 1896961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_INVALID 0x00000000 1897961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_8 0x00000001 1898961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_4_4 0x00000002 1899961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_3_3_2 0x00000003 1900961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_16 0x00000005 1901961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_16_FLOAT 0x00000006 1902961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_8_8 0x00000007 1903961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_5_6_5 0x00000008 1904961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_6_5_5 0x00000009 1905961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_1_5_5_5 0x0000000A 1906961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_4_4_4_4 0x0000000B 1907961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_5_5_5_1 0x0000000C 1908961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_32 0x0000000D 1909961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_32_FLOAT 0x0000000E 1910961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_16_16 0x0000000F 1911961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_16_16_FLOAT 0x00000010 1912961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_8_24 0x00000011 1913961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_8_24_FLOAT 0x00000012 1914961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_24_8 0x00000013 1915961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_24_8_FLOAT 0x00000014 1916961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_10_11_11 0x00000015 1917961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_10_11_11_FLOAT 0x00000016 1918961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_11_11_10 0x00000017 1919961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_11_11_10_FLOAT 0x00000018 1920961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_2_10_10_10 0x00000019 1921961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_8_8_8_8 0x0000001A 1922961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_10_10_10_2 0x0000001B 1923961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_X24_8_32_FLOAT 0x0000001C 1924961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_32_32 0x0000001D 1925961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_32_32_FLOAT 0x0000001E 1926961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_16_16_16_16 0x0000001F 1927961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_16_16_16_16_FLOAT 0x00000020 1928961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_32_32_32_32 0x00000022 1929961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_COLOR_32_32_32_32_FLOAT 0x00000023 1930961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0280A0_ARRAY_MODE(x) (((x) & 0xF) << 8) 1931961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0280A0_ARRAY_MODE(x) (((x) >> 8) & 0xF) 1932961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0280A0_ARRAY_MODE 0xFFFFF0FF 1933961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_ARRAY_LINEAR_GENERAL 0x00000000 1934961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_ARRAY_LINEAR_ALIGNED 0x00000001 1935961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_ARRAY_1D_TILED_THIN1 0x00000002 1936961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_0280A0_ARRAY_2D_TILED_THIN1 0x00000004 1937961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0280A0_NUMBER_TYPE(x) (((x) & 0x7) << 12) 1938961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0280A0_NUMBER_TYPE(x) (((x) >> 12) & 0x7) 1939961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0280A0_NUMBER_TYPE 0xFFFF8FFF 1940961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0280A0_READ_SIZE(x) (((x) & 0x1) << 15) 1941961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0280A0_READ_SIZE(x) (((x) >> 15) & 0x1) 1942961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0280A0_READ_SIZE 0xFFFF7FFF 1943961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0280A0_COMP_SWAP(x) (((x) & 0x3) << 16) 1944961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0280A0_COMP_SWAP(x) (((x) >> 16) & 0x3) 1945961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0280A0_COMP_SWAP 0xFFFCFFFF 1946961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0280A0_TILE_MODE(x) (((x) & 0x3) << 18) 1947961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0280A0_TILE_MODE(x) (((x) >> 18) & 0x3) 1948961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0280A0_TILE_MODE 0xFFF3FFFF 1949c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define V_0280A0_TILE_DISABLE 0 1950c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define V_0280A0_CLEAR_ENABLE 1 1951c116cc94969447f44fd7205a027084ceebe90d34Marek Olšák#define V_0280A0_FRAG_ENABLE 2 1952961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0280A0_BLEND_CLAMP(x) (((x) & 0x1) << 20) 1953961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0280A0_BLEND_CLAMP(x) (((x) >> 20) & 0x1) 1954961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0280A0_BLEND_CLAMP 0xFFEFFFFF 1955961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0280A0_CLEAR_COLOR(x) (((x) & 0x1) << 21) 1956961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0280A0_CLEAR_COLOR(x) (((x) >> 21) & 0x1) 1957961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0280A0_CLEAR_COLOR 0xFFDFFFFF 1958961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0280A0_BLEND_BYPASS(x) (((x) & 0x1) << 22) 1959961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0280A0_BLEND_BYPASS(x) (((x) >> 22) & 0x1) 1960961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0280A0_BLEND_BYPASS 0xFFBFFFFF 1961961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0280A0_BLEND_FLOAT32(x) (((x) & 0x1) << 23) 1962961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0280A0_BLEND_FLOAT32(x) (((x) >> 23) & 0x1) 1963961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0280A0_BLEND_FLOAT32 0xFF7FFFFF 1964961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0280A0_SIMPLE_FLOAT(x) (((x) & 0x1) << 24) 1965961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0280A0_SIMPLE_FLOAT(x) (((x) >> 24) & 0x1) 1966961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0280A0_SIMPLE_FLOAT 0xFEFFFFFF 1967961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0280A0_ROUND_MODE(x) (((x) & 0x1) << 25) 1968961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0280A0_ROUND_MODE(x) (((x) >> 25) & 0x1) 1969961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0280A0_ROUND_MODE 0xFDFFFFFF 1970961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0280A0_TILE_COMPACT(x) (((x) & 0x1) << 26) 1971961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0280A0_TILE_COMPACT(x) (((x) >> 26) & 0x1) 1972961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0280A0_TILE_COMPACT 0xFBFFFFFF 1973961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0280A0_SOURCE_FORMAT(x) (((x) & 0x1) << 27) 1974961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0280A0_SOURCE_FORMAT(x) (((x) >> 27) & 0x1) 1975961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0280A0_SOURCE_FORMAT 0xF7FFFFFF 1976961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0280A4_CB_COLOR1_INFO 0x0280A4 1977961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0280A8_CB_COLOR2_INFO 0x0280A8 1978961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0280AC_CB_COLOR3_INFO 0x0280AC 1979961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0280B0_CB_COLOR4_INFO 0x0280B0 1980961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0280B4_CB_COLOR5_INFO 0x0280B4 1981961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0280B8_CB_COLOR6_INFO 0x0280B8 1982961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0280BC_CB_COLOR7_INFO 0x0280BC 1983961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_028060_CB_COLOR0_SIZE 0x028060 1984961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028060_PITCH_TILE_MAX(x) (((x) & 0x3FF) << 0) 1985961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028060_PITCH_TILE_MAX(x) (((x) >> 0) & 0x3FF) 1986961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028060_PITCH_TILE_MAX 0xFFFFFC00 1987961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028060_SLICE_TILE_MAX(x) (((x) & 0xFFFFF) << 10) 1988961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028060_SLICE_TILE_MAX(x) (((x) >> 10) & 0xFFFFF) 1989961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028060_SLICE_TILE_MAX 0xC00003FF 1990961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_028064_CB_COLOR1_SIZE 0x028064 1991961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_028068_CB_COLOR2_SIZE 0x028068 1992961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_02806C_CB_COLOR3_SIZE 0x02806C 1993961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_028070_CB_COLOR4_SIZE 0x028070 1994961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_028074_CB_COLOR5_SIZE 0x028074 1995961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_028078_CB_COLOR6_SIZE 0x028078 1996961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_02807C_CB_COLOR7_SIZE 0x02807C 1997961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_028238_CB_TARGET_MASK 0x028238 1998961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028238_TARGET0_ENABLE(x) (((x) & 0xF) << 0) 1999961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028238_TARGET0_ENABLE(x) (((x) >> 0) & 0xF) 2000961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028238_TARGET0_ENABLE 0xFFFFFFF0 2001961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028238_TARGET1_ENABLE(x) (((x) & 0xF) << 4) 2002961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028238_TARGET1_ENABLE(x) (((x) >> 4) & 0xF) 2003961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028238_TARGET1_ENABLE 0xFFFFFF0F 2004961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028238_TARGET2_ENABLE(x) (((x) & 0xF) << 8) 2005961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028238_TARGET2_ENABLE(x) (((x) >> 8) & 0xF) 2006961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028238_TARGET2_ENABLE 0xFFFFF0FF 2007961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028238_TARGET3_ENABLE(x) (((x) & 0xF) << 12) 2008961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028238_TARGET3_ENABLE(x) (((x) >> 12) & 0xF) 2009961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028238_TARGET3_ENABLE 0xFFFF0FFF 2010961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028238_TARGET4_ENABLE(x) (((x) & 0xF) << 16) 2011961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028238_TARGET4_ENABLE(x) (((x) >> 16) & 0xF) 2012961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028238_TARGET4_ENABLE 0xFFF0FFFF 2013961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028238_TARGET5_ENABLE(x) (((x) & 0xF) << 20) 2014961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028238_TARGET5_ENABLE(x) (((x) >> 20) & 0xF) 2015961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028238_TARGET5_ENABLE 0xFF0FFFFF 2016961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028238_TARGET6_ENABLE(x) (((x) & 0xF) << 24) 2017961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028238_TARGET6_ENABLE(x) (((x) >> 24) & 0xF) 2018961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028238_TARGET6_ENABLE 0xF0FFFFFF 2019961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028238_TARGET7_ENABLE(x) (((x) & 0xF) << 28) 2020961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028238_TARGET7_ENABLE(x) (((x) >> 28) & 0xF) 2021961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028238_TARGET7_ENABLE 0x0FFFFFFF 2022961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_02823C_CB_SHADER_MASK 0x02823C 2023961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_02823C_OUTPUT0_ENABLE(x) (((x) & 0xF) << 0) 2024961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_02823C_OUTPUT0_ENABLE(x) (((x) >> 0) & 0xF) 2025961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_02823C_OUTPUT0_ENABLE 0xFFFFFFF0 2026961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_02823C_OUTPUT1_ENABLE(x) (((x) & 0xF) << 4) 2027961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_02823C_OUTPUT1_ENABLE(x) (((x) >> 4) & 0xF) 2028961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_02823C_OUTPUT1_ENABLE 0xFFFFFF0F 2029961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_02823C_OUTPUT2_ENABLE(x) (((x) & 0xF) << 8) 2030961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_02823C_OUTPUT2_ENABLE(x) (((x) >> 8) & 0xF) 2031961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_02823C_OUTPUT2_ENABLE 0xFFFFF0FF 2032961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_02823C_OUTPUT3_ENABLE(x) (((x) & 0xF) << 12) 2033961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_02823C_OUTPUT3_ENABLE(x) (((x) >> 12) & 0xF) 2034961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_02823C_OUTPUT3_ENABLE 0xFFFF0FFF 2035961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_02823C_OUTPUT4_ENABLE(x) (((x) & 0xF) << 16) 2036961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_02823C_OUTPUT4_ENABLE(x) (((x) >> 16) & 0xF) 2037961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_02823C_OUTPUT4_ENABLE 0xFFF0FFFF 2038961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_02823C_OUTPUT5_ENABLE(x) (((x) & 0xF) << 20) 2039961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_02823C_OUTPUT5_ENABLE(x) (((x) >> 20) & 0xF) 2040961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_02823C_OUTPUT5_ENABLE 0xFF0FFFFF 2041961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_02823C_OUTPUT6_ENABLE(x) (((x) & 0xF) << 24) 2042961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_02823C_OUTPUT6_ENABLE(x) (((x) >> 24) & 0xF) 2043961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_02823C_OUTPUT6_ENABLE 0xF0FFFFFF 2044961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_02823C_OUTPUT7_ENABLE(x) (((x) & 0xF) << 28) 2045961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_02823C_OUTPUT7_ENABLE(x) (((x) >> 28) & 0xF) 2046961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_02823C_OUTPUT7_ENABLE 0x0FFFFFFF 2047961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_028AB0_VGT_STRMOUT_EN 0x028AB0 2048961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028AB0_STREAMOUT(x) (((x) & 0x1) << 0) 2049961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028AB0_STREAMOUT(x) (((x) >> 0) & 0x1) 2050961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028AB0_STREAMOUT 0xFFFFFFFE 2051961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_028B20_VGT_STRMOUT_BUFFER_EN 0x028B20 2052961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028B20_BUFFER_0_EN(x) (((x) & 0x1) << 0) 2053961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028B20_BUFFER_0_EN(x) (((x) >> 0) & 0x1) 2054961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028B20_BUFFER_0_EN 0xFFFFFFFE 2055961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028B20_BUFFER_1_EN(x) (((x) & 0x1) << 1) 2056961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028B20_BUFFER_1_EN(x) (((x) >> 1) & 0x1) 2057961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028B20_BUFFER_1_EN 0xFFFFFFFD 2058961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028B20_BUFFER_2_EN(x) (((x) & 0x1) << 2) 2059961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028B20_BUFFER_2_EN(x) (((x) >> 2) & 0x1) 2060961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028B20_BUFFER_2_EN 0xFFFFFFFB 2061961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028B20_BUFFER_3_EN(x) (((x) & 0x1) << 3) 2062961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028B20_BUFFER_3_EN(x) (((x) >> 3) & 0x1) 2063961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028B20_BUFFER_3_EN 0xFFFFFFF7 2064961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028B20_SIZE(x) (((x) & 0xFFFFFFFF) << 0) 2065961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028B20_SIZE(x) (((x) >> 0) & 0xFFFFFFFF) 2066961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028B20_SIZE 0x00000000 2067961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_038000_SQ_TEX_RESOURCE_WORD0_0 0x038000 2068961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038000_DIM(x) (((x) & 0x7) << 0) 2069961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038000_DIM(x) (((x) >> 0) & 0x7) 2070961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038000_DIM 0xFFFFFFF8 2071961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038000_SQ_TEX_DIM_1D 0x00000000 2072961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038000_SQ_TEX_DIM_2D 0x00000001 2073961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038000_SQ_TEX_DIM_3D 0x00000002 2074961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038000_SQ_TEX_DIM_CUBEMAP 0x00000003 2075961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038000_SQ_TEX_DIM_1D_ARRAY 0x00000004 2076961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038000_SQ_TEX_DIM_2D_ARRAY 0x00000005 2077961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038000_SQ_TEX_DIM_2D_MSAA 0x00000006 2078961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038000_SQ_TEX_DIM_2D_ARRAY_MSAA 0x00000007 2079961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038000_TILE_MODE(x) (((x) & 0xF) << 3) 2080961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038000_TILE_MODE(x) (((x) >> 3) & 0xF) 2081961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038000_TILE_MODE 0xFFFFFF87 20827f813377203a60be01a3354664edc5d3c746100dAlex Deucher#define V_038000_ARRAY_LINEAR_GENERAL 0x00000000 20837f813377203a60be01a3354664edc5d3c746100dAlex Deucher#define V_038000_ARRAY_LINEAR_ALIGNED 0x00000001 20847f813377203a60be01a3354664edc5d3c746100dAlex Deucher#define V_038000_ARRAY_1D_TILED_THIN1 0x00000002 20857f813377203a60be01a3354664edc5d3c746100dAlex Deucher#define V_038000_ARRAY_2D_TILED_THIN1 0x00000004 2086961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038000_TILE_TYPE(x) (((x) & 0x1) << 7) 2087961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038000_TILE_TYPE(x) (((x) >> 7) & 0x1) 2088961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038000_TILE_TYPE 0xFFFFFF7F 2089961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038000_PITCH(x) (((x) & 0x7FF) << 8) 2090961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038000_PITCH(x) (((x) >> 8) & 0x7FF) 2091961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038000_PITCH 0xFFF800FF 2092961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038000_TEX_WIDTH(x) (((x) & 0x1FFF) << 19) 2093961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038000_TEX_WIDTH(x) (((x) >> 19) & 0x1FFF) 2094961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038000_TEX_WIDTH 0x0007FFFF 2095961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_038004_SQ_TEX_RESOURCE_WORD1_0 0x038004 2096961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038004_TEX_HEIGHT(x) (((x) & 0x1FFF) << 0) 2097961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038004_TEX_HEIGHT(x) (((x) >> 0) & 0x1FFF) 2098961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038004_TEX_HEIGHT 0xFFFFE000 2099961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038004_TEX_DEPTH(x) (((x) & 0x1FFF) << 13) 2100961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038004_TEX_DEPTH(x) (((x) >> 13) & 0x1FFF) 2101961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038004_TEX_DEPTH 0xFC001FFF 2102961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038004_DATA_FORMAT(x) (((x) & 0x3F) << 26) 2103961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038004_DATA_FORMAT(x) (((x) >> 26) & 0x3F) 2104961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038004_DATA_FORMAT 0x03FFFFFF 2105961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_INVALID 0x00000000 2106961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_8 0x00000001 2107961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_4_4 0x00000002 2108961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_3_3_2 0x00000003 2109961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_16 0x00000005 2110961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_16_FLOAT 0x00000006 2111961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_8_8 0x00000007 2112961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_5_6_5 0x00000008 2113961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_6_5_5 0x00000009 2114961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_1_5_5_5 0x0000000A 2115961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_4_4_4_4 0x0000000B 2116961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_5_5_5_1 0x0000000C 2117961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_32 0x0000000D 2118961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_32_FLOAT 0x0000000E 2119961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_16_16 0x0000000F 2120961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_16_16_FLOAT 0x00000010 2121961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_8_24 0x00000011 2122961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_8_24_FLOAT 0x00000012 2123961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_24_8 0x00000013 2124961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_24_8_FLOAT 0x00000014 2125961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_10_11_11 0x00000015 2126961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_10_11_11_FLOAT 0x00000016 2127961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_11_11_10 0x00000017 2128961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_11_11_10_FLOAT 0x00000018 2129961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_2_10_10_10 0x00000019 2130961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_8_8_8_8 0x0000001A 2131961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_10_10_10_2 0x0000001B 2132961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_X24_8_32_FLOAT 0x0000001C 2133961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_32_32 0x0000001D 2134961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_32_32_FLOAT 0x0000001E 2135961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_16_16_16_16 0x0000001F 2136961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_16_16_16_16_FLOAT 0x00000020 2137961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_32_32_32_32 0x00000022 2138961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_COLOR_32_32_32_32_FLOAT 0x00000023 2139961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_FMT_1 0x00000025 2140961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_FMT_GB_GR 0x00000027 2141961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_FMT_BG_RG 0x00000028 2142961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_FMT_32_AS_8 0x00000029 2143961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_FMT_32_AS_8_8 0x0000002A 2144961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_FMT_5_9_9_9_SHAREDEXP 0x0000002B 2145961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_FMT_8_8_8 0x0000002C 2146961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_FMT_16_16_16 0x0000002D 2147961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_FMT_16_16_16_FLOAT 0x0000002E 2148961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_FMT_32_32_32 0x0000002F 2149961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_038004_FMT_32_32_32_FLOAT 0x00000030 215060b212f8ddcdbbfa8595f40300756b9ea8dd387eDave Airlie#define V_038004_FMT_BC1 0x00000031 215160b212f8ddcdbbfa8595f40300756b9ea8dd387eDave Airlie#define V_038004_FMT_BC2 0x00000032 215260b212f8ddcdbbfa8595f40300756b9ea8dd387eDave Airlie#define V_038004_FMT_BC3 0x00000033 215360b212f8ddcdbbfa8595f40300756b9ea8dd387eDave Airlie#define V_038004_FMT_BC4 0x00000034 215460b212f8ddcdbbfa8595f40300756b9ea8dd387eDave Airlie#define V_038004_FMT_BC5 0x00000035 2155fe6f0bd03d697835e76dd18d232ba476c65b8282Marek Olšák#define V_038004_FMT_BC6 0x00000036 2156fe6f0bd03d697835e76dd18d232ba476c65b8282Marek Olšák#define V_038004_FMT_BC7 0x00000037 2157fe6f0bd03d697835e76dd18d232ba476c65b8282Marek Olšák#define V_038004_FMT_32_AS_32_32_32_32 0x00000038 2158961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_038010_SQ_TEX_RESOURCE_WORD4_0 0x038010 2159961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038010_FORMAT_COMP_X(x) (((x) & 0x3) << 0) 2160961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038010_FORMAT_COMP_X(x) (((x) >> 0) & 0x3) 2161961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038010_FORMAT_COMP_X 0xFFFFFFFC 2162961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038010_FORMAT_COMP_Y(x) (((x) & 0x3) << 2) 2163961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038010_FORMAT_COMP_Y(x) (((x) >> 2) & 0x3) 2164961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038010_FORMAT_COMP_Y 0xFFFFFFF3 2165961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038010_FORMAT_COMP_Z(x) (((x) & 0x3) << 4) 2166961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038010_FORMAT_COMP_Z(x) (((x) >> 4) & 0x3) 2167961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038010_FORMAT_COMP_Z 0xFFFFFFCF 2168961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038010_FORMAT_COMP_W(x) (((x) & 0x3) << 6) 2169961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038010_FORMAT_COMP_W(x) (((x) >> 6) & 0x3) 2170961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038010_FORMAT_COMP_W 0xFFFFFF3F 2171961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038010_NUM_FORMAT_ALL(x) (((x) & 0x3) << 8) 2172961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038010_NUM_FORMAT_ALL(x) (((x) >> 8) & 0x3) 2173961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038010_NUM_FORMAT_ALL 0xFFFFFCFF 2174961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038010_SRF_MODE_ALL(x) (((x) & 0x1) << 10) 2175961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038010_SRF_MODE_ALL(x) (((x) >> 10) & 0x1) 2176961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038010_SRF_MODE_ALL 0xFFFFFBFF 2177961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038010_FORCE_DEGAMMA(x) (((x) & 0x1) << 11) 2178961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038010_FORCE_DEGAMMA(x) (((x) >> 11) & 0x1) 2179961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038010_FORCE_DEGAMMA 0xFFFFF7FF 2180961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038010_ENDIAN_SWAP(x) (((x) & 0x3) << 12) 2181961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038010_ENDIAN_SWAP(x) (((x) >> 12) & 0x3) 2182961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038010_ENDIAN_SWAP 0xFFFFCFFF 2183961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038010_REQUEST_SIZE(x) (((x) & 0x3) << 14) 2184961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038010_REQUEST_SIZE(x) (((x) >> 14) & 0x3) 2185961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038010_REQUEST_SIZE 0xFFFF3FFF 2186961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038010_DST_SEL_X(x) (((x) & 0x7) << 16) 2187961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038010_DST_SEL_X(x) (((x) >> 16) & 0x7) 2188961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038010_DST_SEL_X 0xFFF8FFFF 2189961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038010_DST_SEL_Y(x) (((x) & 0x7) << 19) 2190961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038010_DST_SEL_Y(x) (((x) >> 19) & 0x7) 2191961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038010_DST_SEL_Y 0xFFC7FFFF 2192961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038010_DST_SEL_Z(x) (((x) & 0x7) << 22) 2193961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038010_DST_SEL_Z(x) (((x) >> 22) & 0x7) 2194961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038010_DST_SEL_Z 0xFE3FFFFF 2195961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038010_DST_SEL_W(x) (((x) & 0x7) << 25) 2196961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038010_DST_SEL_W(x) (((x) >> 25) & 0x7) 2197961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038010_DST_SEL_W 0xF1FFFFFF 21983a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define SQ_SEL_X 0 21993a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define SQ_SEL_Y 1 22003a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define SQ_SEL_Z 2 22013a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define SQ_SEL_W 3 22023a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define SQ_SEL_0 4 22033a38612e329ffe5183122a9523eacae33e7cbb07Ilija Hadzic# define SQ_SEL_1 5 2204961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038010_BASE_LEVEL(x) (((x) & 0xF) << 28) 2205961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038010_BASE_LEVEL(x) (((x) >> 28) & 0xF) 2206961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038010_BASE_LEVEL 0x0FFFFFFF 2207961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_038014_SQ_TEX_RESOURCE_WORD5_0 0x038014 2208961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038014_LAST_LEVEL(x) (((x) & 0xF) << 0) 2209961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038014_LAST_LEVEL(x) (((x) >> 0) & 0xF) 2210961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038014_LAST_LEVEL 0xFFFFFFF0 2211961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038014_BASE_ARRAY(x) (((x) & 0x1FFF) << 4) 2212961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038014_BASE_ARRAY(x) (((x) >> 4) & 0x1FFF) 2213961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038014_BASE_ARRAY 0xFFFE000F 2214961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_038014_LAST_ARRAY(x) (((x) & 0x1FFF) << 17) 2215961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_038014_LAST_ARRAY(x) (((x) >> 17) & 0x1FFF) 2216961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_038014_LAST_ARRAY 0xC001FFFF 2217961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0288A8_SQ_ESGS_RING_ITEMSIZE 0x0288A8 2218961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0288A8_ITEMSIZE(x) (((x) & 0x7FFF) << 0) 2219961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0288A8_ITEMSIZE(x) (((x) >> 0) & 0x7FFF) 2220961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0288A8_ITEMSIZE 0xFFFF8000 2221961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_008C44_SQ_ESGS_RING_SIZE 0x008C44 2222961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_008C44_MEM_SIZE(x) (((x) & 0xFFFFFFFF) << 0) 2223961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_008C44_MEM_SIZE(x) (((x) >> 0) & 0xFFFFFFFF) 2224961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_008C44_MEM_SIZE 0x00000000 2225961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0288B0_SQ_ESTMP_RING_ITEMSIZE 0x0288B0 2226961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0288B0_ITEMSIZE(x) (((x) & 0x7FFF) << 0) 2227961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0288B0_ITEMSIZE(x) (((x) >> 0) & 0x7FFF) 2228961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0288B0_ITEMSIZE 0xFFFF8000 2229961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_008C54_SQ_ESTMP_RING_SIZE 0x008C54 2230961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_008C54_MEM_SIZE(x) (((x) & 0xFFFFFFFF) << 0) 2231961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_008C54_MEM_SIZE(x) (((x) >> 0) & 0xFFFFFFFF) 2232961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_008C54_MEM_SIZE 0x00000000 2233961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0288C0_SQ_FBUF_RING_ITEMSIZE 0x0288C0 2234961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0288C0_ITEMSIZE(x) (((x) & 0x7FFF) << 0) 2235961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0288C0_ITEMSIZE(x) (((x) >> 0) & 0x7FFF) 2236961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0288C0_ITEMSIZE 0xFFFF8000 2237961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_008C74_SQ_FBUF_RING_SIZE 0x008C74 2238961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_008C74_MEM_SIZE(x) (((x) & 0xFFFFFFFF) << 0) 2239961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_008C74_MEM_SIZE(x) (((x) >> 0) & 0xFFFFFFFF) 2240961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_008C74_MEM_SIZE 0x00000000 2241961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0288B4_SQ_GSTMP_RING_ITEMSIZE 0x0288B4 2242961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0288B4_ITEMSIZE(x) (((x) & 0x7FFF) << 0) 2243961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0288B4_ITEMSIZE(x) (((x) >> 0) & 0x7FFF) 2244961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0288B4_ITEMSIZE 0xFFFF8000 2245961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_008C5C_SQ_GSTMP_RING_SIZE 0x008C5C 2246961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_008C5C_MEM_SIZE(x) (((x) & 0xFFFFFFFF) << 0) 2247961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_008C5C_MEM_SIZE(x) (((x) >> 0) & 0xFFFFFFFF) 2248961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_008C5C_MEM_SIZE 0x00000000 2249961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0288AC_SQ_GSVS_RING_ITEMSIZE 0x0288AC 2250961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0288AC_ITEMSIZE(x) (((x) & 0x7FFF) << 0) 2251961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0288AC_ITEMSIZE(x) (((x) >> 0) & 0x7FFF) 2252961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0288AC_ITEMSIZE 0xFFFF8000 2253961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_008C4C_SQ_GSVS_RING_SIZE 0x008C4C 2254961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_008C4C_MEM_SIZE(x) (((x) & 0xFFFFFFFF) << 0) 2255961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_008C4C_MEM_SIZE(x) (((x) >> 0) & 0xFFFFFFFF) 2256961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_008C4C_MEM_SIZE 0x00000000 2257961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0288BC_SQ_PSTMP_RING_ITEMSIZE 0x0288BC 2258961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0288BC_ITEMSIZE(x) (((x) & 0x7FFF) << 0) 2259961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0288BC_ITEMSIZE(x) (((x) >> 0) & 0x7FFF) 2260961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0288BC_ITEMSIZE 0xFFFF8000 2261961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_008C6C_SQ_PSTMP_RING_SIZE 0x008C6C 2262961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_008C6C_MEM_SIZE(x) (((x) & 0xFFFFFFFF) << 0) 2263961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_008C6C_MEM_SIZE(x) (((x) >> 0) & 0xFFFFFFFF) 2264961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_008C6C_MEM_SIZE 0x00000000 2265961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0288C4_SQ_REDUC_RING_ITEMSIZE 0x0288C4 2266961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0288C4_ITEMSIZE(x) (((x) & 0x7FFF) << 0) 2267961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0288C4_ITEMSIZE(x) (((x) >> 0) & 0x7FFF) 2268961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0288C4_ITEMSIZE 0xFFFF8000 2269961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_008C7C_SQ_REDUC_RING_SIZE 0x008C7C 2270961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_008C7C_MEM_SIZE(x) (((x) & 0xFFFFFFFF) << 0) 2271961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_008C7C_MEM_SIZE(x) (((x) >> 0) & 0xFFFFFFFF) 2272961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_008C7C_MEM_SIZE 0x00000000 2273961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0288B8_SQ_VSTMP_RING_ITEMSIZE 0x0288B8 2274961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0288B8_ITEMSIZE(x) (((x) & 0x7FFF) << 0) 2275961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0288B8_ITEMSIZE(x) (((x) >> 0) & 0x7FFF) 2276961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0288B8_ITEMSIZE 0xFFFF8000 2277961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_008C64_SQ_VSTMP_RING_SIZE 0x008C64 2278961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_008C64_MEM_SIZE(x) (((x) & 0xFFFFFFFF) << 0) 2279961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_008C64_MEM_SIZE(x) (((x) >> 0) & 0xFFFFFFFF) 2280961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_008C64_MEM_SIZE 0x00000000 2281961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_0288C8_SQ_GS_VERT_ITEMSIZE 0x0288C8 2282961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_0288C8_ITEMSIZE(x) (((x) & 0x7FFF) << 0) 2283961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_0288C8_ITEMSIZE(x) (((x) >> 0) & 0x7FFF) 2284961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_0288C8_ITEMSIZE 0xFFFF8000 2285961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_028010_DB_DEPTH_INFO 0x028010 2286961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028010_FORMAT(x) (((x) & 0x7) << 0) 2287961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028010_FORMAT(x) (((x) >> 0) & 0x7) 2288961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028010_FORMAT 0xFFFFFFF8 2289961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_028010_DEPTH_INVALID 0x00000000 2290961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_028010_DEPTH_16 0x00000001 2291961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_028010_DEPTH_X8_24 0x00000002 2292961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_028010_DEPTH_8_24 0x00000003 2293961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_028010_DEPTH_X8_24_FLOAT 0x00000004 2294961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_028010_DEPTH_8_24_FLOAT 0x00000005 2295961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_028010_DEPTH_32_FLOAT 0x00000006 2296961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define V_028010_DEPTH_X24_8_32_FLOAT 0x00000007 2297961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028010_READ_SIZE(x) (((x) & 0x1) << 3) 2298961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028010_READ_SIZE(x) (((x) >> 3) & 0x1) 2299961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028010_READ_SIZE 0xFFFFFFF7 2300961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028010_ARRAY_MODE(x) (((x) & 0xF) << 15) 2301961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028010_ARRAY_MODE(x) (((x) >> 15) & 0xF) 2302961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028010_ARRAY_MODE 0xFFF87FFF 23037f813377203a60be01a3354664edc5d3c746100dAlex Deucher#define V_028010_ARRAY_1D_TILED_THIN1 0x00000002 23047f813377203a60be01a3354664edc5d3c746100dAlex Deucher#define V_028010_ARRAY_2D_TILED_THIN1 0x00000004 2305961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028010_TILE_SURFACE_ENABLE(x) (((x) & 0x1) << 25) 2306961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028010_TILE_SURFACE_ENABLE(x) (((x) >> 25) & 0x1) 2307961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028010_TILE_SURFACE_ENABLE 0xFDFFFFFF 2308961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028010_TILE_COMPACT(x) (((x) & 0x1) << 26) 2309961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028010_TILE_COMPACT(x) (((x) >> 26) & 0x1) 2310961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028010_TILE_COMPACT 0xFBFFFFFF 2311961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028010_ZRANGE_PRECISION(x) (((x) & 0x1) << 31) 2312961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028010_ZRANGE_PRECISION(x) (((x) >> 31) & 0x1) 2313961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028010_ZRANGE_PRECISION 0x7FFFFFFF 2314961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_028000_DB_DEPTH_SIZE 0x028000 2315961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028000_PITCH_TILE_MAX(x) (((x) & 0x3FF) << 0) 2316961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028000_PITCH_TILE_MAX(x) (((x) >> 0) & 0x3FF) 2317961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028000_PITCH_TILE_MAX 0xFFFFFC00 2318961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028000_SLICE_TILE_MAX(x) (((x) & 0xFFFFF) << 10) 2319961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028000_SLICE_TILE_MAX(x) (((x) >> 10) & 0xFFFFF) 2320961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028000_SLICE_TILE_MAX 0xC00003FF 2321961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_028004_DB_DEPTH_VIEW 0x028004 2322961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028004_SLICE_START(x) (((x) & 0x7FF) << 0) 2323961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028004_SLICE_START(x) (((x) >> 0) & 0x7FF) 2324961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028004_SLICE_START 0xFFFFF800 2325961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028004_SLICE_MAX(x) (((x) & 0x7FF) << 13) 2326961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028004_SLICE_MAX(x) (((x) >> 13) & 0x7FF) 2327961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028004_SLICE_MAX 0xFF001FFF 2328961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define R_028800_DB_DEPTH_CONTROL 0x028800 2329961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028800_STENCIL_ENABLE(x) (((x) & 0x1) << 0) 2330961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028800_STENCIL_ENABLE(x) (((x) >> 0) & 0x1) 2331961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028800_STENCIL_ENABLE 0xFFFFFFFE 2332961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028800_Z_ENABLE(x) (((x) & 0x1) << 1) 2333961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028800_Z_ENABLE(x) (((x) >> 1) & 0x1) 2334961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028800_Z_ENABLE 0xFFFFFFFD 2335961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028800_Z_WRITE_ENABLE(x) (((x) & 0x1) << 2) 2336961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028800_Z_WRITE_ENABLE(x) (((x) >> 2) & 0x1) 2337961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028800_Z_WRITE_ENABLE 0xFFFFFFFB 2338961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028800_ZFUNC(x) (((x) & 0x7) << 4) 2339961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028800_ZFUNC(x) (((x) >> 4) & 0x7) 2340961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028800_ZFUNC 0xFFFFFF8F 2341961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028800_BACKFACE_ENABLE(x) (((x) & 0x1) << 7) 2342961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028800_BACKFACE_ENABLE(x) (((x) >> 7) & 0x1) 2343961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028800_BACKFACE_ENABLE 0xFFFFFF7F 2344961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028800_STENCILFUNC(x) (((x) & 0x7) << 8) 2345961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028800_STENCILFUNC(x) (((x) >> 8) & 0x7) 2346961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028800_STENCILFUNC 0xFFFFF8FF 2347961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028800_STENCILFAIL(x) (((x) & 0x7) << 11) 2348961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028800_STENCILFAIL(x) (((x) >> 11) & 0x7) 2349961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028800_STENCILFAIL 0xFFFFC7FF 2350961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028800_STENCILZPASS(x) (((x) & 0x7) << 14) 2351961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028800_STENCILZPASS(x) (((x) >> 14) & 0x7) 2352961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028800_STENCILZPASS 0xFFFE3FFF 2353961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028800_STENCILZFAIL(x) (((x) & 0x7) << 17) 2354961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028800_STENCILZFAIL(x) (((x) >> 17) & 0x7) 2355961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028800_STENCILZFAIL 0xFFF1FFFF 2356961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028800_STENCILFUNC_BF(x) (((x) & 0x7) << 20) 2357961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028800_STENCILFUNC_BF(x) (((x) >> 20) & 0x7) 2358961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028800_STENCILFUNC_BF 0xFF8FFFFF 2359961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028800_STENCILFAIL_BF(x) (((x) & 0x7) << 23) 2360961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028800_STENCILFAIL_BF(x) (((x) >> 23) & 0x7) 2361961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028800_STENCILFAIL_BF 0xFC7FFFFF 2362961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028800_STENCILZPASS_BF(x) (((x) & 0x7) << 26) 2363961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028800_STENCILZPASS_BF(x) (((x) >> 26) & 0x7) 2364961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028800_STENCILZPASS_BF 0xE3FFFFFF 2365961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define S_028800_STENCILZFAIL_BF(x) (((x) & 0x7) << 29) 2366961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define G_028800_STENCILZFAIL_BF(x) (((x) >> 29) & 0x7) 2367961fb597c17e2e4f55407d56b7211c188ab41effJerome Glisse#define C_028800_STENCILZFAIL_BF 0x1FFFFFFF 2368c8c15ff1e90bfc4a2db1ba77a01b3b2783e723fcJerome Glisse 23693ce0a23d2d253185df24e22e3d5f89800bb3dd1cJerome Glisse#endif 2370