1 1.9 macallan /* $NetBSD: radeonfbreg.h,v 1.9 2020/09/28 05:38:41 macallan Exp $ */ 2 1.1 gdamore /* 3 1.1 gdamore * Copyright 2000 ATI Technologies Inc., Markham, Ontario, and 4 1.1 gdamore * VA Linux Systems Inc., Fremont, California. 5 1.1 gdamore * 6 1.1 gdamore * All Rights Reserved. 7 1.1 gdamore * 8 1.1 gdamore * Permission is hereby granted, free of charge, to any person obtaining 9 1.1 gdamore * a copy of this software and associated documentation files (the 10 1.1 gdamore * "Software"), to deal in the Software without restriction, including 11 1.1 gdamore * without limitation on the rights to use, copy, modify, merge, 12 1.1 gdamore * publish, distribute, sublicense, and/or sell copies of the Software, 13 1.1 gdamore * and to permit persons to whom the Software is furnished to do so, 14 1.1 gdamore * subject to the following conditions: 15 1.1 gdamore * 16 1.1 gdamore * The above copyright notice and this permission notice (including the 17 1.1 gdamore * next paragraph) shall be included in all copies or substantial 18 1.1 gdamore * portions of the Software. 19 1.1 gdamore * 20 1.1 gdamore * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 21 1.1 gdamore * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 22 1.1 gdamore * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 23 1.1 gdamore * NON-INFRINGEMENT. IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR 24 1.1 gdamore * THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 25 1.1 gdamore * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 1.1 gdamore * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 27 1.1 gdamore * DEALINGS IN THE SOFTWARE. 28 1.1 gdamore */ 29 1.1 gdamore 30 1.1 gdamore /* 31 1.1 gdamore * Authors: 32 1.1 gdamore * Kevin E. Martin <martin (at) xfree86.org> 33 1.1 gdamore * Rickard E. Faith <faith (at) valinux.com> 34 1.1 gdamore * Alan Hourihane <alanh (at) fairlite.demon.co.uk> 35 1.1 gdamore * 36 1.1 gdamore * References: 37 1.1 gdamore * 38 1.1 gdamore * !!!! FIXME !!!! 39 1.1 gdamore * RAGE 128 VR/ RAGE 128 GL Register Reference Manual (Technical 40 1.1 gdamore * Reference Manual P/N RRG-G04100-C Rev. 0.04), ATI Technologies: April 41 1.1 gdamore * 1999. 42 1.1 gdamore * 43 1.1 gdamore * !!!! FIXME !!!! 44 1.1 gdamore * RAGE 128 Software Development Manual (Technical Reference Manual P/N 45 1.1 gdamore * SDK-G04000 Rev. 0.01), ATI Technologies: June 1999. 46 1.1 gdamore * 47 1.1 gdamore */ 48 1.1 gdamore 49 1.1 gdamore /* !!!! FIXME !!!! NOTE: THIS FILE HAS BEEN CONVERTED FROM r128_reg.h 50 1.1 gdamore * AND CONTAINS REGISTERS AND REGISTER DEFINITIONS THAT ARE NOT CORRECT 51 1.1 gdamore * ON THE RADEON. A FULL AUDIT OF THIS CODE IS NEEDED! */ 52 1.1 gdamore 53 1.1 gdamore #ifndef _RADEON_REG_H_ 54 1.1 gdamore #define _RADEON_REG_H_ 55 1.1 gdamore 56 1.1 gdamore /* PCI configuration space */ 57 1.1 gdamore #define RADEON_MAPREG_MMIO 0x18 58 1.2 macallan #define RADEON_MAPREG_IO 0x14 59 1.1 gdamore #define RADEON_MAPREG_VRAM 0x10 60 1.1 gdamore 61 1.8 macallan #define ATI_DATATYPE_VQ 0 62 1.8 macallan #define ATI_DATATYPE_CI4 1 63 1.8 macallan #define ATI_DATATYPE_CI8 2 64 1.8 macallan #define ATI_DATATYPE_ARGB1555 3 65 1.8 macallan #define ATI_DATATYPE_RGB565 4 66 1.8 macallan #define ATI_DATATYPE_RGB888 5 67 1.8 macallan #define ATI_DATATYPE_ARGB8888 6 68 1.8 macallan #define ATI_DATATYPE_RGB332 7 69 1.8 macallan #define ATI_DATATYPE_Y8 8 70 1.8 macallan #define ATI_DATATYPE_RGB8 9 71 1.8 macallan #define ATI_DATATYPE_CI16 10 72 1.8 macallan #define ATI_DATATYPE_VYUY_422 11 73 1.8 macallan #define ATI_DATATYPE_YVYU_422 12 74 1.8 macallan #define ATI_DATATYPE_AYUV_444 14 75 1.8 macallan #define ATI_DATATYPE_ARGB4444 15 76 1.8 macallan 77 1.1 gdamore /* Registers for 2D/Video/Overlay */ 78 1.1 gdamore #define RADEON_ADAPTER_ID 0x0f2c /* PCI */ 79 1.1 gdamore #define RADEON_AGP_BASE 0x0170 80 1.1 gdamore #define RADEON_AGP_CNTL 0x0174 81 1.1 gdamore # define RADEON_AGP_APER_SIZE_256MB (0x00 << 0) 82 1.1 gdamore # define RADEON_AGP_APER_SIZE_128MB (0x20 << 0) 83 1.1 gdamore # define RADEON_AGP_APER_SIZE_64MB (0x30 << 0) 84 1.1 gdamore # define RADEON_AGP_APER_SIZE_32MB (0x38 << 0) 85 1.1 gdamore # define RADEON_AGP_APER_SIZE_16MB (0x3c << 0) 86 1.1 gdamore # define RADEON_AGP_APER_SIZE_8MB (0x3e << 0) 87 1.1 gdamore # define RADEON_AGP_APER_SIZE_4MB (0x3f << 0) 88 1.1 gdamore # define RADEON_AGP_APER_SIZE_MASK (0x3f << 0) 89 1.1 gdamore #define RADEON_STATUS_PCI_CONFIG 0x06 90 1.1 gdamore # define RADEON_CAP_LIST 0x100000 91 1.1 gdamore #define RADEON_CAPABILITIES_PTR_PCI_CONFIG 0x34 /* offset in PCI config*/ 92 1.1 gdamore # define RADEON_CAP_PTR_MASK 0xfc /* mask off reserved bits of CAP_PTR */ 93 1.1 gdamore # define RADEON_CAP_ID_NULL 0x00 /* End of capability list */ 94 1.1 gdamore # define RADEON_CAP_ID_AGP 0x02 /* AGP capability ID */ 95 1.8 macallan # define RADEON_CAP_ID_EXP 0x10 /* PCI Express */ 96 1.1 gdamore #define RADEON_AGP_COMMAND 0x0f60 /* PCI */ 97 1.1 gdamore #define RADEON_AGP_COMMAND_PCI_CONFIG 0x0060 /* offset in PCI config*/ 98 1.1 gdamore # define RADEON_AGP_ENABLE (1<<8) 99 1.1 gdamore #define RADEON_AGP_PLL_CNTL 0x000b /* PLL */ 100 1.1 gdamore #define RADEON_AGP_STATUS 0x0f5c /* PCI */ 101 1.1 gdamore # define RADEON_AGP_1X_MODE 0x01 102 1.1 gdamore # define RADEON_AGP_2X_MODE 0x02 103 1.1 gdamore # define RADEON_AGP_4X_MODE 0x04 104 1.1 gdamore # define RADEON_AGP_FW_MODE 0x10 105 1.1 gdamore # define RADEON_AGP_MODE_MASK 0x17 106 1.8 macallan # define RADEON_AGPv3_MODE 0x08 107 1.8 macallan # define RADEON_AGPv3_4X_MODE 0x01 108 1.8 macallan # define RADEON_AGPv3_8X_MODE 0x02 109 1.1 gdamore #define RADEON_ATTRDR 0x03c1 /* VGA */ 110 1.1 gdamore #define RADEON_ATTRDW 0x03c0 /* VGA */ 111 1.1 gdamore #define RADEON_ATTRX 0x03c0 /* VGA */ 112 1.8 macallan #define RADEON_AUX_WINDOW_HORZ_CNTL 0x02d8 113 1.8 macallan #define RADEON_AUX_WINDOW_VERT_CNTL 0x02dc 114 1.8 macallan 115 1.1 gdamore #define RADEON_AUX_SC_CNTL 0x1660 116 1.1 gdamore # define RADEON_AUX1_SC_EN (1 << 0) 117 1.1 gdamore # define RADEON_AUX1_SC_MODE_OR (0 << 1) 118 1.1 gdamore # define RADEON_AUX1_SC_MODE_NAND (1 << 1) 119 1.1 gdamore # define RADEON_AUX2_SC_EN (1 << 2) 120 1.1 gdamore # define RADEON_AUX2_SC_MODE_OR (0 << 3) 121 1.1 gdamore # define RADEON_AUX2_SC_MODE_NAND (1 << 3) 122 1.1 gdamore # define RADEON_AUX3_SC_EN (1 << 4) 123 1.1 gdamore # define RADEON_AUX3_SC_MODE_OR (0 << 5) 124 1.1 gdamore # define RADEON_AUX3_SC_MODE_NAND (1 << 5) 125 1.1 gdamore #define RADEON_AUX1_SC_BOTTOM 0x1670 126 1.1 gdamore #define RADEON_AUX1_SC_LEFT 0x1664 127 1.1 gdamore #define RADEON_AUX1_SC_RIGHT 0x1668 128 1.1 gdamore #define RADEON_AUX1_SC_TOP 0x166c 129 1.1 gdamore #define RADEON_AUX2_SC_BOTTOM 0x1680 130 1.1 gdamore #define RADEON_AUX2_SC_LEFT 0x1674 131 1.1 gdamore #define RADEON_AUX2_SC_RIGHT 0x1678 132 1.1 gdamore #define RADEON_AUX2_SC_TOP 0x167c 133 1.1 gdamore #define RADEON_AUX3_SC_BOTTOM 0x1690 134 1.1 gdamore #define RADEON_AUX3_SC_LEFT 0x1684 135 1.1 gdamore #define RADEON_AUX3_SC_RIGHT 0x1688 136 1.1 gdamore #define RADEON_AUX3_SC_TOP 0x168c 137 1.1 gdamore #define RADEON_AUX_WINDOW_HORZ_CNTL 0x02d8 138 1.1 gdamore #define RADEON_AUX_WINDOW_VERT_CNTL 0x02dc 139 1.1 gdamore 140 1.1 gdamore #define RADEON_BASE_CODE 0x0f0b 141 1.1 gdamore #define RADEON_BIOS_0_SCRATCH 0x0010 142 1.8 macallan # define RADEON_FP_PANEL_SCALABLE (1 << 16) 143 1.8 macallan # define RADEON_FP_PANEL_SCALE_EN (1 << 17) 144 1.8 macallan # define RADEON_FP_CHIP_SCALE_EN (1 << 18) 145 1.8 macallan # define RADEON_DRIVER_BRIGHTNESS_EN (1 << 26) 146 1.8 macallan # define RADEON_DISPLAY_ROT_MASK (3 << 28) 147 1.8 macallan # define RADEON_DISPLAY_ROT_00 (0 << 28) 148 1.8 macallan # define RADEON_DISPLAY_ROT_90 (1 << 28) 149 1.8 macallan # define RADEON_DISPLAY_ROT_180 (2 << 28) 150 1.8 macallan # define RADEON_DISPLAY_ROT_270 (3 << 28) 151 1.1 gdamore #define RADEON_BIOS_1_SCRATCH 0x0014 152 1.1 gdamore #define RADEON_BIOS_2_SCRATCH 0x0018 153 1.1 gdamore #define RADEON_BIOS_3_SCRATCH 0x001c 154 1.1 gdamore #define RADEON_BIOS_4_SCRATCH 0x0020 155 1.8 macallan # define RADEON_CRT1_ATTACHED_MASK (3 << 0) 156 1.8 macallan # define RADEON_CRT1_ATTACHED_MONO (1 << 0) 157 1.8 macallan # define RADEON_CRT1_ATTACHED_COLOR (2 << 0) 158 1.8 macallan # define RADEON_LCD1_ATTACHED (1 << 2) 159 1.8 macallan # define RADEON_DFP1_ATTACHED (1 << 3) 160 1.8 macallan # define RADEON_TV1_ATTACHED_MASK (3 << 4) 161 1.8 macallan # define RADEON_TV1_ATTACHED_COMP (1 << 4) 162 1.8 macallan # define RADEON_TV1_ATTACHED_SVIDEO (2 << 4) 163 1.8 macallan # define RADEON_CRT2_ATTACHED_MASK (3 << 8) 164 1.8 macallan # define RADEON_CRT2_ATTACHED_MONO (1 << 8) 165 1.8 macallan # define RADEON_CRT2_ATTACHED_COLOR (2 << 8) 166 1.8 macallan # define RADEON_DFP2_ATTACHED (1 << 11) 167 1.1 gdamore #define RADEON_BIOS_5_SCRATCH 0x0024 168 1.8 macallan # define RADEON_LCD1_ON (1 << 0) 169 1.8 macallan # define RADEON_CRT1_ON (1 << 1) 170 1.8 macallan # define RADEON_TV1_ON (1 << 2) 171 1.8 macallan # define RADEON_DFP1_ON (1 << 3) 172 1.8 macallan # define RADEON_CRT2_ON (1 << 5) 173 1.8 macallan # define RADEON_CV1_ON (1 << 6) 174 1.8 macallan # define RADEON_DFP2_ON (1 << 7) 175 1.8 macallan # define RADEON_LCD1_CRTC_MASK (1 << 8) 176 1.8 macallan # define RADEON_LCD1_CRTC_SHIFT 8 177 1.8 macallan # define RADEON_CRT1_CRTC_MASK (1 << 9) 178 1.8 macallan # define RADEON_CRT1_CRTC_SHIFT 9 179 1.8 macallan # define RADEON_TV1_CRTC_MASK (1 << 10) 180 1.8 macallan # define RADEON_TV1_CRTC_SHIFT 10 181 1.8 macallan # define RADEON_DFP1_CRTC_MASK (1 << 11) 182 1.8 macallan # define RADEON_DFP1_CRTC_SHIFT 11 183 1.8 macallan # define RADEON_CRT2_CRTC_MASK (1 << 12) 184 1.8 macallan # define RADEON_CRT2_CRTC_SHIFT 12 185 1.8 macallan # define RADEON_CV1_CRTC_MASK (1 << 13) 186 1.8 macallan # define RADEON_CV1_CRTC_SHIFT 13 187 1.8 macallan # define RADEON_DFP2_CRTC_MASK (1 << 14) 188 1.8 macallan # define RADEON_DFP2_CRTC_SHIFT 14 189 1.1 gdamore #define RADEON_BIOS_6_SCRATCH 0x0028 190 1.8 macallan # define RADEON_ACC_MODE_CHANGE (1 << 2) 191 1.8 macallan # define RADEON_EXT_DESKTOP_MODE (1 << 3) 192 1.8 macallan # define RADEON_LCD_DPMS_ON (1 << 20) 193 1.8 macallan # define RADEON_CRT_DPMS_ON (1 << 21) 194 1.8 macallan # define RADEON_TV_DPMS_ON (1 << 22) 195 1.8 macallan # define RADEON_DFP_DPMS_ON (1 << 23) 196 1.8 macallan # define RADEON_DPMS_MASK (3 << 24) 197 1.8 macallan # define RADEON_DPMS_ON (0 << 24) 198 1.8 macallan # define RADEON_DPMS_STANDBY (1 << 24) 199 1.8 macallan # define RADEON_DPMS_SUSPEND (2 << 24) 200 1.8 macallan # define RADEON_DPMS_OFF (3 << 24) 201 1.8 macallan # define RADEON_SCREEN_BLANKING (1 << 26) 202 1.8 macallan # define RADEON_DRIVER_CRITICAL (1 << 27) 203 1.8 macallan # define RADEON_DISPLAY_SWITCHING_DIS (1 << 30) 204 1.1 gdamore #define RADEON_BIOS_7_SCRATCH 0x002c 205 1.8 macallan # define RADEON_SYS_HOTKEY (1 << 10) 206 1.8 macallan # define RADEON_DRV_LOADED (1 << 12) 207 1.1 gdamore #define RADEON_BIOS_ROM 0x0f30 /* PCI */ 208 1.1 gdamore #define RADEON_BIST 0x0f0f /* PCI */ 209 1.1 gdamore #define RADEON_BRUSH_DATA0 0x1480 210 1.1 gdamore #define RADEON_BRUSH_DATA1 0x1484 211 1.1 gdamore #define RADEON_BRUSH_DATA10 0x14a8 212 1.1 gdamore #define RADEON_BRUSH_DATA11 0x14ac 213 1.1 gdamore #define RADEON_BRUSH_DATA12 0x14b0 214 1.1 gdamore #define RADEON_BRUSH_DATA13 0x14b4 215 1.1 gdamore #define RADEON_BRUSH_DATA14 0x14b8 216 1.1 gdamore #define RADEON_BRUSH_DATA15 0x14bc 217 1.1 gdamore #define RADEON_BRUSH_DATA16 0x14c0 218 1.1 gdamore #define RADEON_BRUSH_DATA17 0x14c4 219 1.1 gdamore #define RADEON_BRUSH_DATA18 0x14c8 220 1.1 gdamore #define RADEON_BRUSH_DATA19 0x14cc 221 1.1 gdamore #define RADEON_BRUSH_DATA2 0x1488 222 1.1 gdamore #define RADEON_BRUSH_DATA20 0x14d0 223 1.1 gdamore #define RADEON_BRUSH_DATA21 0x14d4 224 1.1 gdamore #define RADEON_BRUSH_DATA22 0x14d8 225 1.1 gdamore #define RADEON_BRUSH_DATA23 0x14dc 226 1.1 gdamore #define RADEON_BRUSH_DATA24 0x14e0 227 1.1 gdamore #define RADEON_BRUSH_DATA25 0x14e4 228 1.1 gdamore #define RADEON_BRUSH_DATA26 0x14e8 229 1.1 gdamore #define RADEON_BRUSH_DATA27 0x14ec 230 1.1 gdamore #define RADEON_BRUSH_DATA28 0x14f0 231 1.1 gdamore #define RADEON_BRUSH_DATA29 0x14f4 232 1.1 gdamore #define RADEON_BRUSH_DATA3 0x148c 233 1.1 gdamore #define RADEON_BRUSH_DATA30 0x14f8 234 1.1 gdamore #define RADEON_BRUSH_DATA31 0x14fc 235 1.1 gdamore #define RADEON_BRUSH_DATA32 0x1500 236 1.1 gdamore #define RADEON_BRUSH_DATA33 0x1504 237 1.1 gdamore #define RADEON_BRUSH_DATA34 0x1508 238 1.1 gdamore #define RADEON_BRUSH_DATA35 0x150c 239 1.1 gdamore #define RADEON_BRUSH_DATA36 0x1510 240 1.1 gdamore #define RADEON_BRUSH_DATA37 0x1514 241 1.1 gdamore #define RADEON_BRUSH_DATA38 0x1518 242 1.1 gdamore #define RADEON_BRUSH_DATA39 0x151c 243 1.1 gdamore #define RADEON_BRUSH_DATA4 0x1490 244 1.1 gdamore #define RADEON_BRUSH_DATA40 0x1520 245 1.1 gdamore #define RADEON_BRUSH_DATA41 0x1524 246 1.1 gdamore #define RADEON_BRUSH_DATA42 0x1528 247 1.1 gdamore #define RADEON_BRUSH_DATA43 0x152c 248 1.1 gdamore #define RADEON_BRUSH_DATA44 0x1530 249 1.1 gdamore #define RADEON_BRUSH_DATA45 0x1534 250 1.1 gdamore #define RADEON_BRUSH_DATA46 0x1538 251 1.1 gdamore #define RADEON_BRUSH_DATA47 0x153c 252 1.1 gdamore #define RADEON_BRUSH_DATA48 0x1540 253 1.1 gdamore #define RADEON_BRUSH_DATA49 0x1544 254 1.1 gdamore #define RADEON_BRUSH_DATA5 0x1494 255 1.1 gdamore #define RADEON_BRUSH_DATA50 0x1548 256 1.1 gdamore #define RADEON_BRUSH_DATA51 0x154c 257 1.1 gdamore #define RADEON_BRUSH_DATA52 0x1550 258 1.1 gdamore #define RADEON_BRUSH_DATA53 0x1554 259 1.1 gdamore #define RADEON_BRUSH_DATA54 0x1558 260 1.1 gdamore #define RADEON_BRUSH_DATA55 0x155c 261 1.1 gdamore #define RADEON_BRUSH_DATA56 0x1560 262 1.1 gdamore #define RADEON_BRUSH_DATA57 0x1564 263 1.1 gdamore #define RADEON_BRUSH_DATA58 0x1568 264 1.1 gdamore #define RADEON_BRUSH_DATA59 0x156c 265 1.1 gdamore #define RADEON_BRUSH_DATA6 0x1498 266 1.1 gdamore #define RADEON_BRUSH_DATA60 0x1570 267 1.1 gdamore #define RADEON_BRUSH_DATA61 0x1574 268 1.1 gdamore #define RADEON_BRUSH_DATA62 0x1578 269 1.1 gdamore #define RADEON_BRUSH_DATA63 0x157c 270 1.1 gdamore #define RADEON_BRUSH_DATA7 0x149c 271 1.1 gdamore #define RADEON_BRUSH_DATA8 0x14a0 272 1.1 gdamore #define RADEON_BRUSH_DATA9 0x14a4 273 1.1 gdamore #define RADEON_BRUSH_SCALE 0x1470 274 1.1 gdamore #define RADEON_BRUSH_Y_X 0x1474 275 1.1 gdamore #define RADEON_BUS_CNTL 0x0030 276 1.1 gdamore # define RADEON_BUS_MASTER_DIS (1 << 6) 277 1.8 macallan # define RADEON_BUS_BIOS_DIS_ROM (1 << 12) 278 1.1 gdamore # define RADEON_BUS_RD_DISCARD_EN (1 << 24) 279 1.1 gdamore # define RADEON_BUS_RD_ABORT_EN (1 << 25) 280 1.1 gdamore # define RADEON_BUS_MSTR_DISCONNECT_EN (1 << 28) 281 1.1 gdamore # define RADEON_BUS_WRT_BURST (1 << 29) 282 1.1 gdamore # define RADEON_BUS_READ_BURST (1 << 30) 283 1.1 gdamore # define RADEON_BUS_PREFETCH_MODE_DIS (0 << 8) 284 1.1 gdamore # define RADEON_BUS_PREFETCH_MODE_ACT (1 << 8) 285 1.1 gdamore # define RADEON_BUS_PREFETCH_MODE_CONT (2 << 8) 286 1.1 gdamore # define RADEON_BUS_PREFETCH_MODE_DLY (3 << 8) 287 1.1 gdamore # define RADEON_BUS_PCI_READ_RETRY_EN (1 << 13) 288 1.1 gdamore # define RADEON_BUS_AG_AD_STEPPING_EN (1 << 14) 289 1.1 gdamore # define RADEON_BUS_PCI_WRT_RETRY_EN (1 << 13) 290 1.1 gdamore # define RADEON_BUS_MSTR_RD_MULT (1 << 20) 291 1.1 gdamore # define RADEON_BUS_MSTR_RD_LINE (1 << 21) 292 1.1 gdamore # define RADEON_BUS_RETRY_WS_SHIFT 16 293 1.1 gdamore #define RADEON_BUS_CNTL1 0x0034 294 1.1 gdamore # define RADEON_BUS_WAIT_ON_LOCK_EN (1 << 4) 295 1.1 gdamore 296 1.8 macallan #define RADEON_PCIE_INDEX 0x0030 297 1.8 macallan #define RADEON_PCIE_DATA 0x0034 298 1.8 macallan #define R600_PCIE_PORT_INDEX 0x0038 299 1.8 macallan #define R600_PCIE_PORT_DATA 0x003c 300 1.8 macallan /* PCIE_LC_LINK_WIDTH_CNTL is PCIE on r1xx-r5xx, PCIE_PORT on r6xx-r7xx */ 301 1.8 macallan #define RADEON_PCIE_LC_LINK_WIDTH_CNTL 0xa2 /* PCIE */ 302 1.8 macallan # define RADEON_PCIE_LC_LINK_WIDTH_SHIFT 0 303 1.8 macallan # define RADEON_PCIE_LC_LINK_WIDTH_MASK 0x7 304 1.8 macallan # define RADEON_PCIE_LC_LINK_WIDTH_X0 0 305 1.8 macallan # define RADEON_PCIE_LC_LINK_WIDTH_X1 1 306 1.8 macallan # define RADEON_PCIE_LC_LINK_WIDTH_X2 2 307 1.8 macallan # define RADEON_PCIE_LC_LINK_WIDTH_X4 3 308 1.8 macallan # define RADEON_PCIE_LC_LINK_WIDTH_X8 4 309 1.8 macallan # define RADEON_PCIE_LC_LINK_WIDTH_X12 5 310 1.8 macallan # define RADEON_PCIE_LC_LINK_WIDTH_X16 6 311 1.8 macallan # define RADEON_PCIE_LC_LINK_WIDTH_RD_SHIFT 4 312 1.8 macallan # define RADEON_PCIE_LC_LINK_WIDTH_RD_MASK 0x70 313 1.8 macallan # define R600_PCIE_LC_RECONFIG_ARC_MISSING_ESCAPE (1 << 7) 314 1.8 macallan # define RADEON_PCIE_LC_RECONFIG_NOW (1 << 8) 315 1.8 macallan # define RADEON_PCIE_LC_RECONFIG_LATER (1 << 9) 316 1.8 macallan # define RADEON_PCIE_LC_SHORT_RECONFIG_EN (1 << 10) 317 1.8 macallan # define R600_PCIE_LC_RENEGOTIATE_EN (1 << 10) 318 1.8 macallan # define R600_PCIE_LC_SHORT_RECONFIG_EN (1 << 11) 319 1.8 macallan #define R600_TARGET_AND_CURRENT_PROFILE_INDEX 0x70c 320 1.8 macallan #define R700_TARGET_AND_CURRENT_PROFILE_INDEX 0x66c 321 1.8 macallan 322 1.1 gdamore #define RADEON_CACHE_CNTL 0x1724 323 1.1 gdamore #define RADEON_CACHE_LINE 0x0f0c /* PCI */ 324 1.1 gdamore #define RADEON_CAPABILITIES_ID 0x0f50 /* PCI */ 325 1.1 gdamore #define RADEON_CAPABILITIES_PTR 0x0f34 /* PCI */ 326 1.1 gdamore #define RADEON_CLK_PIN_CNTL 0x0001 /* PLL */ 327 1.8 macallan # define RADEON_DONT_USE_XTALIN (1 << 4) 328 1.1 gdamore # define RADEON_SCLK_DYN_START_CNTL (1 << 15) 329 1.1 gdamore #define RADEON_CLOCK_CNTL_DATA 0x000c 330 1.1 gdamore #define RADEON_CLOCK_CNTL_INDEX 0x0008 331 1.1 gdamore # define RADEON_PLL_WR_EN (1 << 7) 332 1.1 gdamore # define RADEON_PLL_DIV_SEL (3 << 8) 333 1.1 gdamore # define RADEON_PLL2_DIV_SEL_MASK ~(3 << 8) 334 1.8 macallan #define RADEON_M_SPLL_REF_FB_DIV 0x000a /* PLL */ 335 1.8 macallan # define RADEON_M_SPLL_REF_DIV_MASK 0xff 336 1.8 macallan # define RADEON_M_SPLL_REF_DIV_SHIFT 0 337 1.8 macallan # define RADEON_MPLL_FB_DIV_MASK 0xff 338 1.8 macallan # define RADEON_MPLL_FB_DIV_SHIFT 8 339 1.8 macallan # define RADEON_SPLL_FB_DIV_MASK 0xff 340 1.8 macallan # define RADEON_SPLL_FB_DIV_SHIFT 16 341 1.8 macallan #define RADEON_SPLL_CNTL 0x000c /* PLL */ 342 1.8 macallan # define RADEON_SPLL_SLEEP (1 << 0) 343 1.8 macallan # define RADEON_SPLL_RESET (1 << 1) 344 1.8 macallan # define RADEON_SPLL_PCP_MASK 0x7 345 1.8 macallan # define RADEON_SPLL_PCP_SHIFT 8 346 1.8 macallan # define RADEON_SPLL_PVG_MASK 0x7 347 1.8 macallan # define RADEON_SPLL_PVG_SHIFT 11 348 1.8 macallan # define RADEON_SPLL_PDC_MASK 0x3 349 1.8 macallan # define RADEON_SPLL_PDC_SHIFT 14 350 1.8 macallan #define RADEON_CLK_PWRMGT_CNTL 0x0014 /* PLL */ 351 1.1 gdamore # define RADEON_ENGIN_DYNCLK_MODE (1 << 12) 352 1.1 gdamore # define RADEON_ACTIVE_HILO_LAT_MASK (3 << 13) 353 1.1 gdamore # define RADEON_ACTIVE_HILO_LAT_SHIFT 13 354 1.1 gdamore # define RADEON_DISP_DYN_STOP_LAT_MASK (1 << 12) 355 1.8 macallan # define RADEON_MC_BUSY (1 << 16) 356 1.8 macallan # define RADEON_DLL_READY (1 << 19) 357 1.1 gdamore # define RADEON_CLK_PWRMGT_CNTL24 (1 << 24) 358 1.8 macallan # define RADEON_CG_NO1_DEBUG_0 (1 << 24) 359 1.8 macallan # define RADEON_CG_NO1_DEBUG_MASK (0x1f << 24) 360 1.1 gdamore # define RADEON_DYN_STOP_MODE_MASK (7 << 21) 361 1.8 macallan # define RADEON_TVPLL_PWRMGT_OFF (1 << 30) 362 1.8 macallan # define RADEON_TVCLK_TURNOFF (1 << 31) 363 1.8 macallan #define RADEON_PLL_PWRMGT_CNTL 0x0015 /* PLL */ 364 1.1 gdamore # define RADEON_TCL_BYPASS_DISABLE (1 << 20) 365 1.1 gdamore #define RADEON_CLR_CMP_CLR_3D 0x1a24 366 1.1 gdamore #define RADEON_CLR_CMP_CLR_DST 0x15c8 367 1.1 gdamore #define RADEON_CLR_CMP_CLR_SRC 0x15c4 368 1.1 gdamore #define RADEON_CLR_CMP_CNTL 0x15c0 369 1.1 gdamore # define RADEON_SRC_CMP_EQ_COLOR (4 << 0) 370 1.1 gdamore # define RADEON_SRC_CMP_NEQ_COLOR (5 << 0) 371 1.1 gdamore # define RADEON_CLR_CMP_SRC_SOURCE (1 << 24) 372 1.1 gdamore #define RADEON_CLR_CMP_MASK 0x15cc 373 1.1 gdamore # define RADEON_CLR_CMP_MSK 0xffffffff 374 1.1 gdamore #define RADEON_CLR_CMP_MASK_3D 0x1A28 375 1.1 gdamore #define RADEON_COMMAND 0x0f04 /* PCI */ 376 1.1 gdamore #define RADEON_COMPOSITE_SHADOW_ID 0x1a0c 377 1.1 gdamore #define RADEON_CONFIG_APER_0_BASE 0x0100 378 1.1 gdamore #define RADEON_CONFIG_APER_1_BASE 0x0104 379 1.1 gdamore #define RADEON_CONFIG_APER_SIZE 0x0108 380 1.1 gdamore #define RADEON_CONFIG_BONDS 0x00e8 381 1.1 gdamore #define RADEON_CONFIG_CNTL 0x00e0 382 1.1 gdamore # define RADEON_CFG_ATI_REV_A11 (0 << 16) 383 1.1 gdamore # define RADEON_CFG_ATI_REV_A12 (1 << 16) 384 1.1 gdamore # define RADEON_CFG_ATI_REV_A13 (2 << 16) 385 1.1 gdamore # define RADEON_CFG_ATI_REV_ID_MASK (0xf << 16) 386 1.1 gdamore #define RADEON_CONFIG_MEMSIZE 0x00f8 387 1.1 gdamore #define RADEON_CONFIG_MEMSIZE_EMBEDDED 0x0114 388 1.1 gdamore #define RADEON_CONFIG_REG_1_BASE 0x010c 389 1.1 gdamore #define RADEON_CONFIG_REG_APER_SIZE 0x0110 390 1.1 gdamore #define RADEON_CONFIG_XSTRAP 0x00e4 391 1.1 gdamore #define RADEON_CONSTANT_COLOR_C 0x1d34 392 1.1 gdamore # define RADEON_CONSTANT_COLOR_MASK 0x00ffffff 393 1.1 gdamore # define RADEON_CONSTANT_COLOR_ONE 0x00ffffff 394 1.1 gdamore # define RADEON_CONSTANT_COLOR_ZERO 0x00000000 395 1.1 gdamore #define RADEON_CRC_CMDFIFO_ADDR 0x0740 396 1.1 gdamore #define RADEON_CRC_CMDFIFO_DOUT 0x0744 397 1.1 gdamore #define RADEON_GRPH_BUFFER_CNTL 0x02f0 398 1.1 gdamore # define RADEON_GRPH_START_REQ_MASK (0x7f) 399 1.1 gdamore # define RADEON_GRPH_START_REQ_SHIFT 0 400 1.1 gdamore # define RADEON_GRPH_STOP_REQ_MASK (0x7f<<8) 401 1.1 gdamore # define RADEON_GRPH_STOP_REQ_SHIFT 8 402 1.1 gdamore # define RADEON_GRPH_CRITICAL_POINT_MASK (0x7f<<16) 403 1.1 gdamore # define RADEON_GRPH_CRITICAL_POINT_SHIFT 16 404 1.1 gdamore # define RADEON_GRPH_CRITICAL_CNTL (1<<28) 405 1.1 gdamore # define RADEON_GRPH_BUFFER_SIZE (1<<29) 406 1.1 gdamore # define RADEON_GRPH_CRITICAL_AT_SOF (1<<30) 407 1.1 gdamore # define RADEON_GRPH_STOP_CNTL (1<<31) 408 1.1 gdamore #define RADEON_GRPH2_BUFFER_CNTL 0x03f0 409 1.1 gdamore # define RADEON_GRPH2_START_REQ_MASK (0x7f) 410 1.1 gdamore # define RADEON_GRPH2_START_REQ_SHIFT 0 411 1.1 gdamore # define RADEON_GRPH2_STOP_REQ_MASK (0x7f<<8) 412 1.1 gdamore # define RADEON_GRPH2_STOP_REQ_SHIFT 8 413 1.1 gdamore # define RADEON_GRPH2_CRITICAL_POINT_MASK (0x7f<<16) 414 1.1 gdamore # define RADEON_GRPH2_CRITICAL_POINT_SHIFT 16 415 1.1 gdamore # define RADEON_GRPH2_CRITICAL_CNTL (1<<28) 416 1.1 gdamore # define RADEON_GRPH2_BUFFER_SIZE (1<<29) 417 1.1 gdamore # define RADEON_GRPH2_CRITICAL_AT_SOF (1<<30) 418 1.1 gdamore # define RADEON_GRPH2_STOP_CNTL (1<<31) 419 1.1 gdamore #define RADEON_CRTC_CRNT_FRAME 0x0214 420 1.1 gdamore #define RADEON_CRTC_EXT_CNTL 0x0054 421 1.1 gdamore # define RADEON_CRTC_VGA_XOVERSCAN (1 << 0) 422 1.1 gdamore # define RADEON_VGA_ATI_LINEAR (1 << 3) 423 1.1 gdamore # define RADEON_XCRT_CNT_EN (1 << 6) 424 1.1 gdamore # define RADEON_CRTC_HSYNC_DIS (1 << 8) 425 1.1 gdamore # define RADEON_CRTC_VSYNC_DIS (1 << 9) 426 1.1 gdamore # define RADEON_CRTC_DISPLAY_DIS (1 << 10) 427 1.1 gdamore # define RADEON_CRTC_SYNC_TRISTAT (1 << 11) 428 1.1 gdamore # define RADEON_CRTC_HSYNC_TRISTAT (1 << 12) 429 1.1 gdamore # define RADEON_CRTC_VSYNC_TRISTAT (1 << 13) 430 1.1 gdamore # define RADEON_CRTC_CRT_ON (1 << 15) 431 1.1 gdamore #define RADEON_CRTC_EXT_CNTL_DPMS_BYTE 0x0055 432 1.1 gdamore # define RADEON_CRTC_HSYNC_DIS_BYTE (1 << 0) 433 1.1 gdamore # define RADEON_CRTC_VSYNC_DIS_BYTE (1 << 1) 434 1.1 gdamore # define RADEON_CRTC_DISPLAY_DIS_BYTE (1 << 2) 435 1.1 gdamore #define RADEON_CRTC_GEN_CNTL 0x0050 436 1.1 gdamore # define RADEON_CRTC_DBL_SCAN_EN (1 << 0) 437 1.1 gdamore # define RADEON_CRTC_INTERLACE_EN (1 << 1) 438 1.1 gdamore # define RADEON_CRTC_CSYNC_EN (1 << 4) 439 1.1 gdamore # define RADEON_CRTC_PIX_WIDTH_SHIFT 8 440 1.1 gdamore # define RADEON_CRTC_PIX_WIDTH_8BPP (2 << 8) 441 1.1 gdamore # define RADEON_CRTC_PIX_WIDTH_32BPP (6 << 8) 442 1.1 gdamore # define RADEON_CRTC_PIX_WIDTH_MASK (f << 8) 443 1.8 macallan # define RADEON_CRTC_ICON_EN (1 << 15) 444 1.1 gdamore # define RADEON_CRTC_CUR_EN (1 << 16) 445 1.8 macallan # define RADEON_CRTC_CUR_MODE_MASK (7 << 20) 446 1.1 gdamore # define RADEON_CRTC_EXT_DISP_EN (1 << 24) 447 1.1 gdamore # define RADEON_CRTC_EN (1 << 25) 448 1.1 gdamore # define RADEON_CRTC_DISP_REQ_EN_B (1 << 26) 449 1.1 gdamore #define RADEON_CRTC2_GEN_CNTL 0x03f8 450 1.1 gdamore # define RADEON_CRTC2_DBL_SCAN_EN (1 << 0) 451 1.1 gdamore # define RADEON_CRTC2_INTERLACE_EN (1 << 1) 452 1.1 gdamore # define RADEON_CRTC2_SYNC_TRISTAT (1 << 4) 453 1.1 gdamore # define RADEON_CRTC2_HSYNC_TRISTAT (1 << 5) 454 1.1 gdamore # define RADEON_CRTC2_VSYNC_TRISTAT (1 << 6) 455 1.1 gdamore # define RADEON_CRTC2_CRT2_ON (1 << 7) 456 1.8 macallan # define RADEON_CRTC2_PIX_WIDTH_SHIFT 8 457 1.8 macallan # define RADEON_CRTC2_PIX_WIDTH_MASK (0xf << 8) 458 1.1 gdamore # define RADEON_CRTC2_ICON_EN (1 << 15) 459 1.1 gdamore # define RADEON_CRTC2_CUR_EN (1 << 16) 460 1.1 gdamore # define RADEON_CRTC2_CUR_MODE_MASK (7 << 20) 461 1.1 gdamore # define RADEON_CRTC2_DISP_DIS (1 << 23) 462 1.1 gdamore # define RADEON_CRTC2_EN (1 << 25) 463 1.1 gdamore # define RADEON_CRTC2_DISP_REQ_EN_B (1 << 26) 464 1.1 gdamore # define RADEON_CRTC2_CSYNC_EN (1 << 27) 465 1.1 gdamore # define RADEON_CRTC2_HSYNC_DIS (1 << 28) 466 1.1 gdamore # define RADEON_CRTC2_VSYNC_DIS (1 << 29) 467 1.1 gdamore #define RADEON_CRTC_MORE_CNTL 0x27c 468 1.8 macallan # define RADEON_CRTC_AUTO_HORZ_CENTER_EN (1<<2) 469 1.8 macallan # define RADEON_CRTC_AUTO_VERT_CENTER_EN (1<<3) 470 1.8 macallan # define RADEON_CRTC_H_CUTOFF_ACTIVE_EN (1<<4) 471 1.8 macallan # define RADEON_CRTC_V_CUTOFF_ACTIVE_EN (1<<5) 472 1.1 gdamore #define RADEON_CRTC_GUI_TRIG_VLINE 0x0218 473 1.8 macallan # define RADEON_CRTC_GUI_TRIG_VLINE_START_SHIFT 0 474 1.8 macallan # define RADEON_CRTC_GUI_TRIG_VLINE_INV (1 << 15) 475 1.8 macallan # define RADEON_CRTC_GUI_TRIG_VLINE_END_SHIFT 16 476 1.8 macallan # define RADEON_CRTC_GUI_TRIG_VLINE_STALL (1 << 30) 477 1.1 gdamore #define RADEON_CRTC_H_SYNC_STRT_WID 0x0204 478 1.1 gdamore # define RADEON_CRTC_H_SYNC_STRT_PIX (0x07 << 0) 479 1.1 gdamore # define RADEON_CRTC_H_SYNC_STRT_CHAR (0x3ff << 3) 480 1.1 gdamore # define RADEON_CRTC_H_SYNC_STRT_CHAR_SHIFT 3 481 1.1 gdamore # define RADEON_CRTC_H_SYNC_WID (0x3f << 16) 482 1.1 gdamore # define RADEON_CRTC_H_SYNC_WID_SHIFT 16 483 1.1 gdamore # define RADEON_CRTC_H_SYNC_POL (1 << 23) 484 1.1 gdamore #define RADEON_CRTC2_H_SYNC_STRT_WID 0x0304 485 1.1 gdamore # define RADEON_CRTC2_H_SYNC_STRT_PIX (0x07 << 0) 486 1.1 gdamore # define RADEON_CRTC2_H_SYNC_STRT_CHAR (0x3ff << 3) 487 1.1 gdamore # define RADEON_CRTC2_H_SYNC_STRT_CHAR_SHIFT 3 488 1.1 gdamore # define RADEON_CRTC2_H_SYNC_WID (0x3f << 16) 489 1.1 gdamore # define RADEON_CRTC2_H_SYNC_WID_SHIFT 16 490 1.1 gdamore # define RADEON_CRTC2_H_SYNC_POL (1 << 23) 491 1.1 gdamore #define RADEON_CRTC_H_TOTAL_DISP 0x0200 492 1.1 gdamore # define RADEON_CRTC_H_TOTAL (0x03ff << 0) 493 1.1 gdamore # define RADEON_CRTC_H_TOTAL_SHIFT 0 494 1.1 gdamore # define RADEON_CRTC_H_DISP (0x01ff << 16) 495 1.1 gdamore # define RADEON_CRTC_H_DISP_SHIFT 16 496 1.1 gdamore #define RADEON_CRTC2_H_TOTAL_DISP 0x0300 497 1.1 gdamore # define RADEON_CRTC2_H_TOTAL (0x03ff << 0) 498 1.1 gdamore # define RADEON_CRTC2_H_TOTAL_SHIFT 0 499 1.1 gdamore # define RADEON_CRTC2_H_DISP (0x01ff << 16) 500 1.1 gdamore # define RADEON_CRTC2_H_DISP_SHIFT 16 501 1.8 macallan 502 1.8 macallan #define RADEON_CRTC_OFFSET_RIGHT 0x0220 503 1.1 gdamore #define RADEON_CRTC_OFFSET 0x0224 504 1.8 macallan # define RADEON_CRTC_OFFSET__GUI_TRIG_OFFSET (1<<30) 505 1.8 macallan # define RADEON_CRTC_OFFSET__OFFSET_LOCK (1<<31) 506 1.8 macallan 507 1.1 gdamore #define RADEON_CRTC2_OFFSET 0x0324 508 1.8 macallan # define RADEON_CRTC2_OFFSET__GUI_TRIG_OFFSET (1<<30) 509 1.8 macallan # define RADEON_CRTC2_OFFSET__OFFSET_LOCK (1<<31) 510 1.1 gdamore #define RADEON_CRTC_OFFSET_CNTL 0x0228 511 1.8 macallan # define RADEON_CRTC_TILE_LINE_SHIFT 0 512 1.8 macallan # define RADEON_CRTC_TILE_LINE_RIGHT_SHIFT 4 513 1.8 macallan # define R300_CRTC_X_Y_MODE_EN_RIGHT (1 << 6) 514 1.8 macallan # define R300_CRTC_MICRO_TILE_BUFFER_RIGHT_MASK (3 << 7) 515 1.8 macallan # define R300_CRTC_MICRO_TILE_BUFFER_RIGHT_AUTO (0 << 7) 516 1.8 macallan # define R300_CRTC_MICRO_TILE_BUFFER_RIGHT_SINGLE (1 << 7) 517 1.8 macallan # define R300_CRTC_MICRO_TILE_BUFFER_RIGHT_DOUBLE (2 << 7) 518 1.8 macallan # define R300_CRTC_MICRO_TILE_BUFFER_RIGHT_DIS (3 << 7) 519 1.8 macallan # define R300_CRTC_X_Y_MODE_EN (1 << 9) 520 1.8 macallan # define R300_CRTC_MICRO_TILE_BUFFER_MASK (3 << 10) 521 1.8 macallan # define R300_CRTC_MICRO_TILE_BUFFER_AUTO (0 << 10) 522 1.8 macallan # define R300_CRTC_MICRO_TILE_BUFFER_SINGLE (1 << 10) 523 1.8 macallan # define R300_CRTC_MICRO_TILE_BUFFER_DOUBLE (2 << 10) 524 1.8 macallan # define R300_CRTC_MICRO_TILE_BUFFER_DIS (3 << 10) 525 1.8 macallan # define R300_CRTC_MICRO_TILE_EN_RIGHT (1 << 12) 526 1.8 macallan # define R300_CRTC_MICRO_TILE_EN (1 << 13) 527 1.8 macallan # define R300_CRTC_MACRO_TILE_EN_RIGHT (1 << 14) 528 1.8 macallan # define R300_CRTC_MACRO_TILE_EN (1 << 15) 529 1.8 macallan # define RADEON_CRTC_TILE_EN_RIGHT (1 << 14) 530 1.8 macallan # define RADEON_CRTC_TILE_EN (1 << 15) 531 1.8 macallan # define RADEON_CRTC_OFFSET_FLIP_CNTL (1 << 16) 532 1.8 macallan # define RADEON_CRTC_STEREO_OFFSET_EN (1 << 17) 533 1.8 macallan 534 1.8 macallan #define R300_CRTC_TILE_X0_Y0 0x0350 535 1.8 macallan #define R300_CRTC2_TILE_X0_Y0 0x0358 536 1.8 macallan 537 1.1 gdamore #define RADEON_CRTC2_OFFSET_CNTL 0x0328 538 1.8 macallan # define RADEON_CRTC2_OFFSET_FLIP_CNTL (1 << 16) 539 1.1 gdamore # define RADEON_CRTC2_TILE_EN (1 << 15) 540 1.1 gdamore #define RADEON_CRTC_PITCH 0x022c 541 1.8 macallan # define RADEON_CRTC_PITCH__SHIFT 0 542 1.8 macallan # define RADEON_CRTC_PITCH__RIGHT_SHIFT 16 543 1.8 macallan 544 1.1 gdamore #define RADEON_CRTC2_PITCH 0x032c 545 1.1 gdamore #define RADEON_CRTC_STATUS 0x005c 546 1.1 gdamore # define RADEON_CRTC_VBLANK_SAVE (1 << 1) 547 1.1 gdamore # define RADEON_CRTC_VBLANK_SAVE_CLEAR (1 << 1) 548 1.1 gdamore #define RADEON_CRTC2_STATUS 0x03fc 549 1.1 gdamore # define RADEON_CRTC2_VBLANK_SAVE (1 << 1) 550 1.1 gdamore # define RADEON_CRTC2_VBLANK_SAVE_CLEAR (1 << 1) 551 1.1 gdamore #define RADEON_CRTC_V_SYNC_STRT_WID 0x020c 552 1.1 gdamore # define RADEON_CRTC_V_SYNC_STRT (0x7ff << 0) 553 1.1 gdamore # define RADEON_CRTC_V_SYNC_STRT_SHIFT 0 554 1.1 gdamore # define RADEON_CRTC_V_SYNC_WID (0x1f << 16) 555 1.1 gdamore # define RADEON_CRTC_V_SYNC_WID_SHIFT 16 556 1.1 gdamore # define RADEON_CRTC_V_SYNC_POL (1 << 23) 557 1.1 gdamore #define RADEON_CRTC2_V_SYNC_STRT_WID 0x030c 558 1.1 gdamore # define RADEON_CRTC2_V_SYNC_STRT (0x7ff << 0) 559 1.1 gdamore # define RADEON_CRTC2_V_SYNC_STRT_SHIFT 0 560 1.1 gdamore # define RADEON_CRTC2_V_SYNC_WID (0x1f << 16) 561 1.1 gdamore # define RADEON_CRTC2_V_SYNC_WID_SHIFT 16 562 1.1 gdamore # define RADEON_CRTC2_V_SYNC_POL (1 << 23) 563 1.1 gdamore #define RADEON_CRTC_V_TOTAL_DISP 0x0208 564 1.1 gdamore # define RADEON_CRTC_V_TOTAL (0x07ff << 0) 565 1.1 gdamore # define RADEON_CRTC_V_TOTAL_SHIFT 0 566 1.1 gdamore # define RADEON_CRTC_V_DISP (0x07ff << 16) 567 1.1 gdamore # define RADEON_CRTC_V_DISP_SHIFT 16 568 1.1 gdamore #define RADEON_CRTC2_V_TOTAL_DISP 0x0308 569 1.1 gdamore # define RADEON_CRTC2_V_TOTAL (0x07ff << 0) 570 1.1 gdamore # define RADEON_CRTC2_V_TOTAL_SHIFT 0 571 1.1 gdamore # define RADEON_CRTC2_V_DISP (0x07ff << 16) 572 1.1 gdamore # define RADEON_CRTC2_V_DISP_SHIFT 16 573 1.1 gdamore #define RADEON_CRTC_VLINE_CRNT_VLINE 0x0210 574 1.1 gdamore # define RADEON_CRTC_CRNT_VLINE_MASK (0x7ff << 16) 575 1.1 gdamore #define RADEON_CRTC2_CRNT_FRAME 0x0314 576 1.1 gdamore #define RADEON_CRTC2_GUI_TRIG_VLINE 0x0318 577 1.1 gdamore #define RADEON_CRTC2_STATUS 0x03fc 578 1.1 gdamore #define RADEON_CRTC2_VLINE_CRNT_VLINE 0x0310 579 1.1 gdamore #define RADEON_CRTC8_DATA 0x03d5 /* VGA, 0x3b5 */ 580 1.1 gdamore #define RADEON_CRTC8_IDX 0x03d4 /* VGA, 0x3b4 */ 581 1.1 gdamore #define RADEON_CUR_CLR0 0x026c 582 1.1 gdamore #define RADEON_CUR_CLR1 0x0270 583 1.1 gdamore #define RADEON_CUR_HORZ_VERT_OFF 0x0268 584 1.1 gdamore #define RADEON_CUR_HORZ_VERT_POSN 0x0264 585 1.1 gdamore #define RADEON_CUR_OFFSET 0x0260 586 1.1 gdamore # define RADEON_CUR_LOCK (1 << 31) 587 1.1 gdamore #define RADEON_CUR2_CLR0 0x036c 588 1.1 gdamore #define RADEON_CUR2_CLR1 0x0370 589 1.1 gdamore #define RADEON_CUR2_HORZ_VERT_OFF 0x0368 590 1.1 gdamore #define RADEON_CUR2_HORZ_VERT_POSN 0x0364 591 1.1 gdamore #define RADEON_CUR2_OFFSET 0x0360 592 1.1 gdamore # define RADEON_CUR2_LOCK (1 << 31) 593 1.1 gdamore 594 1.1 gdamore #define RADEON_DAC_CNTL 0x0058 595 1.1 gdamore # define RADEON_DAC_RANGE_CNTL (3 << 0) 596 1.8 macallan # define RADEON_DAC_RANGE_CNTL_PS2 (2 << 0) 597 1.1 gdamore # define RADEON_DAC_RANGE_CNTL_MASK 0x03 598 1.1 gdamore # define RADEON_DAC_BLANKING (1 << 2) 599 1.1 gdamore # define RADEON_DAC_CMP_EN (1 << 3) 600 1.1 gdamore # define RADEON_DAC_CMP_OUTPUT (1 << 7) 601 1.1 gdamore # define RADEON_DAC_8BIT_EN (1 << 8) 602 1.8 macallan # define RADEON_DAC_TVO_EN (1 << 10) 603 1.1 gdamore # define RADEON_DAC_VGA_ADR_EN (1 << 13) 604 1.1 gdamore # define RADEON_DAC_PDWN (1 << 15) 605 1.1 gdamore # define RADEON_DAC_MASK_ALL (0xff << 24) 606 1.1 gdamore #define RADEON_DAC_CNTL2 0x007c 607 1.8 macallan # define RADEON_DAC2_TV_CLK_SEL (0 << 1) 608 1.1 gdamore # define RADEON_DAC2_DAC_CLK_SEL (1 << 0) 609 1.1 gdamore # define RADEON_DAC2_DAC2_CLK_SEL (1 << 1) 610 1.1 gdamore # define RADEON_DAC2_PALETTE_ACC_CTL (1 << 5) 611 1.8 macallan # define RADEON_DAC2_CMP_EN (1 << 7) 612 1.8 macallan # define RADEON_DAC2_CMP_OUT_R (1 << 8) 613 1.8 macallan # define RADEON_DAC2_CMP_OUT_G (1 << 9) 614 1.8 macallan # define RADEON_DAC2_CMP_OUT_B (1 << 10) 615 1.8 macallan # define RADEON_DAC2_CMP_OUTPUT (1 << 11) 616 1.1 gdamore #define RADEON_DAC_EXT_CNTL 0x0280 617 1.8 macallan # define RADEON_DAC2_FORCE_BLANK_OFF_EN (1 << 0) 618 1.8 macallan # define RADEON_DAC2_FORCE_DATA_EN (1 << 1) 619 1.8 macallan # define RADEON_DAC_FORCE_BLANK_OFF_EN (1 << 4) 620 1.8 macallan # define RADEON_DAC_FORCE_DATA_EN (1 << 5) 621 1.1 gdamore # define RADEON_DAC_FORCE_DATA_SEL_MASK (3 << 6) 622 1.8 macallan # define RADEON_DAC_FORCE_DATA_SEL_R (0 << 6) 623 1.8 macallan # define RADEON_DAC_FORCE_DATA_SEL_G (1 << 6) 624 1.8 macallan # define RADEON_DAC_FORCE_DATA_SEL_B (2 << 6) 625 1.8 macallan # define RADEON_DAC_FORCE_DATA_SEL_RGB (3 << 6) 626 1.1 gdamore # define RADEON_DAC_FORCE_DATA_MASK 0x0003ff00 627 1.1 gdamore # define RADEON_DAC_FORCE_DATA_SHIFT 8 628 1.1 gdamore #define RADEON_DAC_MACRO_CNTL 0x0d04 629 1.1 gdamore # define RADEON_DAC_PDWN_R (1 << 16) 630 1.1 gdamore # define RADEON_DAC_PDWN_G (1 << 17) 631 1.1 gdamore # define RADEON_DAC_PDWN_B (1 << 18) 632 1.1 gdamore #define RADEON_TV_DAC_CNTL 0x088c 633 1.8 macallan # define RADEON_TV_DAC_NBLANK (1 << 0) 634 1.8 macallan # define RADEON_TV_DAC_NHOLD (1 << 1) 635 1.8 macallan # define RADEON_TV_DAC_PEDESTAL (1 << 2) 636 1.8 macallan # define RADEON_TV_MONITOR_DETECT_EN (1 << 4) 637 1.8 macallan # define RADEON_TV_DAC_CMPOUT (1 << 5) 638 1.8 macallan # define RADEON_TV_DAC_STD_MASK (3 << 8) 639 1.8 macallan # define RADEON_TV_DAC_STD_PAL (0 << 8) 640 1.8 macallan # define RADEON_TV_DAC_STD_NTSC (1 << 8) 641 1.8 macallan # define RADEON_TV_DAC_STD_PS2 (2 << 8) 642 1.8 macallan # define RADEON_TV_DAC_STD_RS343 (3 << 8) 643 1.1 gdamore # define RADEON_TV_DAC_BGSLEEP (1 << 6) 644 1.8 macallan # define RADEON_TV_DAC_BGADJ_MASK (0xf << 16) 645 1.8 macallan # define RADEON_TV_DAC_BGADJ_SHIFT 16 646 1.8 macallan # define RADEON_TV_DAC_DACADJ_MASK (0xf << 20) 647 1.8 macallan # define RADEON_TV_DAC_DACADJ_SHIFT 20 648 1.1 gdamore # define RADEON_TV_DAC_RDACPD (1 << 24) 649 1.1 gdamore # define RADEON_TV_DAC_GDACPD (1 << 25) 650 1.1 gdamore # define RADEON_TV_DAC_BDACPD (1 << 26) 651 1.8 macallan # define RADEON_TV_DAC_RDACDET (1 << 29) 652 1.8 macallan # define RADEON_TV_DAC_GDACDET (1 << 30) 653 1.8 macallan # define RADEON_TV_DAC_BDACDET (1 << 31) 654 1.8 macallan # define R420_TV_DAC_DACADJ_MASK (0x1f << 20) 655 1.8 macallan # define R420_TV_DAC_RDACPD (1 << 25) 656 1.8 macallan # define R420_TV_DAC_GDACPD (1 << 26) 657 1.8 macallan # define R420_TV_DAC_BDACPD (1 << 27) 658 1.8 macallan # define R420_TV_DAC_TVENABLE (1 << 28) 659 1.1 gdamore #define RADEON_DISP_HW_DEBUG 0x0d14 660 1.1 gdamore # define RADEON_CRT2_DISP1_SEL (1 << 5) 661 1.1 gdamore #define RADEON_DISP_OUTPUT_CNTL 0x0d64 662 1.1 gdamore # define RADEON_DISP_DAC_SOURCE_MASK 0x03 663 1.1 gdamore # define RADEON_DISP_DAC2_SOURCE_MASK 0x0c 664 1.1 gdamore # define RADEON_DISP_DAC_SOURCE_CRTC2 0x01 665 1.8 macallan # define RADEON_DISP_DAC_SOURCE_RMX 0x02 666 1.8 macallan # define RADEON_DISP_DAC_SOURCE_LTU 0x03 667 1.1 gdamore # define RADEON_DISP_DAC2_SOURCE_CRTC2 0x04 668 1.8 macallan # define RADEON_DISP_TVDAC_SOURCE_MASK (0x03 << 2) 669 1.8 macallan # define RADEON_DISP_TVDAC_SOURCE_CRTC 0x0 670 1.8 macallan # define RADEON_DISP_TVDAC_SOURCE_CRTC2 (0x01 << 2) 671 1.8 macallan # define RADEON_DISP_TVDAC_SOURCE_RMX (0x02 << 2) 672 1.8 macallan # define RADEON_DISP_TVDAC_SOURCE_LTU (0x03 << 2) 673 1.8 macallan # define RADEON_DISP_TRANS_MATRIX_MASK (0x03 << 4) 674 1.8 macallan # define RADEON_DISP_TRANS_MATRIX_ALPHA_MSB (0x00 << 4) 675 1.8 macallan # define RADEON_DISP_TRANS_MATRIX_GRAPHICS (0x01 << 4) 676 1.8 macallan # define RADEON_DISP_TRANS_MATRIX_VIDEO (0x02 << 4) 677 1.8 macallan # define RADEON_DISP_TV_SOURCE_CRTC (1 << 16) /* crtc1 or crtc2 */ 678 1.8 macallan # define RADEON_DISP_TV_SOURCE_LTU (0 << 16) /* linear transform unit */ 679 1.8 macallan #define RADEON_DISP_TV_OUT_CNTL 0x0d6c 680 1.8 macallan # define RADEON_DISP_TV_PATH_SRC_CRTC2 (1 << 16) 681 1.8 macallan # define RADEON_DISP_TV_PATH_SRC_CRTC1 (0 << 16) 682 1.1 gdamore #define RADEON_DAC_CRC_SIG 0x02cc 683 1.1 gdamore #define RADEON_DAC_DATA 0x03c9 /* VGA */ 684 1.1 gdamore #define RADEON_DAC_MASK 0x03c6 /* VGA */ 685 1.1 gdamore #define RADEON_DAC_R_INDEX 0x03c7 /* VGA */ 686 1.1 gdamore #define RADEON_DAC_W_INDEX 0x03c8 /* VGA */ 687 1.1 gdamore #define RADEON_DDA_CONFIG 0x02e0 688 1.1 gdamore #define RADEON_DDA_ON_OFF 0x02e4 689 1.8 macallan #define RADEON_DEFAULT_OFFSET 0x16e0 690 1.1 gdamore #define RADEON_DEFAULT_PITCH_OFFSET 0x16e0 691 1.8 macallan #define RADEON_DEFAULT_PITCH 0x16e4 692 1.1 gdamore #define RADEON_DEFAULT_SC_BOTTOM_RIGHT 0x16e8 693 1.1 gdamore # define RADEON_DEFAULT_SC_RIGHT_MAX (0x1fff << 0) 694 1.1 gdamore # define RADEON_DEFAULT_SC_BOTTOM_MAX (0x1fff << 16) 695 1.1 gdamore #define RADEON_DESTINATION_3D_CLR_CMP_VAL 0x1820 696 1.1 gdamore #define RADEON_DESTINATION_3D_CLR_CMP_MSK 0x1824 697 1.1 gdamore #define RADEON_DEVICE_ID 0x0f02 /* PCI */ 698 1.1 gdamore #define RADEON_DISP_MISC_CNTL 0x0d00 699 1.1 gdamore # define RADEON_SOFT_RESET_GRPH_PP (1 << 0) 700 1.1 gdamore #define RADEON_DISP_MERGE_CNTL 0x0d60 701 1.1 gdamore # define RADEON_DISP_ALPHA_MODE_MASK 0x03 702 1.1 gdamore # define RADEON_DISP_ALPHA_MODE_KEY 0 703 1.1 gdamore # define RADEON_DISP_ALPHA_MODE_PER_PIXEL 1 704 1.1 gdamore # define RADEON_DISP_ALPHA_MODE_GLOBAL 2 705 1.8 macallan # define RADEON_DISP_RGB_OFFSET_EN (1 << 8) 706 1.1 gdamore # define RADEON_DISP_GRPH_ALPHA_MASK (0xff << 16) 707 1.1 gdamore # define RADEON_DISP_OV0_ALPHA_MASK (0xff << 24) 708 1.1 gdamore # define RADEON_DISP_LIN_TRANS_BYPASS (0x01 << 9) 709 1.1 gdamore #define RADEON_DISP2_MERGE_CNTL 0x0d68 710 1.8 macallan # define RADEON_DISP2_RGB_OFFSET_EN (1 << 8) 711 1.1 gdamore #define RADEON_DISP_LIN_TRANS_GRPH_A 0x0d80 712 1.1 gdamore #define RADEON_DISP_LIN_TRANS_GRPH_B 0x0d84 713 1.1 gdamore #define RADEON_DISP_LIN_TRANS_GRPH_C 0x0d88 714 1.1 gdamore #define RADEON_DISP_LIN_TRANS_GRPH_D 0x0d8c 715 1.1 gdamore #define RADEON_DISP_LIN_TRANS_GRPH_E 0x0d90 716 1.1 gdamore #define RADEON_DISP_LIN_TRANS_GRPH_F 0x0d98 717 1.1 gdamore #define RADEON_DP_BRUSH_BKGD_CLR 0x1478 718 1.1 gdamore #define RADEON_DP_BRUSH_FRGD_CLR 0x147c 719 1.1 gdamore #define RADEON_DP_CNTL 0x16c0 720 1.1 gdamore # define RADEON_DST_X_LEFT_TO_RIGHT (1 << 0) 721 1.1 gdamore # define RADEON_DST_Y_TOP_TO_BOTTOM (1 << 1) 722 1.8 macallan # define RADEON_DP_DST_TILE_LINEAR (0 << 3) 723 1.8 macallan # define RADEON_DP_DST_TILE_MACRO (1 << 3) 724 1.8 macallan # define RADEON_DP_DST_TILE_MICRO (2 << 3) 725 1.8 macallan # define RADEON_DP_DST_TILE_BOTH (3 << 3) 726 1.1 gdamore #define RADEON_DP_CNTL_XDIR_YDIR_YMAJOR 0x16d0 727 1.1 gdamore # define RADEON_DST_Y_MAJOR (1 << 2) 728 1.1 gdamore # define RADEON_DST_Y_DIR_TOP_TO_BOTTOM (1 << 15) 729 1.1 gdamore # define RADEON_DST_X_DIR_LEFT_TO_RIGHT (1 << 31) 730 1.1 gdamore #define RADEON_DP_DATATYPE 0x16c4 731 1.1 gdamore # define RADEON_HOST_BIG_ENDIAN_EN (1 << 29) 732 1.1 gdamore #define RADEON_DP_GUI_MASTER_CNTL 0x146c 733 1.1 gdamore # define RADEON_GMC_SRC_PITCH_OFFSET_CNTL (1 << 0) 734 1.1 gdamore # define RADEON_GMC_DST_PITCH_OFFSET_CNTL (1 << 1) 735 1.1 gdamore # define RADEON_GMC_SRC_CLIPPING (1 << 2) 736 1.1 gdamore # define RADEON_GMC_DST_CLIPPING (1 << 3) 737 1.1 gdamore # define RADEON_GMC_BRUSH_DATATYPE_MASK (0x0f << 4) 738 1.1 gdamore # define RADEON_GMC_BRUSH_8X8_MONO_FG_BG (0 << 4) 739 1.1 gdamore # define RADEON_GMC_BRUSH_8X8_MONO_FG_LA (1 << 4) 740 1.1 gdamore # define RADEON_GMC_BRUSH_1X8_MONO_FG_BG (4 << 4) 741 1.1 gdamore # define RADEON_GMC_BRUSH_1X8_MONO_FG_LA (5 << 4) 742 1.1 gdamore # define RADEON_GMC_BRUSH_32x1_MONO_FG_BG (6 << 4) 743 1.1 gdamore # define RADEON_GMC_BRUSH_32x1_MONO_FG_LA (7 << 4) 744 1.1 gdamore # define RADEON_GMC_BRUSH_32x32_MONO_FG_BG (8 << 4) 745 1.1 gdamore # define RADEON_GMC_BRUSH_32x32_MONO_FG_LA (9 << 4) 746 1.1 gdamore # define RADEON_GMC_BRUSH_8x8_COLOR (10 << 4) 747 1.1 gdamore # define RADEON_GMC_BRUSH_1X8_COLOR (12 << 4) 748 1.1 gdamore # define RADEON_GMC_BRUSH_SOLID_COLOR (13 << 4) 749 1.1 gdamore # define RADEON_GMC_BRUSH_NONE (15 << 4) 750 1.1 gdamore # define RADEON_GMC_DST_8BPP_CI (2 << 8) 751 1.1 gdamore # define RADEON_GMC_DST_15BPP (3 << 8) 752 1.1 gdamore # define RADEON_GMC_DST_16BPP (4 << 8) 753 1.1 gdamore # define RADEON_GMC_DST_24BPP (5 << 8) 754 1.1 gdamore # define RADEON_GMC_DST_32BPP (6 << 8) 755 1.1 gdamore # define RADEON_GMC_DST_8BPP_RGB (7 << 8) 756 1.1 gdamore # define RADEON_GMC_DST_Y8 (8 << 8) 757 1.1 gdamore # define RADEON_GMC_DST_RGB8 (9 << 8) 758 1.1 gdamore # define RADEON_GMC_DST_VYUY (11 << 8) 759 1.1 gdamore # define RADEON_GMC_DST_YVYU (12 << 8) 760 1.1 gdamore # define RADEON_GMC_DST_AYUV444 (14 << 8) 761 1.1 gdamore # define RADEON_GMC_DST_ARGB4444 (15 << 8) 762 1.1 gdamore # define RADEON_GMC_DST_DATATYPE_MASK (0x0f << 8) 763 1.1 gdamore # define RADEON_GMC_DST_DATATYPE_SHIFT 8 764 1.1 gdamore # define RADEON_GMC_SRC_DATATYPE_MASK (3 << 12) 765 1.1 gdamore # define RADEON_GMC_SRC_DATATYPE_MONO_FG_BG (0 << 12) 766 1.1 gdamore # define RADEON_GMC_SRC_DATATYPE_MONO_FG_LA (1 << 12) 767 1.1 gdamore # define RADEON_GMC_SRC_DATATYPE_COLOR (3 << 12) 768 1.1 gdamore # define RADEON_GMC_BYTE_PIX_ORDER (1 << 14) 769 1.1 gdamore # define RADEON_GMC_BYTE_MSB_TO_LSB (0 << 14) 770 1.1 gdamore # define RADEON_GMC_BYTE_LSB_TO_MSB (1 << 14) 771 1.1 gdamore # define RADEON_GMC_CONVERSION_TEMP (1 << 15) 772 1.1 gdamore # define RADEON_GMC_CONVERSION_TEMP_6500 (0 << 15) 773 1.1 gdamore # define RADEON_GMC_CONVERSION_TEMP_9300 (1 << 15) 774 1.1 gdamore # define RADEON_GMC_ROP3_MASK (0xff << 16) 775 1.1 gdamore # define RADEON_DP_SRC_SOURCE_MASK (7 << 24) 776 1.1 gdamore # define RADEON_DP_SRC_SOURCE_MEMORY (2 << 24) 777 1.1 gdamore # define RADEON_DP_SRC_SOURCE_HOST_DATA (3 << 24) 778 1.1 gdamore # define RADEON_GMC_3D_FCN_EN (1 << 27) 779 1.1 gdamore # define RADEON_GMC_CLR_CMP_CNTL_DIS (1 << 28) 780 1.1 gdamore # define RADEON_GMC_AUX_CLIP_DIS (1 << 29) 781 1.1 gdamore # define RADEON_GMC_WR_MSK_DIS (1 << 30) 782 1.1 gdamore # define RADEON_GMC_LD_BRUSH_Y_X (1 << 31) 783 1.1 gdamore # define RADEON_ROP3_ZERO 0x00000000 784 1.1 gdamore # define RADEON_ROP3_DSa 0x00880000 785 1.1 gdamore # define RADEON_ROP3_SDna 0x00440000 786 1.1 gdamore # define RADEON_ROP3_S 0x00cc0000 787 1.1 gdamore # define RADEON_ROP3_DSna 0x00220000 788 1.1 gdamore # define RADEON_ROP3_D 0x00aa0000 789 1.1 gdamore # define RADEON_ROP3_DSx 0x00660000 790 1.1 gdamore # define RADEON_ROP3_DSo 0x00ee0000 791 1.1 gdamore # define RADEON_ROP3_DSon 0x00110000 792 1.1 gdamore # define RADEON_ROP3_DSxn 0x00990000 793 1.1 gdamore # define RADEON_ROP3_Dn 0x00550000 794 1.1 gdamore # define RADEON_ROP3_SDno 0x00dd0000 795 1.1 gdamore # define RADEON_ROP3_Sn 0x00330000 796 1.1 gdamore # define RADEON_ROP3_DSno 0x00bb0000 797 1.1 gdamore # define RADEON_ROP3_DSan 0x00770000 798 1.1 gdamore # define RADEON_ROP3_ONE 0x00ff0000 799 1.1 gdamore # define RADEON_ROP3_DPa 0x00a00000 800 1.1 gdamore # define RADEON_ROP3_PDna 0x00500000 801 1.1 gdamore # define RADEON_ROP3_P 0x00f00000 802 1.1 gdamore # define RADEON_ROP3_DPna 0x000a0000 803 1.1 gdamore # define RADEON_ROP3_D 0x00aa0000 804 1.1 gdamore # define RADEON_ROP3_DPx 0x005a0000 805 1.1 gdamore # define RADEON_ROP3_DPo 0x00fa0000 806 1.1 gdamore # define RADEON_ROP3_DPon 0x00050000 807 1.1 gdamore # define RADEON_ROP3_PDxn 0x00a50000 808 1.1 gdamore # define RADEON_ROP3_PDno 0x00f50000 809 1.1 gdamore # define RADEON_ROP3_Pn 0x000f0000 810 1.1 gdamore # define RADEON_ROP3_DPno 0x00af0000 811 1.1 gdamore # define RADEON_ROP3_DPan 0x005f0000 812 1.1 gdamore #define RADEON_DP_GUI_MASTER_CNTL_C 0x1c84 813 1.1 gdamore #define RADEON_DP_MIX 0x16c8 814 1.1 gdamore #define RADEON_DP_SRC_BKGD_CLR 0x15dc 815 1.1 gdamore #define RADEON_DP_SRC_FRGD_CLR 0x15d8 816 1.1 gdamore #define RADEON_DP_WRITE_MASK 0x16cc 817 1.1 gdamore #define RADEON_DST_BRES_DEC 0x1630 818 1.1 gdamore #define RADEON_DST_BRES_ERR 0x1628 819 1.1 gdamore #define RADEON_DST_BRES_INC 0x162c 820 1.1 gdamore #define RADEON_DST_BRES_LNTH 0x1634 821 1.1 gdamore #define RADEON_DST_BRES_LNTH_SUB 0x1638 822 1.1 gdamore #define RADEON_DST_HEIGHT 0x1410 823 1.1 gdamore #define RADEON_DST_HEIGHT_WIDTH 0x143c 824 1.1 gdamore #define RADEON_DST_HEIGHT_WIDTH_8 0x158c 825 1.1 gdamore #define RADEON_DST_HEIGHT_WIDTH_BW 0x15b4 826 1.1 gdamore #define RADEON_DST_HEIGHT_Y 0x15a0 827 1.1 gdamore #define RADEON_DST_LINE_START 0x1600 828 1.1 gdamore #define RADEON_DST_LINE_END 0x1604 829 1.1 gdamore #define RADEON_DST_LINE_PATCOUNT 0x1608 830 1.1 gdamore # define RADEON_BRES_CNTL_SHIFT 8 831 1.1 gdamore #define RADEON_DST_OFFSET 0x1404 832 1.1 gdamore #define RADEON_DST_PITCH 0x1408 833 1.1 gdamore #define RADEON_DST_PITCH_OFFSET 0x142c 834 1.1 gdamore #define RADEON_DST_PITCH_OFFSET_C 0x1c80 835 1.1 gdamore # define RADEON_PITCH_SHIFT 21 836 1.1 gdamore # define RADEON_DST_TILE_LINEAR (0 << 30) 837 1.1 gdamore # define RADEON_DST_TILE_MACRO (1 << 30) 838 1.1 gdamore # define RADEON_DST_TILE_MICRO (2 << 30) 839 1.1 gdamore # define RADEON_DST_TILE_BOTH (3 << 30) 840 1.1 gdamore #define RADEON_DST_WIDTH 0x140c 841 1.1 gdamore #define RADEON_DST_WIDTH_HEIGHT 0x1598 842 1.1 gdamore #define RADEON_DST_WIDTH_X 0x1588 843 1.1 gdamore #define RADEON_DST_WIDTH_X_INCY 0x159c 844 1.1 gdamore #define RADEON_DST_X 0x141c 845 1.1 gdamore #define RADEON_DST_X_SUB 0x15a4 846 1.1 gdamore #define RADEON_DST_X_Y 0x1594 847 1.1 gdamore #define RADEON_DST_Y 0x1420 848 1.1 gdamore #define RADEON_DST_Y_SUB 0x15a8 849 1.1 gdamore #define RADEON_DST_Y_X 0x1438 850 1.1 gdamore 851 1.1 gdamore #define RADEON_FCP_CNTL 0x0910 852 1.1 gdamore # define RADEON_FCP0_SRC_PCICLK 0 853 1.1 gdamore # define RADEON_FCP0_SRC_PCLK 1 854 1.1 gdamore # define RADEON_FCP0_SRC_PCLKb 2 855 1.1 gdamore # define RADEON_FCP0_SRC_HREF 3 856 1.1 gdamore # define RADEON_FCP0_SRC_GND 4 857 1.1 gdamore # define RADEON_FCP0_SRC_HREFb 5 858 1.1 gdamore #define RADEON_FLUSH_1 0x1704 859 1.1 gdamore #define RADEON_FLUSH_2 0x1708 860 1.1 gdamore #define RADEON_FLUSH_3 0x170c 861 1.1 gdamore #define RADEON_FLUSH_4 0x1710 862 1.1 gdamore #define RADEON_FLUSH_5 0x1714 863 1.1 gdamore #define RADEON_FLUSH_6 0x1718 864 1.1 gdamore #define RADEON_FLUSH_7 0x171c 865 1.1 gdamore #define RADEON_FOG_3D_TABLE_START 0x1810 866 1.1 gdamore #define RADEON_FOG_3D_TABLE_END 0x1814 867 1.1 gdamore #define RADEON_FOG_3D_TABLE_DENSITY 0x181c 868 1.1 gdamore #define RADEON_FOG_TABLE_INDEX 0x1a14 869 1.1 gdamore #define RADEON_FOG_TABLE_DATA 0x1a18 870 1.1 gdamore #define RADEON_FP_CRTC_H_TOTAL_DISP 0x0250 871 1.1 gdamore #define RADEON_FP_CRTC_V_TOTAL_DISP 0x0254 872 1.1 gdamore # define RADEON_FP_CRTC_H_TOTAL_MASK 0x000003ff 873 1.1 gdamore # define RADEON_FP_CRTC_H_DISP_MASK 0x01ff0000 874 1.1 gdamore # define RADEON_FP_CRTC_V_TOTAL_MASK 0x00000fff 875 1.1 gdamore # define RADEON_FP_CRTC_V_DISP_MASK 0x0fff0000 876 1.1 gdamore # define RADEON_FP_H_SYNC_STRT_CHAR_MASK 0x00001ff8 877 1.1 gdamore # define RADEON_FP_H_SYNC_WID_MASK 0x003f0000 878 1.1 gdamore # define RADEON_FP_V_SYNC_STRT_MASK 0x00000fff 879 1.1 gdamore # define RADEON_FP_V_SYNC_WID_MASK 0x001f0000 880 1.1 gdamore # define RADEON_FP_CRTC_H_TOTAL_SHIFT 0x00000000 881 1.1 gdamore # define RADEON_FP_CRTC_H_DISP_SHIFT 0x00000010 882 1.1 gdamore # define RADEON_FP_CRTC_V_TOTAL_SHIFT 0x00000000 883 1.1 gdamore # define RADEON_FP_CRTC_V_DISP_SHIFT 0x00000010 884 1.1 gdamore # define RADEON_FP_H_SYNC_STRT_CHAR_SHIFT 0x00000003 885 1.1 gdamore # define RADEON_FP_H_SYNC_WID_SHIFT 0x00000010 886 1.1 gdamore # define RADEON_FP_V_SYNC_STRT_SHIFT 0x00000000 887 1.1 gdamore # define RADEON_FP_V_SYNC_WID_SHIFT 0x00000010 888 1.1 gdamore #define RADEON_FP_GEN_CNTL 0x0284 889 1.1 gdamore # define RADEON_FP_FPON (1 << 0) 890 1.1 gdamore # define RADEON_FP_BLANK_EN (1 << 1) 891 1.1 gdamore # define RADEON_FP_TMDS_EN (1 << 2) 892 1.1 gdamore # define RADEON_FP_PANEL_FORMAT (1 << 3) 893 1.1 gdamore # define RADEON_FP_EN_TMDS (1 << 7) 894 1.1 gdamore # define RADEON_FP_DETECT_SENSE (1 << 8) 895 1.1 gdamore # define R200_FP_SOURCE_SEL_MASK (3 << 10) 896 1.1 gdamore # define R200_FP_SOURCE_SEL_CRTC1 (0 << 10) 897 1.1 gdamore # define R200_FP_SOURCE_SEL_CRTC2 (1 << 10) 898 1.1 gdamore # define R200_FP_SOURCE_SEL_RMX (2 << 10) 899 1.1 gdamore # define R200_FP_SOURCE_SEL_TRANS (3 << 10) 900 1.1 gdamore # define RADEON_FP_SEL_CRTC1 (0 << 13) 901 1.1 gdamore # define RADEON_FP_SEL_CRTC2 (1 << 13) 902 1.5 macallan # define RADEON_FP_SEL_MASK (1 << 13) 903 1.1 gdamore # define RADEON_FP_CRTC_DONT_SHADOW_HPAR (1 << 15) 904 1.1 gdamore # define RADEON_FP_CRTC_DONT_SHADOW_VPAR (1 << 16) 905 1.1 gdamore # define RADEON_FP_CRTC_DONT_SHADOW_HEND (1 << 17) 906 1.1 gdamore # define RADEON_FP_CRTC_USE_SHADOW_VEND (1 << 18) 907 1.1 gdamore # define RADEON_FP_RMX_HVSYNC_CONTROL_EN (1 << 20) 908 1.1 gdamore # define RADEON_FP_DFP_SYNC_SEL (1 << 21) 909 1.1 gdamore # define RADEON_FP_CRTC_LOCK_8DOT (1 << 22) 910 1.1 gdamore # define RADEON_FP_CRT_SYNC_SEL (1 << 23) 911 1.1 gdamore # define RADEON_FP_USE_SHADOW_EN (1 << 24) 912 1.1 gdamore # define RADEON_FP_CRT_SYNC_ALT (1 << 26) 913 1.1 gdamore #define RADEON_FP2_GEN_CNTL 0x0288 914 1.1 gdamore # define RADEON_FP2_BLANK_EN (1 << 1) 915 1.1 gdamore # define RADEON_FP2_ON (1 << 2) 916 1.1 gdamore # define RADEON_FP2_PANEL_FORMAT (1 << 3) 917 1.8 macallan # define RADEON_FP2_DETECT_SENSE (1 << 8) 918 1.1 gdamore # define R200_FP2_SOURCE_SEL_MASK (3 << 10) 919 1.8 macallan # define R200_FP2_SOURCE_SEL_CRTC1 (0 << 10) 920 1.1 gdamore # define R200_FP2_SOURCE_SEL_CRTC2 (1 << 10) 921 1.1 gdamore # define R200_FP2_SOURCE_SEL_RMX (2 << 10) 922 1.8 macallan # define R200_FP2_SOURCE_SEL_TRANS_UNIT (3 << 10) 923 1.1 gdamore # define RADEON_FP2_SRC_SEL_MASK (3 << 13) 924 1.6 macallan # define RADEON_FP2_SRC_SEL_CRTC1 (0 << 13) 925 1.1 gdamore # define RADEON_FP2_SRC_SEL_CRTC2 (1 << 13) 926 1.1 gdamore # define RADEON_FP2_FP_POL (1 << 16) 927 1.1 gdamore # define RADEON_FP2_LP_POL (1 << 17) 928 1.1 gdamore # define RADEON_FP2_SCK_POL (1 << 18) 929 1.1 gdamore # define RADEON_FP2_LCD_CNTL_MASK (7 << 19) 930 1.1 gdamore # define RADEON_FP2_PAD_FLOP_EN (1 << 22) 931 1.1 gdamore # define RADEON_FP2_CRC_EN (1 << 23) 932 1.1 gdamore # define RADEON_FP2_CRC_READ_EN (1 << 24) 933 1.1 gdamore # define RADEON_FP2_DVO_EN (1 << 25) 934 1.1 gdamore # define RADEON_FP2_DVO_RATE_SEL_SDR (1 << 26) 935 1.8 macallan # define R200_FP2_DVO_RATE_SEL_SDR (1 << 27) 936 1.8 macallan # define R200_FP2_DVO_CLOCK_MODE_SINGLE (1 << 28) 937 1.8 macallan # define R300_FP2_DVO_DUAL_CHANNEL_EN (1 << 29) 938 1.1 gdamore #define RADEON_FP_H_SYNC_STRT_WID 0x02c4 939 1.1 gdamore #define RADEON_FP_H2_SYNC_STRT_WID 0x03c4 940 1.1 gdamore #define RADEON_FP_HORZ_STRETCH 0x028c 941 1.1 gdamore #define RADEON_FP_HORZ2_STRETCH 0x038c 942 1.1 gdamore # define RADEON_HORZ_STRETCH_RATIO_MASK 0xffff 943 1.1 gdamore # define RADEON_HORZ_STRETCH_RATIO_MAX 4096 944 1.1 gdamore # define RADEON_HORZ_PANEL_SIZE (0x1ff << 16) 945 1.1 gdamore # define RADEON_HORZ_PANEL_SHIFT 16 946 1.1 gdamore # define RADEON_HORZ_STRETCH_PIXREP (0 << 25) 947 1.1 gdamore # define RADEON_HORZ_STRETCH_BLEND (1 << 26) 948 1.1 gdamore # define RADEON_HORZ_STRETCH_ENABLE (1 << 25) 949 1.1 gdamore # define RADEON_HORZ_AUTO_RATIO (1 << 27) 950 1.1 gdamore # define RADEON_HORZ_FP_LOOP_STRETCH (0x7 << 28) 951 1.1 gdamore # define RADEON_HORZ_AUTO_RATIO_INC (1 << 31) 952 1.8 macallan #define RADEON_FP_HORZ_VERT_ACTIVE 0x0278 953 1.1 gdamore #define RADEON_FP_V_SYNC_STRT_WID 0x02c8 954 1.1 gdamore #define RADEON_FP_VERT_STRETCH 0x0290 955 1.1 gdamore #define RADEON_FP_V2_SYNC_STRT_WID 0x03c8 956 1.1 gdamore #define RADEON_FP_VERT2_STRETCH 0x0390 957 1.1 gdamore # define RADEON_VERT_PANEL_SIZE (0xfff << 12) 958 1.1 gdamore # define RADEON_VERT_PANEL_SHIFT 12 959 1.1 gdamore # define RADEON_VERT_STRETCH_RATIO_MASK 0xfff 960 1.1 gdamore # define RADEON_VERT_STRETCH_RATIO_SHIFT 0 961 1.1 gdamore # define RADEON_VERT_STRETCH_RATIO_MAX 4096 962 1.1 gdamore # define RADEON_VERT_STRETCH_ENABLE (1 << 25) 963 1.1 gdamore # define RADEON_VERT_STRETCH_LINEREP (0 << 26) 964 1.1 gdamore # define RADEON_VERT_STRETCH_BLEND (1 << 26) 965 1.1 gdamore # define RADEON_VERT_AUTO_RATIO_EN (1 << 27) 966 1.8 macallan # define RADEON_VERT_AUTO_RATIO_INC (1 << 31) 967 1.8 macallan # define RADEON_VERT_STRETCH_RESERVED 0x71000000 968 1.8 macallan #define RS400_FP_2ND_GEN_CNTL 0x0384 969 1.8 macallan # define RS400_FP_2ND_ON (1 << 0) 970 1.8 macallan # define RS400_FP_2ND_BLANK_EN (1 << 1) 971 1.8 macallan # define RS400_TMDS_2ND_EN (1 << 2) 972 1.8 macallan # define RS400_PANEL_FORMAT_2ND (1 << 3) 973 1.8 macallan # define RS400_FP_2ND_EN_TMDS (1 << 7) 974 1.8 macallan # define RS400_FP_2ND_DETECT_SENSE (1 << 8) 975 1.8 macallan # define RS400_FP_2ND_SOURCE_SEL_MASK (3 << 10) 976 1.8 macallan # define RS400_FP_2ND_SOURCE_SEL_CRTC1 (0 << 10) 977 1.8 macallan # define RS400_FP_2ND_SOURCE_SEL_CRTC2 (1 << 10) 978 1.8 macallan # define RS400_FP_2ND_SOURCE_SEL_RMX (2 << 10) 979 1.8 macallan # define RS400_FP_2ND_DETECT_EN (1 << 12) 980 1.8 macallan # define RS400_HPD_2ND_SEL (1 << 13) 981 1.8 macallan #define RS400_FP2_2_GEN_CNTL 0x0388 982 1.8 macallan # define RS400_FP2_2_BLANK_EN (1 << 1) 983 1.8 macallan # define RS400_FP2_2_ON (1 << 2) 984 1.8 macallan # define RS400_FP2_2_PANEL_FORMAT (1 << 3) 985 1.8 macallan # define RS400_FP2_2_DETECT_SENSE (1 << 8) 986 1.8 macallan # define RS400_FP2_2_SOURCE_SEL_MASK (3 << 10) 987 1.8 macallan # define RS400_FP2_2_SOURCE_SEL_CRTC1 (0 << 10) 988 1.8 macallan # define RS400_FP2_2_SOURCE_SEL_CRTC2 (1 << 10) 989 1.8 macallan # define RS400_FP2_2_SOURCE_SEL_RMX (2 << 10) 990 1.8 macallan # define RS400_FP2_2_DVO2_EN (1 << 25) 991 1.8 macallan #define RS400_TMDS2_CNTL 0x0394 992 1.8 macallan #define RS400_TMDS2_TRANSMITTER_CNTL 0x03a4 993 1.8 macallan # define RS400_TMDS2_PLLEN (1 << 0) 994 1.8 macallan # define RS400_TMDS2_PLLRST (1 << 1) 995 1.1 gdamore 996 1.1 gdamore #define RADEON_GEN_INT_CNTL 0x0040 997 1.1 gdamore #define RADEON_GEN_INT_STATUS 0x0044 998 1.1 gdamore # define RADEON_VSYNC_INT_AK (1 << 2) 999 1.1 gdamore # define RADEON_VSYNC_INT (1 << 2) 1000 1.1 gdamore # define RADEON_VSYNC2_INT_AK (1 << 6) 1001 1.1 gdamore # define RADEON_VSYNC2_INT (1 << 6) 1002 1.1 gdamore #define RADEON_GENENB 0x03c3 /* VGA */ 1003 1.1 gdamore #define RADEON_GENFC_RD 0x03ca /* VGA */ 1004 1.1 gdamore #define RADEON_GENFC_WT 0x03da /* VGA, 0x03ba */ 1005 1.1 gdamore #define RADEON_GENMO_RD 0x03cc /* VGA */ 1006 1.1 gdamore #define RADEON_GENMO_WT 0x03c2 /* VGA */ 1007 1.1 gdamore #define RADEON_GENS0 0x03c2 /* VGA */ 1008 1.1 gdamore #define RADEON_GENS1 0x03da /* VGA, 0x03ba */ 1009 1.8 macallan #define RADEON_GPIO_MONID 0x0068 /* DDC interface via I2C */ /* DDC3 */ 1010 1.1 gdamore #define RADEON_GPIO_MONIDB 0x006c 1011 1.1 gdamore #define RADEON_GPIO_CRT2_DDC 0x006c 1012 1.8 macallan #define RADEON_GPIO_DVI_DDC 0x0064 /* DDC2 */ 1013 1.8 macallan #define RADEON_GPIO_VGA_DDC 0x0060 /* DDC1 */ 1014 1.1 gdamore # define RADEON_GPIO_A_0 (1 << 0) 1015 1.1 gdamore # define RADEON_GPIO_A_1 (1 << 1) 1016 1.1 gdamore # define RADEON_GPIO_Y_0 (1 << 8) 1017 1.1 gdamore # define RADEON_GPIO_Y_1 (1 << 9) 1018 1.1 gdamore # define RADEON_GPIO_Y_SHIFT_0 8 1019 1.1 gdamore # define RADEON_GPIO_Y_SHIFT_1 9 1020 1.1 gdamore # define RADEON_GPIO_EN_0 (1 << 16) 1021 1.1 gdamore # define RADEON_GPIO_EN_1 (1 << 17) 1022 1.1 gdamore # define RADEON_GPIO_SW_USE (1 << 20) /* GPIO_DVI_DDC only */ 1023 1.1 gdamore # define RADEON_GPIO_SW_DONE (1 << 21) /* GPIO_DVI_DDC only */ 1024 1.1 gdamore # define RADEON_GPIO_MASK_0 (1 << 24) /*??*/ 1025 1.1 gdamore # define RADEON_GPIO_MASK_1 (1 << 25) /*??*/ 1026 1.1 gdamore #define RADEON_GRPH8_DATA 0x03cf /* VGA */ 1027 1.1 gdamore #define RADEON_GRPH8_IDX 0x03ce /* VGA */ 1028 1.1 gdamore #define RADEON_GUI_SCRATCH_REG0 0x15e0 1029 1.1 gdamore #define RADEON_GUI_SCRATCH_REG1 0x15e4 1030 1.1 gdamore #define RADEON_GUI_SCRATCH_REG2 0x15e8 1031 1.1 gdamore #define RADEON_GUI_SCRATCH_REG3 0x15ec 1032 1.1 gdamore #define RADEON_GUI_SCRATCH_REG4 0x15f0 1033 1.1 gdamore #define RADEON_GUI_SCRATCH_REG5 0x15f4 1034 1.1 gdamore 1035 1.1 gdamore #define RADEON_HEADER 0x0f0e /* PCI */ 1036 1.1 gdamore #define RADEON_HOST_DATA0 0x17c0 1037 1.1 gdamore #define RADEON_HOST_DATA1 0x17c4 1038 1.1 gdamore #define RADEON_HOST_DATA2 0x17c8 1039 1.1 gdamore #define RADEON_HOST_DATA3 0x17cc 1040 1.1 gdamore #define RADEON_HOST_DATA4 0x17d0 1041 1.1 gdamore #define RADEON_HOST_DATA5 0x17d4 1042 1.1 gdamore #define RADEON_HOST_DATA6 0x17d8 1043 1.1 gdamore #define RADEON_HOST_DATA7 0x17dc 1044 1.1 gdamore #define RADEON_HOST_DATA_LAST 0x17e0 1045 1.1 gdamore #define RADEON_HOST_PATH_CNTL 0x0130 1046 1.8 macallan # define RADEON_HDP_SOFT_RESET (1 << 26) 1047 1.1 gdamore # define RADEON_HDP_APER_CNTL (1 << 23) 1048 1.1 gdamore #define RADEON_HTOTAL_CNTL 0x0009 /* PLL */ 1049 1.8 macallan # define RADEON_HTOT_CNTL_VGA_EN (1 << 28) 1050 1.1 gdamore #define RADEON_HTOTAL2_CNTL 0x002e /* PLL */ 1051 1.1 gdamore 1052 1.8 macallan /* Multimedia I2C bus */ 1053 1.8 macallan #define RADEON_I2C_CNTL_0 0x0090 1054 1.8 macallan #define RADEON_I2C_DONE (1 << 0) 1055 1.8 macallan #define RADEON_I2C_NACK (1 << 1) 1056 1.8 macallan #define RADEON_I2C_HALT (1 << 2) 1057 1.8 macallan #define RADEON_I2C_SOFT_RST (1 << 5) 1058 1.8 macallan #define RADEON_I2C_DRIVE_EN (1 << 6) 1059 1.8 macallan #define RADEON_I2C_DRIVE_SEL (1 << 7) 1060 1.8 macallan #define RADEON_I2C_START (1 << 8) 1061 1.8 macallan #define RADEON_I2C_STOP (1 << 9) 1062 1.8 macallan #define RADEON_I2C_RECEIVE (1 << 10) 1063 1.8 macallan #define RADEON_I2C_ABORT (1 << 11) 1064 1.8 macallan #define RADEON_I2C_GO (1 << 12) 1065 1.8 macallan #define RADEON_I2C_CNTL_1 0x0094 1066 1.8 macallan #define RADEON_I2C_SEL (1 << 16) 1067 1.8 macallan #define RADEON_I2C_EN (1 << 17) 1068 1.8 macallan #define RADEON_I2C_DATA 0x0098 1069 1.8 macallan 1070 1.8 macallan #define RADEON_DVI_I2C_CNTL_0 0x02e0 1071 1.8 macallan # define R200_DVI_I2C_PIN_SEL(x) ((x) << 3) 1072 1.8 macallan # define R200_SEL_DDC1 0 /* 0x60 - VGA_DDC */ 1073 1.8 macallan # define R200_SEL_DDC2 1 /* 0x64 - DVI_DDC */ 1074 1.8 macallan # define R200_SEL_DDC3 2 /* 0x68 - MONID_DDC */ 1075 1.8 macallan #define RADEON_DVI_I2C_CNTL_1 0x02e4 1076 1.8 macallan #define RADEON_DVI_I2C_DATA 0x02e8 1077 1.8 macallan 1078 1.1 gdamore #define RADEON_INTERRUPT_LINE 0x0f3c /* PCI */ 1079 1.1 gdamore #define RADEON_INTERRUPT_PIN 0x0f3d /* PCI */ 1080 1.1 gdamore #define RADEON_IO_BASE 0x0f14 /* PCI */ 1081 1.1 gdamore 1082 1.1 gdamore #define RADEON_LATENCY 0x0f0d /* PCI */ 1083 1.1 gdamore #define RADEON_LEAD_BRES_DEC 0x1608 1084 1.1 gdamore #define RADEON_LEAD_BRES_LNTH 0x161c 1085 1.1 gdamore #define RADEON_LEAD_BRES_LNTH_SUB 0x1624 1086 1.1 gdamore #define RADEON_LVDS_GEN_CNTL 0x02d0 1087 1.1 gdamore # define RADEON_LVDS_ON (1 << 0) 1088 1.1 gdamore # define RADEON_LVDS_DISPLAY_DIS (1 << 1) 1089 1.1 gdamore # define RADEON_LVDS_PANEL_TYPE (1 << 2) 1090 1.1 gdamore # define RADEON_LVDS_PANEL_FORMAT (1 << 3) 1091 1.8 macallan # define RADEON_LVDS_RST_FM (1 << 6) 1092 1.1 gdamore # define RADEON_LVDS_EN (1 << 7) 1093 1.8 macallan # define RADEON_LVDS_BL_MOD_LEVEL_SHIFT 8 1094 1.8 macallan # define RADEON_LVDS_BL_MOD_LEVEL_MASK (0xff << 8) 1095 1.8 macallan # define RADEON_LVDS_BL_MOD_EN (1 << 16) 1096 1.1 gdamore # define RADEON_LVDS_DIGON (1 << 18) 1097 1.1 gdamore # define RADEON_LVDS_BLON (1 << 19) 1098 1.1 gdamore # define RADEON_LVDS_SEL_CRTC2 (1 << 23) 1099 1.3 macallan # define RADEON_LVDS_BL_MOD_LEV_MASK 0x0000ff00 1100 1.3 macallan # define RADEON_LVDS_BL_MOD_LEV_SHIFT 8 1101 1.3 macallan # define RADEON_LVDS_BL_MOD_EN (1 << 16) 1102 1.3 macallan # define RADEON_LVDS_STATE_MASK \ 1103 1.3 macallan (RADEON_LVDS_ON | RADEON_LVDS_DISPLAY_DIS | \ 1104 1.3 macallan RADEON_LVDS_BL_MOD_LEV_MASK | RADEON_LVDS_BLON) 1105 1.1 gdamore #define RADEON_LVDS_PLL_CNTL 0x02d4 1106 1.1 gdamore # define RADEON_HSYNC_DELAY_SHIFT 28 1107 1.1 gdamore # define RADEON_HSYNC_DELAY_MASK (0xf << 28) 1108 1.8 macallan # define RADEON_LVDS_PLL_EN (1 << 16) 1109 1.8 macallan # define RADEON_LVDS_PLL_RESET (1 << 17) 1110 1.8 macallan # define R300_LVDS_SRC_SEL_MASK (3 << 18) 1111 1.8 macallan # define R300_LVDS_SRC_SEL_CRTC1 (0 << 18) 1112 1.8 macallan # define R300_LVDS_SRC_SEL_CRTC2 (1 << 18) 1113 1.8 macallan # define R300_LVDS_SRC_SEL_RMX (2 << 18) 1114 1.1 gdamore 1115 1.1 gdamore #define RADEON_MAX_LATENCY 0x0f3f /* PCI */ 1116 1.1 gdamore #define RADEON_MC_AGP_LOCATION 0x014c 1117 1.1 gdamore #define RADEON_MC_FB_LOCATION 0x0148 1118 1.1 gdamore #define RADEON_DISPLAY_BASE_ADDR 0x23c 1119 1.1 gdamore #define RADEON_DISPLAY2_BASE_ADDR 0x33c 1120 1.1 gdamore #define RADEON_OV0_BASE_ADDR 0x43c 1121 1.1 gdamore #define RADEON_NB_TOM 0x15c 1122 1.8 macallan #define R300_MC_INIT_MISC_LAT_TIMER 0x180 1123 1.8 macallan # define R300_MC_DISP0R_INIT_LAT_SHIFT 8 1124 1.8 macallan # define R300_MC_DISP0R_INIT_LAT_MASK 0xf 1125 1.8 macallan # define R300_MC_DISP1R_INIT_LAT_SHIFT 12 1126 1.8 macallan # define R300_MC_DISP1R_INIT_LAT_MASK 0xf 1127 1.1 gdamore #define RADEON_MCLK_CNTL 0x0012 /* PLL */ 1128 1.1 gdamore # define RADEON_FORCEON_MCLKA (1 << 16) 1129 1.1 gdamore # define RADEON_FORCEON_MCLKB (1 << 17) 1130 1.1 gdamore # define RADEON_FORCEON_YCLKA (1 << 18) 1131 1.1 gdamore # define RADEON_FORCEON_YCLKB (1 << 19) 1132 1.1 gdamore # define RADEON_FORCEON_MC (1 << 20) 1133 1.1 gdamore # define RADEON_FORCEON_AIC (1 << 21) 1134 1.1 gdamore # define R300_DISABLE_MC_MCLKA (1 << 21) 1135 1.1 gdamore # define R300_DISABLE_MC_MCLKB (1 << 21) 1136 1.1 gdamore # define RADEON_SET_ALL_SRCS_TO_PCI (0x1111) 1137 1.1 gdamore #define RADEON_MCLK_MISC 0x001f /* PLL */ 1138 1.8 macallan # define RADEON_MC_MCLK_MAX_DYN_STOP_LAT (1 << 12) 1139 1.8 macallan # define RADEON_IO_MCLK_MAX_DYN_STOP_LAT (1 << 13) 1140 1.1 gdamore # define RADEON_MC_MCLK_DYN_ENABLE (1 << 14) 1141 1.1 gdamore # define RADEON_IO_MCLK_DYN_ENABLE (1 << 15) 1142 1.8 macallan #define RADEON_LCD_GPIO_MASK 0x01a0 1143 1.8 macallan #define RADEON_GPIOPAD_EN 0x01a0 1144 1.8 macallan #define RADEON_LCD_GPIO_Y_REG 0x01a4 1145 1.1 gdamore #define RADEON_MDGPIO_A_REG 0x01ac 1146 1.1 gdamore #define RADEON_MDGPIO_EN_REG 0x01b0 1147 1.1 gdamore #define RADEON_MDGPIO_MASK 0x0198 1148 1.8 macallan #define RADEON_GPIOPAD_MASK 0x0198 1149 1.8 macallan #define RADEON_GPIOPAD_A 0x019c 1150 1.1 gdamore #define RADEON_MDGPIO_Y_REG 0x01b4 1151 1.1 gdamore #define RADEON_MEM_ADDR_CONFIG 0x0148 1152 1.1 gdamore #define RADEON_MEM_BASE 0x0f10 /* PCI */ 1153 1.1 gdamore #define RADEON_MEM_CNTL 0x0140 1154 1.1 gdamore # define RADEON_MEM_NUM_CHANNELS_MASK 0x01 1155 1.8 macallan # define RADEON_MEM_USE_B_CH_ONLY (1 << 1) 1156 1.8 macallan # define RV100_HALF_MODE (1 << 3) 1157 1.1 gdamore # define R300_MEM_NUM_CHANNELS_MASK 0x03 1158 1.8 macallan # define R300_MEM_USE_CD_CH_ONLY (1 << 2) 1159 1.1 gdamore #define RADEON_MEM_TIMING_CNTL 0x0144 /* EXT_MEM_CNTL */ 1160 1.1 gdamore #define RADEON_MEM_INIT_LAT_TIMER 0x0154 1161 1.1 gdamore #define RADEON_MEM_INTF_CNTL 0x014c 1162 1.1 gdamore #define RADEON_MEM_SDRAM_MODE_REG 0x0158 1163 1.8 macallan # define RADEON_SDRAM_MODE_MASK 0xffff0000 1164 1.8 macallan # define RADEON_B3MEM_RESET_MASK 0x6fffffff 1165 1.8 macallan # define RADEON_MEM_CFG_TYPE_DDR (1 << 30) 1166 1.1 gdamore #define RADEON_MEM_STR_CNTL 0x0150 1167 1.8 macallan # define RADEON_MEM_PWRUP_COMPL_A (1 << 0) 1168 1.8 macallan # define RADEON_MEM_PWRUP_COMPL_B (1 << 1) 1169 1.8 macallan # define R300_MEM_PWRUP_COMPL_C (1 << 2) 1170 1.8 macallan # define R300_MEM_PWRUP_COMPL_D (1 << 3) 1171 1.8 macallan # define RADEON_MEM_PWRUP_COMPLETE 0x03 1172 1.8 macallan # define R300_MEM_PWRUP_COMPLETE 0x0f 1173 1.8 macallan #define RADEON_MC_STATUS 0x0150 1174 1.8 macallan # define RADEON_MC_IDLE (1 << 2) 1175 1.8 macallan # define R300_MC_IDLE (1 << 4) 1176 1.1 gdamore #define RADEON_MEM_VGA_RP_SEL 0x003c 1177 1.1 gdamore #define RADEON_MEM_VGA_WP_SEL 0x0038 1178 1.1 gdamore #define RADEON_MIN_GRANT 0x0f3e /* PCI */ 1179 1.1 gdamore #define RADEON_MM_DATA 0x0004 1180 1.1 gdamore #define RADEON_MM_INDEX 0x0000 1181 1.1 gdamore #define RADEON_MPLL_CNTL 0x000e /* PLL */ 1182 1.1 gdamore #define RADEON_MPP_TB_CONFIG 0x01c0 /* ? */ 1183 1.1 gdamore #define RADEON_MPP_GP_CONFIG 0x01c8 /* ? */ 1184 1.8 macallan #define RADEON_SEPROM_CNTL1 0x01c0 1185 1.8 macallan # define RADEON_SCK_PRESCALE_SHIFT 24 1186 1.8 macallan # define RADEON_SCK_PRESCALE_MASK (0xff << 24) 1187 1.1 gdamore #define R300_MC_IND_INDEX 0x01f8 1188 1.1 gdamore # define R300_MC_IND_ADDR_MASK 0x3f 1189 1.8 macallan # define R300_MC_IND_WR_EN (1 << 8) 1190 1.1 gdamore #define R300_MC_IND_DATA 0x01fc 1191 1.1 gdamore #define R300_MC_READ_CNTL_AB 0x017c 1192 1.1 gdamore # define R300_MEM_RBS_POSITION_A_MASK 0x03 1193 1.1 gdamore #define R300_MC_READ_CNTL_CD_mcind 0x24 1194 1.1 gdamore # define R300_MEM_RBS_POSITION_C_MASK 0x03 1195 1.1 gdamore 1196 1.1 gdamore #define RADEON_N_VIF_COUNT 0x0248 1197 1.1 gdamore 1198 1.1 gdamore #define RADEON_OV0_AUTO_FLIP_CNTL 0x0470 1199 1.8 macallan # define RADEON_OV0_AUTO_FLIP_CNTL_SOFT_BUF_NUM 0x00000007 1200 1.8 macallan # define RADEON_OV0_AUTO_FLIP_CNTL_SOFT_REPEAT_FIELD 0x00000008 1201 1.8 macallan # define RADEON_OV0_AUTO_FLIP_CNTL_SOFT_BUF_ODD 0x00000010 1202 1.8 macallan # define RADEON_OV0_AUTO_FLIP_CNTL_IGNORE_REPEAT_FIELD 0x00000020 1203 1.8 macallan # define RADEON_OV0_AUTO_FLIP_CNTL_SOFT_EOF_TOGGLE 0x00000040 1204 1.8 macallan # define RADEON_OV0_AUTO_FLIP_CNTL_VID_PORT_SELECT 0x00000300 1205 1.8 macallan # define RADEON_OV0_AUTO_FLIP_CNTL_P1_FIRST_LINE_EVEN 0x00010000 1206 1.8 macallan # define RADEON_OV0_AUTO_FLIP_CNTL_SHIFT_EVEN_DOWN 0x00040000 1207 1.8 macallan # define RADEON_OV0_AUTO_FLIP_CNTL_SHIFT_ODD_DOWN 0x00080000 1208 1.8 macallan # define RADEON_OV0_AUTO_FLIP_CNTL_FIELD_POL_SOURCE 0x00800000 1209 1.8 macallan 1210 1.1 gdamore #define RADEON_OV0_COLOUR_CNTL 0x04E0 1211 1.1 gdamore #define RADEON_OV0_DEINTERLACE_PATTERN 0x0474 1212 1.1 gdamore #define RADEON_OV0_EXCLUSIVE_HORZ 0x0408 1213 1.1 gdamore # define RADEON_EXCL_HORZ_START_MASK 0x000000ff 1214 1.1 gdamore # define RADEON_EXCL_HORZ_END_MASK 0x0000ff00 1215 1.1 gdamore # define RADEON_EXCL_HORZ_BACK_PORCH_MASK 0x00ff0000 1216 1.1 gdamore # define RADEON_EXCL_HORZ_EXCLUSIVE_EN 0x80000000 1217 1.1 gdamore #define RADEON_OV0_EXCLUSIVE_VERT 0x040C 1218 1.1 gdamore # define RADEON_EXCL_VERT_START_MASK 0x000003ff 1219 1.1 gdamore # define RADEON_EXCL_VERT_END_MASK 0x03ff0000 1220 1.1 gdamore #define RADEON_OV0_FILTER_CNTL 0x04A0 1221 1.8 macallan # define RADEON_FILTER_PROGRAMMABLE_COEF 0x0 1222 1.8 macallan # define RADEON_FILTER_HC_COEF_HORZ_Y 0x1 1223 1.8 macallan # define RADEON_FILTER_HC_COEF_HORZ_UV 0x2 1224 1.8 macallan # define RADEON_FILTER_HC_COEF_VERT_Y 0x4 1225 1.8 macallan # define RADEON_FILTER_HC_COEF_VERT_UV 0x8 1226 1.8 macallan # define RADEON_FILTER_HARDCODED_COEF 0xf 1227 1.8 macallan # define RADEON_FILTER_COEF_MASK 0xf 1228 1.8 macallan 1229 1.1 gdamore #define RADEON_OV0_FOUR_TAP_COEF_0 0x04B0 1230 1.1 gdamore #define RADEON_OV0_FOUR_TAP_COEF_1 0x04B4 1231 1.1 gdamore #define RADEON_OV0_FOUR_TAP_COEF_2 0x04B8 1232 1.1 gdamore #define RADEON_OV0_FOUR_TAP_COEF_3 0x04BC 1233 1.1 gdamore #define RADEON_OV0_FOUR_TAP_COEF_4 0x04C0 1234 1.8 macallan #define RADEON_OV0_FLAG_CNTL 0x04DC 1235 1.1 gdamore #define RADEON_OV0_GAMMA_000_00F 0x0d40 1236 1.1 gdamore #define RADEON_OV0_GAMMA_010_01F 0x0d44 1237 1.1 gdamore #define RADEON_OV0_GAMMA_020_03F 0x0d48 1238 1.1 gdamore #define RADEON_OV0_GAMMA_040_07F 0x0d4c 1239 1.1 gdamore #define RADEON_OV0_GAMMA_080_0BF 0x0e00 1240 1.1 gdamore #define RADEON_OV0_GAMMA_0C0_0FF 0x0e04 1241 1.1 gdamore #define RADEON_OV0_GAMMA_100_13F 0x0e08 1242 1.1 gdamore #define RADEON_OV0_GAMMA_140_17F 0x0e0c 1243 1.1 gdamore #define RADEON_OV0_GAMMA_180_1BF 0x0e10 1244 1.1 gdamore #define RADEON_OV0_GAMMA_1C0_1FF 0x0e14 1245 1.1 gdamore #define RADEON_OV0_GAMMA_200_23F 0x0e18 1246 1.1 gdamore #define RADEON_OV0_GAMMA_240_27F 0x0e1c 1247 1.1 gdamore #define RADEON_OV0_GAMMA_280_2BF 0x0e20 1248 1.1 gdamore #define RADEON_OV0_GAMMA_2C0_2FF 0x0e24 1249 1.1 gdamore #define RADEON_OV0_GAMMA_300_33F 0x0e28 1250 1.1 gdamore #define RADEON_OV0_GAMMA_340_37F 0x0e2c 1251 1.1 gdamore #define RADEON_OV0_GAMMA_380_3BF 0x0d50 1252 1.1 gdamore #define RADEON_OV0_GAMMA_3C0_3FF 0x0d54 1253 1.1 gdamore #define RADEON_OV0_GRAPHICS_KEY_CLR_LOW 0x04EC 1254 1.1 gdamore #define RADEON_OV0_GRAPHICS_KEY_CLR_HIGH 0x04F0 1255 1.1 gdamore #define RADEON_OV0_H_INC 0x0480 1256 1.1 gdamore #define RADEON_OV0_KEY_CNTL 0x04F4 1257 1.1 gdamore # define RADEON_VIDEO_KEY_FN_MASK 0x00000003L 1258 1.1 gdamore # define RADEON_VIDEO_KEY_FN_FALSE 0x00000000L 1259 1.1 gdamore # define RADEON_VIDEO_KEY_FN_TRUE 0x00000001L 1260 1.1 gdamore # define RADEON_VIDEO_KEY_FN_EQ 0x00000002L 1261 1.1 gdamore # define RADEON_VIDEO_KEY_FN_NE 0x00000003L 1262 1.1 gdamore # define RADEON_GRAPHIC_KEY_FN_MASK 0x00000030L 1263 1.1 gdamore # define RADEON_GRAPHIC_KEY_FN_FALSE 0x00000000L 1264 1.1 gdamore # define RADEON_GRAPHIC_KEY_FN_TRUE 0x00000010L 1265 1.1 gdamore # define RADEON_GRAPHIC_KEY_FN_EQ 0x00000020L 1266 1.1 gdamore # define RADEON_GRAPHIC_KEY_FN_NE 0x00000030L 1267 1.1 gdamore # define RADEON_CMP_MIX_MASK 0x00000100L 1268 1.1 gdamore # define RADEON_CMP_MIX_OR 0x00000000L 1269 1.1 gdamore # define RADEON_CMP_MIX_AND 0x00000100L 1270 1.1 gdamore #define RADEON_OV0_LIN_TRANS_A 0x0d20 1271 1.1 gdamore #define RADEON_OV0_LIN_TRANS_B 0x0d24 1272 1.1 gdamore #define RADEON_OV0_LIN_TRANS_C 0x0d28 1273 1.1 gdamore #define RADEON_OV0_LIN_TRANS_D 0x0d2c 1274 1.1 gdamore #define RADEON_OV0_LIN_TRANS_E 0x0d30 1275 1.1 gdamore #define RADEON_OV0_LIN_TRANS_F 0x0d34 1276 1.1 gdamore #define RADEON_OV0_P1_BLANK_LINES_AT_TOP 0x0430 1277 1.1 gdamore # define RADEON_P1_BLNK_LN_AT_TOP_M1_MASK 0x00000fffL 1278 1.1 gdamore # define RADEON_P1_ACTIVE_LINES_M1 0x0fff0000L 1279 1.1 gdamore #define RADEON_OV0_P1_H_ACCUM_INIT 0x0488 1280 1.1 gdamore #define RADEON_OV0_P1_V_ACCUM_INIT 0x0428 1281 1.1 gdamore # define RADEON_OV0_P1_MAX_LN_IN_PER_LN_OUT 0x00000003L 1282 1.1 gdamore # define RADEON_OV0_P1_V_ACCUM_INIT_MASK 0x01ff8000L 1283 1.1 gdamore #define RADEON_OV0_P1_X_START_END 0x0494 1284 1.1 gdamore #define RADEON_OV0_P2_X_START_END 0x0498 1285 1.1 gdamore #define RADEON_OV0_P23_BLANK_LINES_AT_TOP 0x0434 1286 1.1 gdamore # define RADEON_P23_BLNK_LN_AT_TOP_M1_MASK 0x000007ffL 1287 1.1 gdamore # define RADEON_P23_ACTIVE_LINES_M1 0x07ff0000L 1288 1.1 gdamore #define RADEON_OV0_P23_H_ACCUM_INIT 0x048C 1289 1.1 gdamore #define RADEON_OV0_P23_V_ACCUM_INIT 0x042C 1290 1.1 gdamore #define RADEON_OV0_P3_X_START_END 0x049C 1291 1.1 gdamore #define RADEON_OV0_REG_LOAD_CNTL 0x0410 1292 1.1 gdamore # define RADEON_REG_LD_CTL_LOCK 0x00000001L 1293 1.1 gdamore # define RADEON_REG_LD_CTL_VBLANK_DURING_LOCK 0x00000002L 1294 1.1 gdamore # define RADEON_REG_LD_CTL_STALL_GUI_UNTIL_FLIP 0x00000004L 1295 1.1 gdamore # define RADEON_REG_LD_CTL_LOCK_READBACK 0x00000008L 1296 1.8 macallan # define RADEON_REG_LD_CTL_FLIP_READBACK 0x00000010L 1297 1.1 gdamore #define RADEON_OV0_SCALE_CNTL 0x0420 1298 1.1 gdamore # define RADEON_SCALER_HORZ_PICK_NEAREST 0x00000004L 1299 1.1 gdamore # define RADEON_SCALER_VERT_PICK_NEAREST 0x00000008L 1300 1.1 gdamore # define RADEON_SCALER_SIGNED_UV 0x00000010L 1301 1.1 gdamore # define RADEON_SCALER_GAMMA_SEL_MASK 0x00000060L 1302 1.1 gdamore # define RADEON_SCALER_GAMMA_SEL_BRIGHT 0x00000000L 1303 1.1 gdamore # define RADEON_SCALER_GAMMA_SEL_G22 0x00000020L 1304 1.1 gdamore # define RADEON_SCALER_GAMMA_SEL_G18 0x00000040L 1305 1.1 gdamore # define RADEON_SCALER_GAMMA_SEL_G14 0x00000060L 1306 1.1 gdamore # define RADEON_SCALER_COMCORE_SHIFT_UP_ONE 0x00000080L 1307 1.1 gdamore # define RADEON_SCALER_SURFAC_FORMAT 0x00000f00L 1308 1.1 gdamore # define RADEON_SCALER_SOURCE_15BPP 0x00000300L 1309 1.1 gdamore # define RADEON_SCALER_SOURCE_16BPP 0x00000400L 1310 1.1 gdamore # define RADEON_SCALER_SOURCE_32BPP 0x00000600L 1311 1.1 gdamore # define RADEON_SCALER_SOURCE_YUV9 0x00000900L 1312 1.1 gdamore # define RADEON_SCALER_SOURCE_YUV12 0x00000A00L 1313 1.1 gdamore # define RADEON_SCALER_SOURCE_VYUY422 0x00000B00L 1314 1.1 gdamore # define RADEON_SCALER_SOURCE_YVYU422 0x00000C00L 1315 1.1 gdamore # define RADEON_SCALER_ADAPTIVE_DEINT 0x00001000L 1316 1.1 gdamore # define RADEON_SCALER_TEMPORAL_DEINT 0x00002000L 1317 1.8 macallan # define RADEON_SCALER_CRTC_SEL 0x00004000L 1318 1.1 gdamore # define RADEON_SCALER_SMART_SWITCH 0x00008000L 1319 1.1 gdamore # define RADEON_SCALER_BURST_PER_PLANE 0x007F0000L 1320 1.1 gdamore # define RADEON_SCALER_DOUBLE_BUFFER 0x01000000L 1321 1.1 gdamore # define RADEON_SCALER_DIS_LIMIT 0x08000000L 1322 1.8 macallan # define RADEON_SCALER_LIN_TRANS_BYPASS 0x10000000L 1323 1.1 gdamore # define RADEON_SCALER_INT_EMU 0x20000000L 1324 1.1 gdamore # define RADEON_SCALER_ENABLE 0x40000000L 1325 1.1 gdamore # define RADEON_SCALER_SOFT_RESET 0x80000000L 1326 1.1 gdamore #define RADEON_OV0_STEP_BY 0x0484 1327 1.1 gdamore #define RADEON_OV0_TEST 0x04F8 1328 1.1 gdamore #define RADEON_OV0_V_INC 0x0424 1329 1.1 gdamore #define RADEON_OV0_VID_BUF_PITCH0_VALUE 0x0460 1330 1.1 gdamore #define RADEON_OV0_VID_BUF_PITCH1_VALUE 0x0464 1331 1.1 gdamore #define RADEON_OV0_VID_BUF0_BASE_ADRS 0x0440 1332 1.1 gdamore # define RADEON_VIF_BUF0_PITCH_SEL 0x00000001L 1333 1.1 gdamore # define RADEON_VIF_BUF0_TILE_ADRS 0x00000002L 1334 1.1 gdamore # define RADEON_VIF_BUF0_BASE_ADRS_MASK 0x03fffff0L 1335 1.1 gdamore # define RADEON_VIF_BUF0_1ST_LINE_LSBS_MASK 0x48000000L 1336 1.1 gdamore #define RADEON_OV0_VID_BUF1_BASE_ADRS 0x0444 1337 1.1 gdamore # define RADEON_VIF_BUF1_PITCH_SEL 0x00000001L 1338 1.1 gdamore # define RADEON_VIF_BUF1_TILE_ADRS 0x00000002L 1339 1.1 gdamore # define RADEON_VIF_BUF1_BASE_ADRS_MASK 0x03fffff0L 1340 1.1 gdamore # define RADEON_VIF_BUF1_1ST_LINE_LSBS_MASK 0x48000000L 1341 1.1 gdamore #define RADEON_OV0_VID_BUF2_BASE_ADRS 0x0448 1342 1.1 gdamore # define RADEON_VIF_BUF2_PITCH_SEL 0x00000001L 1343 1.1 gdamore # define RADEON_VIF_BUF2_TILE_ADRS 0x00000002L 1344 1.1 gdamore # define RADEON_VIF_BUF2_BASE_ADRS_MASK 0x03fffff0L 1345 1.1 gdamore # define RADEON_VIF_BUF2_1ST_LINE_LSBS_MASK 0x48000000L 1346 1.1 gdamore #define RADEON_OV0_VID_BUF3_BASE_ADRS 0x044C 1347 1.1 gdamore #define RADEON_OV0_VID_BUF4_BASE_ADRS 0x0450 1348 1.1 gdamore #define RADEON_OV0_VID_BUF5_BASE_ADRS 0x0454 1349 1.1 gdamore #define RADEON_OV0_VIDEO_KEY_CLR_HIGH 0x04E8 1350 1.1 gdamore #define RADEON_OV0_VIDEO_KEY_CLR_LOW 0x04E4 1351 1.1 gdamore #define RADEON_OV0_Y_X_START 0x0400 1352 1.1 gdamore #define RADEON_OV0_Y_X_END 0x0404 1353 1.1 gdamore #define RADEON_OV1_Y_X_START 0x0600 1354 1.1 gdamore #define RADEON_OV1_Y_X_END 0x0604 1355 1.1 gdamore #define RADEON_OVR_CLR 0x0230 1356 1.1 gdamore #define RADEON_OVR_WID_LEFT_RIGHT 0x0234 1357 1.1 gdamore #define RADEON_OVR_WID_TOP_BOTTOM 0x0238 1358 1.1 gdamore 1359 1.8 macallan /* first capture unit */ 1360 1.8 macallan 1361 1.8 macallan #define RADEON_CAP0_BUF0_OFFSET 0x0920 1362 1.8 macallan #define RADEON_CAP0_BUF1_OFFSET 0x0924 1363 1.8 macallan #define RADEON_CAP0_BUF0_EVEN_OFFSET 0x0928 1364 1.8 macallan #define RADEON_CAP0_BUF1_EVEN_OFFSET 0x092C 1365 1.8 macallan 1366 1.8 macallan #define RADEON_CAP0_BUF_PITCH 0x0930 1367 1.8 macallan #define RADEON_CAP0_V_WINDOW 0x0934 1368 1.8 macallan #define RADEON_CAP0_H_WINDOW 0x0938 1369 1.8 macallan #define RADEON_CAP0_VBI0_OFFSET 0x093C 1370 1.8 macallan #define RADEON_CAP0_VBI1_OFFSET 0x0940 1371 1.8 macallan #define RADEON_CAP0_VBI_V_WINDOW 0x0944 1372 1.8 macallan #define RADEON_CAP0_VBI_H_WINDOW 0x0948 1373 1.8 macallan #define RADEON_CAP0_PORT_MODE_CNTL 0x094C 1374 1.8 macallan #define RADEON_CAP0_TRIG_CNTL 0x0950 1375 1.8 macallan #define RADEON_CAP0_DEBUG 0x0954 1376 1.8 macallan #define RADEON_CAP0_CONFIG 0x0958 1377 1.8 macallan # define RADEON_CAP0_CONFIG_CONTINUOS 0x00000001 1378 1.8 macallan # define RADEON_CAP0_CONFIG_START_FIELD_EVEN 0x00000002 1379 1.8 macallan # define RADEON_CAP0_CONFIG_START_BUF_GET 0x00000004 1380 1.8 macallan # define RADEON_CAP0_CONFIG_START_BUF_SET 0x00000008 1381 1.8 macallan # define RADEON_CAP0_CONFIG_BUF_TYPE_ALT 0x00000010 1382 1.8 macallan # define RADEON_CAP0_CONFIG_BUF_TYPE_FRAME 0x00000020 1383 1.8 macallan # define RADEON_CAP0_CONFIG_ONESHOT_MODE_FRAME 0x00000040 1384 1.8 macallan # define RADEON_CAP0_CONFIG_BUF_MODE_DOUBLE 0x00000080 1385 1.8 macallan # define RADEON_CAP0_CONFIG_BUF_MODE_TRIPLE 0x00000100 1386 1.8 macallan # define RADEON_CAP0_CONFIG_MIRROR_EN 0x00000200 1387 1.8 macallan # define RADEON_CAP0_CONFIG_ONESHOT_MIRROR_EN 0x00000400 1388 1.8 macallan # define RADEON_CAP0_CONFIG_VIDEO_SIGNED_UV 0x00000800 1389 1.8 macallan # define RADEON_CAP0_CONFIG_ANC_DECODE_EN 0x00001000 1390 1.8 macallan # define RADEON_CAP0_CONFIG_VBI_EN 0x00002000 1391 1.8 macallan # define RADEON_CAP0_CONFIG_SOFT_PULL_DOWN_EN 0x00004000 1392 1.8 macallan # define RADEON_CAP0_CONFIG_VIP_EXTEND_FLAG_EN 0x00008000 1393 1.8 macallan # define RADEON_CAP0_CONFIG_FAKE_FIELD_EN 0x00010000 1394 1.8 macallan # define RADEON_CAP0_CONFIG_ODD_ONE_MORE_LINE 0x00020000 1395 1.8 macallan # define RADEON_CAP0_CONFIG_EVEN_ONE_MORE_LINE 0x00040000 1396 1.8 macallan # define RADEON_CAP0_CONFIG_HORZ_DIVIDE_2 0x00080000 1397 1.8 macallan # define RADEON_CAP0_CONFIG_HORZ_DIVIDE_4 0x00100000 1398 1.8 macallan # define RADEON_CAP0_CONFIG_VERT_DIVIDE_2 0x00200000 1399 1.8 macallan # define RADEON_CAP0_CONFIG_VERT_DIVIDE_4 0x00400000 1400 1.8 macallan # define RADEON_CAP0_CONFIG_FORMAT_BROOKTREE 0x00000000 1401 1.8 macallan # define RADEON_CAP0_CONFIG_FORMAT_CCIR656 0x00800000 1402 1.8 macallan # define RADEON_CAP0_CONFIG_FORMAT_ZV 0x01000000 1403 1.8 macallan # define RADEON_CAP0_CONFIG_FORMAT_VIP 0x01800000 1404 1.8 macallan # define RADEON_CAP0_CONFIG_FORMAT_TRANSPORT 0x02000000 1405 1.8 macallan # define RADEON_CAP0_CONFIG_HORZ_DECIMATOR 0x04000000 1406 1.8 macallan # define RADEON_CAP0_CONFIG_VIDEO_IN_YVYU422 0x00000000 1407 1.8 macallan # define RADEON_CAP0_CONFIG_VIDEO_IN_VYUY422 0x20000000 1408 1.8 macallan # define RADEON_CAP0_CONFIG_VBI_DIVIDE_2 0x40000000 1409 1.8 macallan # define RADEON_CAP0_CONFIG_VBI_DIVIDE_4 0x80000000 1410 1.8 macallan #define RADEON_CAP0_ANC_ODD_OFFSET 0x095C 1411 1.8 macallan #define RADEON_CAP0_ANC_EVEN_OFFSET 0x0960 1412 1.8 macallan #define RADEON_CAP0_ANC_H_WINDOW 0x0964 1413 1.8 macallan #define RADEON_CAP0_VIDEO_SYNC_TEST 0x0968 1414 1.8 macallan #define RADEON_CAP0_ONESHOT_BUF_OFFSET 0x096C 1415 1.8 macallan #define RADEON_CAP0_BUF_STATUS 0x0970 1416 1.8 macallan /* #define RADEON_CAP0_DWNSC_XRATIO 0x0978 */ 1417 1.8 macallan /* #define RADEON_CAP0_XSHARPNESS 0x097C */ 1418 1.8 macallan #define RADEON_CAP0_VBI2_OFFSET 0x0980 1419 1.8 macallan #define RADEON_CAP0_VBI3_OFFSET 0x0984 1420 1.8 macallan #define RADEON_CAP0_ANC2_OFFSET 0x0988 1421 1.8 macallan #define RADEON_CAP0_ANC3_OFFSET 0x098C 1422 1.8 macallan #define RADEON_VID_BUFFER_CONTROL 0x0900 1423 1.8 macallan 1424 1.8 macallan /* second capture unit */ 1425 1.8 macallan 1426 1.8 macallan #define RADEON_CAP1_BUF0_OFFSET 0x0990 1427 1.8 macallan #define RADEON_CAP1_BUF1_OFFSET 0x0994 1428 1.8 macallan #define RADEON_CAP1_BUF0_EVEN_OFFSET 0x0998 1429 1.8 macallan #define RADEON_CAP1_BUF1_EVEN_OFFSET 0x099C 1430 1.8 macallan 1431 1.8 macallan #define RADEON_CAP1_BUF_PITCH 0x09A0 1432 1.8 macallan #define RADEON_CAP1_V_WINDOW 0x09A4 1433 1.8 macallan #define RADEON_CAP1_H_WINDOW 0x09A8 1434 1.8 macallan #define RADEON_CAP1_VBI_ODD_OFFSET 0x09AC 1435 1.8 macallan #define RADEON_CAP1_VBI_EVEN_OFFSET 0x09B0 1436 1.8 macallan #define RADEON_CAP1_VBI_V_WINDOW 0x09B4 1437 1.8 macallan #define RADEON_CAP1_VBI_H_WINDOW 0x09B8 1438 1.8 macallan #define RADEON_CAP1_PORT_MODE_CNTL 0x09BC 1439 1.8 macallan #define RADEON_CAP1_TRIG_CNTL 0x09C0 1440 1.8 macallan #define RADEON_CAP1_DEBUG 0x09C4 1441 1.8 macallan #define RADEON_CAP1_CONFIG 0x09C8 1442 1.8 macallan #define RADEON_CAP1_ANC_ODD_OFFSET 0x09CC 1443 1.8 macallan #define RADEON_CAP1_ANC_EVEN_OFFSET 0x09D0 1444 1.8 macallan #define RADEON_CAP1_ANC_H_WINDOW 0x09D4 1445 1.8 macallan #define RADEON_CAP1_VIDEO_SYNC_TEST 0x09D8 1446 1.8 macallan #define RADEON_CAP1_ONESHOT_BUF_OFFSET 0x09DC 1447 1.8 macallan #define RADEON_CAP1_BUF_STATUS 0x09E0 1448 1.8 macallan #define RADEON_CAP1_DWNSC_XRATIO 0x09E8 1449 1.8 macallan #define RADEON_CAP1_XSHARPNESS 0x09EC 1450 1.8 macallan 1451 1.8 macallan /* misc multimedia registers */ 1452 1.8 macallan 1453 1.8 macallan #define RADEON_IDCT_RUNS 0x1F80 1454 1.8 macallan #define RADEON_IDCT_LEVELS 0x1F84 1455 1.8 macallan #define RADEON_IDCT_CONTROL 0x1FBC 1456 1.8 macallan #define RADEON_IDCT_AUTH_CONTROL 0x1F88 1457 1.8 macallan #define RADEON_IDCT_AUTH 0x1F8C 1458 1.8 macallan 1459 1.1 gdamore #define RADEON_P2PLL_CNTL 0x002a /* P2PLL */ 1460 1.1 gdamore # define RADEON_P2PLL_RESET (1 << 0) 1461 1.1 gdamore # define RADEON_P2PLL_SLEEP (1 << 1) 1462 1.8 macallan # define RADEON_P2PLL_PVG_MASK (7 << 11) 1463 1.8 macallan # define RADEON_P2PLL_PVG_SHIFT 11 1464 1.1 gdamore # define RADEON_P2PLL_ATOMIC_UPDATE_EN (1 << 16) 1465 1.1 gdamore # define RADEON_P2PLL_VGA_ATOMIC_UPDATE_EN (1 << 17) 1466 1.1 gdamore # define RADEON_P2PLL_ATOMIC_UPDATE_VSYNC (1 << 18) 1467 1.1 gdamore #define RADEON_P2PLL_DIV_0 0x002c 1468 1.1 gdamore # define RADEON_P2PLL_FB0_DIV_MASK 0x07ff 1469 1.1 gdamore # define RADEON_P2PLL_POST0_DIV_MASK 0x00070000 1470 1.1 gdamore #define RADEON_P2PLL_REF_DIV 0x002B /* PLL */ 1471 1.1 gdamore # define RADEON_P2PLL_REF_DIV_MASK 0x03ff 1472 1.1 gdamore # define RADEON_P2PLL_ATOMIC_UPDATE_R (1 << 15) /* same as _W */ 1473 1.1 gdamore # define RADEON_P2PLL_ATOMIC_UPDATE_W (1 << 15) /* same as _R */ 1474 1.1 gdamore # define R300_PPLL_REF_DIV_ACC_MASK (0x3ff << 18) 1475 1.1 gdamore # define R300_PPLL_REF_DIV_ACC_SHIFT 18 1476 1.1 gdamore #define RADEON_PALETTE_DATA 0x00b4 1477 1.1 gdamore #define RADEON_PALETTE_30_DATA 0x00b8 1478 1.1 gdamore #define RADEON_PALETTE_INDEX 0x00b0 1479 1.1 gdamore #define RADEON_PCI_GART_PAGE 0x017c 1480 1.1 gdamore #define RADEON_PIXCLKS_CNTL 0x002d 1481 1.1 gdamore # define RADEON_PIX2CLK_SRC_SEL_MASK 0x03 1482 1.1 gdamore # define RADEON_PIX2CLK_SRC_SEL_CPUCLK 0x00 1483 1.1 gdamore # define RADEON_PIX2CLK_SRC_SEL_PSCANCLK 0x01 1484 1.1 gdamore # define RADEON_PIX2CLK_SRC_SEL_BYTECLK 0x02 1485 1.1 gdamore # define RADEON_PIX2CLK_SRC_SEL_P2PLLCLK 0x03 1486 1.1 gdamore # define RADEON_PIX2CLK_ALWAYS_ONb (1<<6) 1487 1.1 gdamore # define RADEON_PIX2CLK_DAC_ALWAYS_ONb (1<<7) 1488 1.1 gdamore # define RADEON_PIXCLK_TV_SRC_SEL (1 << 8) 1489 1.1 gdamore # define RADEON_DISP_TVOUT_PIXCLK_TV_ALWAYS_ONb (1 << 9) 1490 1.1 gdamore # define R300_DVOCLK_ALWAYS_ONb (1 << 10) 1491 1.1 gdamore # define RADEON_PIXCLK_BLEND_ALWAYS_ONb (1 << 11) 1492 1.1 gdamore # define RADEON_PIXCLK_GV_ALWAYS_ONb (1 << 12) 1493 1.1 gdamore # define RADEON_PIXCLK_DIG_TMDS_ALWAYS_ONb (1 << 13) 1494 1.1 gdamore # define R300_PIXCLK_DVO_ALWAYS_ONb (1 << 13) 1495 1.1 gdamore # define RADEON_PIXCLK_LVDS_ALWAYS_ONb (1 << 14) 1496 1.1 gdamore # define RADEON_PIXCLK_TMDS_ALWAYS_ONb (1 << 15) 1497 1.1 gdamore # define R300_PIXCLK_TRANS_ALWAYS_ONb (1 << 16) 1498 1.1 gdamore # define R300_PIXCLK_TVO_ALWAYS_ONb (1 << 17) 1499 1.1 gdamore # define R300_P2G2CLK_ALWAYS_ONb (1 << 18) 1500 1.1 gdamore # define R300_P2G2CLK_DAC_ALWAYS_ONb (1 << 19) 1501 1.1 gdamore # define R300_DISP_DAC_PIXCLK_DAC2_BLANK_OFF (1 << 23) 1502 1.1 gdamore #define RADEON_PLANE_3D_MASK_C 0x1d44 1503 1.1 gdamore #define RADEON_PLL_TEST_CNTL 0x0013 /* PLL */ 1504 1.8 macallan # define RADEON_PLL_MASK_READ_B (1 << 9) 1505 1.1 gdamore #define RADEON_PMI_CAP_ID 0x0f5c /* PCI */ 1506 1.1 gdamore #define RADEON_PMI_DATA 0x0f63 /* PCI */ 1507 1.1 gdamore #define RADEON_PMI_NXT_CAP_PTR 0x0f5d /* PCI */ 1508 1.1 gdamore #define RADEON_PMI_PMC_REG 0x0f5e /* PCI */ 1509 1.1 gdamore #define RADEON_PMI_PMCSR_REG 0x0f60 /* PCI */ 1510 1.1 gdamore #define RADEON_PMI_REGISTER 0x0f5c /* PCI */ 1511 1.1 gdamore #define RADEON_PPLL_CNTL 0x0002 /* PLL */ 1512 1.1 gdamore # define RADEON_PPLL_RESET (1 << 0) 1513 1.1 gdamore # define RADEON_PPLL_SLEEP (1 << 1) 1514 1.1 gdamore # define RADEON_PPLL_REFCLK_SEL (1 << 4) 1515 1.1 gdamore # define RADEON_PPLL_FBCLK_SEL (1 << 5) 1516 1.8 macallan # define RADEON_PPLL_PVG_MASK (7 << 11) 1517 1.8 macallan # define RADEON_PPLL_PVG_SHIFT 11 1518 1.1 gdamore # define RADEON_PPLL_ATOMIC_UPDATE_EN (1 << 16) 1519 1.1 gdamore # define RADEON_PPLL_VGA_ATOMIC_UPDATE_EN (1 << 17) 1520 1.1 gdamore # define RADEON_PPLL_ATOMIC_UPDATE_VSYNC (1 << 18) 1521 1.1 gdamore #define RADEON_PPLL_DIV_0 0x0004 /* PLL */ 1522 1.1 gdamore #define RADEON_PPLL_DIV_1 0x0005 /* PLL */ 1523 1.1 gdamore #define RADEON_PPLL_DIV_2 0x0006 /* PLL */ 1524 1.1 gdamore #define RADEON_PPLL_DIV_3 0x0007 /* PLL */ 1525 1.1 gdamore # define RADEON_PPLL_FB3_DIV_MASK 0x07ff 1526 1.1 gdamore # define RADEON_PPLL_POST3_DIV_MASK 0x00070000 1527 1.1 gdamore #define RADEON_PPLL_REF_DIV 0x0003 /* PLL */ 1528 1.1 gdamore # define RADEON_PPLL_REF_DIV_MASK 0x03ff 1529 1.1 gdamore # define RADEON_PPLL_ATOMIC_UPDATE_R (1 << 15) /* same as _W */ 1530 1.1 gdamore # define RADEON_PPLL_ATOMIC_UPDATE_W (1 << 15) /* same as _R */ 1531 1.1 gdamore #define RADEON_PWR_MNGMT_CNTL_STATUS 0x0f60 /* PCI */ 1532 1.1 gdamore 1533 1.1 gdamore #define RADEON_RBBM_GUICNTL 0x172c 1534 1.1 gdamore # define RADEON_HOST_DATA_SWAP_NONE (0 << 0) 1535 1.1 gdamore # define RADEON_HOST_DATA_SWAP_16BIT (1 << 0) 1536 1.1 gdamore # define RADEON_HOST_DATA_SWAP_32BIT (2 << 0) 1537 1.1 gdamore # define RADEON_HOST_DATA_SWAP_HDW (3 << 0) 1538 1.1 gdamore #define RADEON_RBBM_SOFT_RESET 0x00f0 1539 1.1 gdamore # define RADEON_SOFT_RESET_CP (1 << 0) 1540 1.1 gdamore # define RADEON_SOFT_RESET_HI (1 << 1) 1541 1.1 gdamore # define RADEON_SOFT_RESET_SE (1 << 2) 1542 1.1 gdamore # define RADEON_SOFT_RESET_RE (1 << 3) 1543 1.1 gdamore # define RADEON_SOFT_RESET_PP (1 << 4) 1544 1.1 gdamore # define RADEON_SOFT_RESET_E2 (1 << 5) 1545 1.1 gdamore # define RADEON_SOFT_RESET_RB (1 << 6) 1546 1.1 gdamore # define RADEON_SOFT_RESET_HDP (1 << 7) 1547 1.1 gdamore #define RADEON_RBBM_STATUS 0x0e40 1548 1.1 gdamore # define RADEON_RBBM_FIFOCNT_MASK 0x007f 1549 1.1 gdamore # define RADEON_RBBM_ACTIVE (1 << 31) 1550 1.1 gdamore #define RADEON_RBBM_CNTL 0x0e44 1551 1.1 gdamore # define RADEON_RB_SETTLE_SHIFT 0 1552 1.1 gdamore # define RADEON_ABORTCLKS_HI_SHIFT 4 1553 1.1 gdamore # define RADEON_ABORTCLKS_CP_SHIFT 8 1554 1.1 gdamore # define RADEON_ABORTCLKS_CFIFO_SHIFT 12 1555 1.1 gdamore #define RADEON_RB2D_DSTCACHE_CTLSTAT 0x342c 1556 1.1 gdamore # define RADEON_RB2D_DC_FLUSH (3 << 0) 1557 1.1 gdamore # define RADEON_RB2D_DC_FREE (3 << 2) 1558 1.1 gdamore # define RADEON_RB2D_DC_FLUSH_ALL 0xf 1559 1.1 gdamore # define RADEON_RB2D_DC_BUSY (1 << 31) 1560 1.4 macallan #define RADEON_RB3D_DSTCACHE_CTLSTAT 0x325C 1561 1.4 macallan # define RADEON_RB3D_DC_FLUSH (3 << 0) 1562 1.4 macallan # define RADEON_RB3D_DC_FREE (3 << 2) 1563 1.4 macallan # define RADEON_RB3D_DC_FLUSH_ALL 0xf 1564 1.4 macallan # define RADEON_RB3D_DC_BUSY (1 << 31) 1565 1.4 macallan #define R300_DSTCACHE_CTLSTAT 0x1714 1566 1.4 macallan # define R300_DC_FLUSH_2D (1 << 0) 1567 1.4 macallan # define R300_DC_FREE_2D (1 << 2) 1568 1.4 macallan # define R300_RB2D_DC_FLUSH_ALL (R300_DC_FLUSH_2D | R300_DC_FREE_2D) 1569 1.4 macallan # define R300_RB2D_DC_BUSY (1 << 31) 1570 1.4 macallan 1571 1.1 gdamore #define RADEON_RB2D_DSTCACHE_MODE 0x3428 1572 1.8 macallan #define RADEON_DSTCACHE_CTLSTAT 0x1714 1573 1.8 macallan 1574 1.8 macallan #define RADEON_RB3D_ZCACHE_MODE 0x3250 1575 1.8 macallan #define RADEON_RB3D_ZCACHE_CTLSTAT 0x3254 1576 1.8 macallan # define RADEON_RB3D_ZC_FLUSH_ALL 0x5 1577 1.8 macallan #define RADEON_RB3D_DSTCACHE_MODE 0x3258 1578 1.8 macallan # define RADEON_RB3D_DC_CACHE_ENABLE (0) 1579 1.8 macallan # define RADEON_RB3D_DC_2D_CACHE_DISABLE (1) 1580 1.8 macallan # define RADEON_RB3D_DC_3D_CACHE_DISABLE (2) 1581 1.8 macallan # define RADEON_RB3D_DC_CACHE_DISABLE (3) 1582 1.8 macallan # define RADEON_RB3D_DC_2D_CACHE_LINESIZE_128 (1 << 2) 1583 1.8 macallan # define RADEON_RB3D_DC_3D_CACHE_LINESIZE_128 (2 << 2) 1584 1.8 macallan # define RADEON_RB3D_DC_2D_CACHE_AUTOFLUSH (1 << 8) 1585 1.8 macallan # define RADEON_RB3D_DC_3D_CACHE_AUTOFLUSH (2 << 8) 1586 1.8 macallan # define R200_RB3D_DC_2D_CACHE_AUTOFREE (1 << 10) 1587 1.8 macallan # define R200_RB3D_DC_3D_CACHE_AUTOFREE (2 << 10) 1588 1.8 macallan # define RADEON_RB3D_DC_FORCE_RMW (1 << 16) 1589 1.8 macallan # define RADEON_RB3D_DC_DISABLE_RI_FILL (1 << 24) 1590 1.8 macallan # define RADEON_RB3D_DC_DISABLE_RI_READ (1 << 25) 1591 1.8 macallan 1592 1.8 macallan #define RADEON_RB3D_DSTCACHE_CTLSTAT 0x325C 1593 1.8 macallan # define RADEON_RB3D_DC_FLUSH (3 << 0) 1594 1.8 macallan # define RADEON_RB3D_DC_FREE (3 << 2) 1595 1.8 macallan # define RADEON_RB3D_DC_FLUSH_ALL 0xf 1596 1.8 macallan # define RADEON_RB3D_DC_BUSY (1 << 31) 1597 1.8 macallan 1598 1.1 gdamore #define RADEON_REG_BASE 0x0f18 /* PCI */ 1599 1.1 gdamore #define RADEON_REGPROG_INF 0x0f09 /* PCI */ 1600 1.1 gdamore #define RADEON_REVISION_ID 0x0f08 /* PCI */ 1601 1.1 gdamore 1602 1.1 gdamore #define RADEON_SC_BOTTOM 0x164c 1603 1.1 gdamore #define RADEON_SC_BOTTOM_RIGHT 0x16f0 1604 1.1 gdamore #define RADEON_SC_BOTTOM_RIGHT_C 0x1c8c 1605 1.1 gdamore #define RADEON_SC_LEFT 0x1640 1606 1.1 gdamore #define RADEON_SC_RIGHT 0x1644 1607 1.1 gdamore #define RADEON_SC_TOP 0x1648 1608 1.1 gdamore #define RADEON_SC_TOP_LEFT 0x16ec 1609 1.1 gdamore #define RADEON_SC_TOP_LEFT_C 0x1c88 1610 1.1 gdamore # define RADEON_SC_SIGN_MASK_LO 0x8000 1611 1.1 gdamore # define RADEON_SC_SIGN_MASK_HI 0x80000000 1612 1.1 gdamore #define RADEON_SCLK_CNTL 0x000d /* PLL */ 1613 1.1 gdamore # define RADEON_SCLK_SRC_SEL_MASK 0x0007 1614 1.1 gdamore # define RADEON_DYN_STOP_LAT_MASK 0x00007ff8 1615 1.1 gdamore # define RADEON_CP_MAX_DYN_STOP_LAT 0x0008 1616 1.1 gdamore # define RADEON_SCLK_FORCEON_MASK 0xffff8000 1617 1.1 gdamore # define RADEON_SCLK_FORCE_DISP2 (1<<15) 1618 1.1 gdamore # define RADEON_SCLK_FORCE_CP (1<<16) 1619 1.1 gdamore # define RADEON_SCLK_FORCE_HDP (1<<17) 1620 1.1 gdamore # define RADEON_SCLK_FORCE_DISP1 (1<<18) 1621 1.1 gdamore # define RADEON_SCLK_FORCE_TOP (1<<19) 1622 1.1 gdamore # define RADEON_SCLK_FORCE_E2 (1<<20) 1623 1.1 gdamore # define RADEON_SCLK_FORCE_SE (1<<21) 1624 1.1 gdamore # define RADEON_SCLK_FORCE_IDCT (1<<22) 1625 1.1 gdamore # define RADEON_SCLK_FORCE_VIP (1<<23) 1626 1.1 gdamore # define RADEON_SCLK_FORCE_RE (1<<24) 1627 1.1 gdamore # define RADEON_SCLK_FORCE_PB (1<<25) 1628 1.1 gdamore # define RADEON_SCLK_FORCE_TAM (1<<26) 1629 1.1 gdamore # define RADEON_SCLK_FORCE_TDM (1<<27) 1630 1.1 gdamore # define RADEON_SCLK_FORCE_RB (1<<28) 1631 1.1 gdamore # define RADEON_SCLK_FORCE_TV_SCLK (1<<29) 1632 1.1 gdamore # define RADEON_SCLK_FORCE_SUBPIC (1<<30) 1633 1.1 gdamore # define RADEON_SCLK_FORCE_OV0 (1<<31) 1634 1.1 gdamore # define R300_SCLK_FORCE_VAP (1<<21) 1635 1.1 gdamore # define R300_SCLK_FORCE_SR (1<<25) 1636 1.1 gdamore # define R300_SCLK_FORCE_PX (1<<26) 1637 1.1 gdamore # define R300_SCLK_FORCE_TX (1<<27) 1638 1.1 gdamore # define R300_SCLK_FORCE_US (1<<28) 1639 1.1 gdamore # define R300_SCLK_FORCE_SU (1<<30) 1640 1.1 gdamore #define R300_SCLK_CNTL2 0x1e /* PLL */ 1641 1.1 gdamore # define R300_SCLK_TCL_MAX_DYN_STOP_LAT (1<<10) 1642 1.1 gdamore # define R300_SCLK_GA_MAX_DYN_STOP_LAT (1<<11) 1643 1.1 gdamore # define R300_SCLK_CBA_MAX_DYN_STOP_LAT (1<<12) 1644 1.1 gdamore # define R300_SCLK_FORCE_TCL (1<<13) 1645 1.1 gdamore # define R300_SCLK_FORCE_CBA (1<<14) 1646 1.1 gdamore # define R300_SCLK_FORCE_GA (1<<15) 1647 1.1 gdamore #define RADEON_SCLK_MORE_CNTL 0x0035 /* PLL */ 1648 1.1 gdamore # define RADEON_SCLK_MORE_MAX_DYN_STOP_LAT 0x0007 1649 1.1 gdamore # define RADEON_SCLK_MORE_FORCEON 0x0700 1650 1.1 gdamore #define RADEON_SDRAM_MODE_REG 0x0158 1651 1.1 gdamore #define RADEON_SEQ8_DATA 0x03c5 /* VGA */ 1652 1.1 gdamore #define RADEON_SEQ8_IDX 0x03c4 /* VGA */ 1653 1.1 gdamore #define RADEON_SNAPSHOT_F_COUNT 0x0244 1654 1.1 gdamore #define RADEON_SNAPSHOT_VH_COUNTS 0x0240 1655 1.1 gdamore #define RADEON_SNAPSHOT_VIF_COUNT 0x024c 1656 1.1 gdamore #define RADEON_SRC_OFFSET 0x15ac 1657 1.1 gdamore #define RADEON_SRC_PITCH 0x15b0 1658 1.1 gdamore #define RADEON_SRC_PITCH_OFFSET 0x1428 1659 1.1 gdamore #define RADEON_SRC_SC_BOTTOM 0x165c 1660 1.1 gdamore #define RADEON_SRC_SC_BOTTOM_RIGHT 0x16f4 1661 1.1 gdamore #define RADEON_SRC_SC_RIGHT 0x1654 1662 1.1 gdamore #define RADEON_SRC_X 0x1414 1663 1.1 gdamore #define RADEON_SRC_X_Y 0x1590 1664 1.1 gdamore #define RADEON_SRC_Y 0x1418 1665 1.1 gdamore #define RADEON_SRC_Y_X 0x1434 1666 1.1 gdamore #define RADEON_STATUS 0x0f06 /* PCI */ 1667 1.1 gdamore #define RADEON_SUBPIC_CNTL 0x0540 /* ? */ 1668 1.1 gdamore #define RADEON_SUB_CLASS 0x0f0a /* PCI */ 1669 1.1 gdamore #define RADEON_SURFACE_CNTL 0x0b00 1670 1.1 gdamore # define RADEON_SURF_TRANSLATION_DIS (1 << 8) 1671 1.1 gdamore # define RADEON_NONSURF_AP0_SWP_16BPP (1 << 20) 1672 1.1 gdamore # define RADEON_NONSURF_AP0_SWP_32BPP (1 << 21) 1673 1.1 gdamore # define RADEON_NONSURF_AP1_SWP_16BPP (1 << 22) 1674 1.1 gdamore # define RADEON_NONSURF_AP1_SWP_32BPP (1 << 23) 1675 1.1 gdamore #define RADEON_SURFACE0_INFO 0x0b0c 1676 1.8 macallan # define RADEON_SURF_TILE_COLOR_MACRO (0 << 16) 1677 1.8 macallan # define RADEON_SURF_TILE_COLOR_BOTH (1 << 16) 1678 1.8 macallan # define RADEON_SURF_TILE_DEPTH_32BPP (2 << 16) 1679 1.8 macallan # define RADEON_SURF_TILE_DEPTH_16BPP (3 << 16) 1680 1.8 macallan # define R200_SURF_TILE_NONE (0 << 16) 1681 1.8 macallan # define R200_SURF_TILE_COLOR_MACRO (1 << 16) 1682 1.8 macallan # define R200_SURF_TILE_COLOR_MICRO (2 << 16) 1683 1.8 macallan # define R200_SURF_TILE_COLOR_BOTH (3 << 16) 1684 1.8 macallan # define R200_SURF_TILE_DEPTH_32BPP (4 << 16) 1685 1.8 macallan # define R200_SURF_TILE_DEPTH_16BPP (5 << 16) 1686 1.8 macallan # define R300_SURF_TILE_NONE (0 << 16) 1687 1.8 macallan # define R300_SURF_TILE_COLOR_MACRO (1 << 16) 1688 1.8 macallan # define R300_SURF_TILE_DEPTH_32BPP (2 << 16) 1689 1.8 macallan # define RADEON_SURF_AP0_SWP_16BPP (1 << 20) 1690 1.8 macallan # define RADEON_SURF_AP0_SWP_32BPP (1 << 21) 1691 1.8 macallan # define RADEON_SURF_AP1_SWP_16BPP (1 << 22) 1692 1.8 macallan # define RADEON_SURF_AP1_SWP_32BPP (1 << 23) 1693 1.1 gdamore #define RADEON_SURFACE0_LOWER_BOUND 0x0b04 1694 1.1 gdamore #define RADEON_SURFACE0_UPPER_BOUND 0x0b08 1695 1.1 gdamore #define RADEON_SURFACE1_INFO 0x0b1c 1696 1.1 gdamore #define RADEON_SURFACE1_LOWER_BOUND 0x0b14 1697 1.1 gdamore #define RADEON_SURFACE1_UPPER_BOUND 0x0b18 1698 1.1 gdamore #define RADEON_SURFACE2_INFO 0x0b2c 1699 1.1 gdamore #define RADEON_SURFACE2_LOWER_BOUND 0x0b24 1700 1.1 gdamore #define RADEON_SURFACE2_UPPER_BOUND 0x0b28 1701 1.1 gdamore #define RADEON_SURFACE3_INFO 0x0b3c 1702 1.1 gdamore #define RADEON_SURFACE3_LOWER_BOUND 0x0b34 1703 1.1 gdamore #define RADEON_SURFACE3_UPPER_BOUND 0x0b38 1704 1.1 gdamore #define RADEON_SURFACE4_INFO 0x0b4c 1705 1.1 gdamore #define RADEON_SURFACE4_LOWER_BOUND 0x0b44 1706 1.1 gdamore #define RADEON_SURFACE4_UPPER_BOUND 0x0b48 1707 1.1 gdamore #define RADEON_SURFACE5_INFO 0x0b5c 1708 1.1 gdamore #define RADEON_SURFACE5_LOWER_BOUND 0x0b54 1709 1.1 gdamore #define RADEON_SURFACE5_UPPER_BOUND 0x0b58 1710 1.1 gdamore #define RADEON_SURFACE6_INFO 0x0b6c 1711 1.1 gdamore #define RADEON_SURFACE6_LOWER_BOUND 0x0b64 1712 1.1 gdamore #define RADEON_SURFACE6_UPPER_BOUND 0x0b68 1713 1.1 gdamore #define RADEON_SURFACE7_INFO 0x0b7c 1714 1.1 gdamore #define RADEON_SURFACE7_LOWER_BOUND 0x0b74 1715 1.1 gdamore #define RADEON_SURFACE7_UPPER_BOUND 0x0b78 1716 1.1 gdamore #define RADEON_SW_SEMAPHORE 0x013c 1717 1.1 gdamore 1718 1.1 gdamore #define RADEON_TEST_DEBUG_CNTL 0x0120 1719 1.8 macallan #define RADEON_TEST_DEBUG_CNTL__TEST_DEBUG_OUT_EN 0x00000001 1720 1.8 macallan 1721 1.1 gdamore #define RADEON_TEST_DEBUG_MUX 0x0124 1722 1.1 gdamore #define RADEON_TEST_DEBUG_OUT 0x012c 1723 1.1 gdamore #define RADEON_TMDS_CNTL 0x0294 1724 1.1 gdamore #define RADEON_TMDS_PLL_CNTL 0x02a8 1725 1.1 gdamore #define RADEON_TMDS_TRANSMITTER_CNTL 0x02a4 1726 1.1 gdamore # define RADEON_TMDS_TRANSMITTER_PLLEN 1 1727 1.1 gdamore # define RADEON_TMDS_TRANSMITTER_PLLRST 2 1728 1.1 gdamore #define RADEON_TRAIL_BRES_DEC 0x1614 1729 1.1 gdamore #define RADEON_TRAIL_BRES_ERR 0x160c 1730 1.1 gdamore #define RADEON_TRAIL_BRES_INC 0x1610 1731 1.1 gdamore #define RADEON_TRAIL_X 0x1618 1732 1.1 gdamore #define RADEON_TRAIL_X_SUB 0x1620 1733 1.1 gdamore 1734 1.1 gdamore #define RADEON_VCLK_ECP_CNTL 0x0008 /* PLL */ 1735 1.1 gdamore # define RADEON_VCLK_SRC_SEL_MASK 0x03 1736 1.1 gdamore # define RADEON_VCLK_SRC_SEL_CPUCLK 0x00 1737 1.1 gdamore # define RADEON_VCLK_SRC_SEL_PSCANCLK 0x01 1738 1.1 gdamore # define RADEON_VCLK_SRC_SEL_BYTECLK 0x02 1739 1.1 gdamore # define RADEON_VCLK_SRC_SEL_PPLLCLK 0x03 1740 1.1 gdamore # define RADEON_PIXCLK_ALWAYS_ONb (1<<6) 1741 1.1 gdamore # define RADEON_PIXCLK_DAC_ALWAYS_ONb (1<<7) 1742 1.1 gdamore # define R300_DISP_DAC_PIXCLK_DAC_BLANK_OFF (1<<23) 1743 1.1 gdamore 1744 1.1 gdamore #define RADEON_VENDOR_ID 0x0f00 /* PCI */ 1745 1.1 gdamore #define RADEON_VGA_DDA_CONFIG 0x02e8 1746 1.1 gdamore #define RADEON_VGA_DDA_ON_OFF 0x02ec 1747 1.1 gdamore #define RADEON_VID_BUFFER_CONTROL 0x0900 1748 1.1 gdamore #define RADEON_VIDEOMUX_CNTL 0x0190 1749 1.8 macallan 1750 1.8 macallan /* VIP bus */ 1751 1.8 macallan #define RADEON_VIPH_CH0_DATA 0x0c00 1752 1.8 macallan #define RADEON_VIPH_CH1_DATA 0x0c04 1753 1.8 macallan #define RADEON_VIPH_CH2_DATA 0x0c08 1754 1.8 macallan #define RADEON_VIPH_CH3_DATA 0x0c0c 1755 1.8 macallan #define RADEON_VIPH_CH0_ADDR 0x0c10 1756 1.8 macallan #define RADEON_VIPH_CH1_ADDR 0x0c14 1757 1.8 macallan #define RADEON_VIPH_CH2_ADDR 0x0c18 1758 1.8 macallan #define RADEON_VIPH_CH3_ADDR 0x0c1c 1759 1.8 macallan #define RADEON_VIPH_CH0_SBCNT 0x0c20 1760 1.8 macallan #define RADEON_VIPH_CH1_SBCNT 0x0c24 1761 1.8 macallan #define RADEON_VIPH_CH2_SBCNT 0x0c28 1762 1.8 macallan #define RADEON_VIPH_CH3_SBCNT 0x0c2c 1763 1.8 macallan #define RADEON_VIPH_CH0_ABCNT 0x0c30 1764 1.8 macallan #define RADEON_VIPH_CH1_ABCNT 0x0c34 1765 1.8 macallan #define RADEON_VIPH_CH2_ABCNT 0x0c38 1766 1.8 macallan #define RADEON_VIPH_CH3_ABCNT 0x0c3c 1767 1.8 macallan #define RADEON_VIPH_CONTROL 0x0c40 1768 1.7 macallan # define RADEON_VIP_BUSY 0 1769 1.7 macallan # define RADEON_VIP_IDLE 1 1770 1.7 macallan # define RADEON_VIP_RESET 2 1771 1.7 macallan # define RADEON_VIPH_EN (1 << 21) 1772 1.8 macallan #define RADEON_VIPH_DV_LAT 0x0c44 1773 1.8 macallan #define RADEON_VIPH_BM_CHUNK 0x0c48 1774 1.8 macallan #define RADEON_VIPH_DV_INT 0x0c4c 1775 1.8 macallan #define RADEON_VIPH_TIMEOUT_STAT 0x0c50 1776 1.8 macallan #define RADEON_VIPH_TIMEOUT_STAT__VIPH_REG_STAT 0x00000010 1777 1.8 macallan #define RADEON_VIPH_TIMEOUT_STAT__VIPH_REG_AK 0x00000010 1778 1.8 macallan #define RADEON_VIPH_TIMEOUT_STAT__VIPH_REGR_DIS 0x01000000 1779 1.8 macallan 1780 1.8 macallan #define RADEON_VIPH_REG_DATA 0x0084 1781 1.8 macallan #define RADEON_VIPH_REG_ADDR 0x0080 1782 1.8 macallan 1783 1.1 gdamore 1784 1.1 gdamore #define RADEON_WAIT_UNTIL 0x1720 1785 1.1 gdamore # define RADEON_WAIT_CRTC_PFLIP (1 << 0) 1786 1.8 macallan # define RADEON_WAIT_RE_CRTC_VLINE (1 << 1) 1787 1.8 macallan # define RADEON_WAIT_FE_CRTC_VLINE (1 << 2) 1788 1.8 macallan # define RADEON_WAIT_CRTC_VLINE (1 << 3) 1789 1.8 macallan # define RADEON_WAIT_DMA_VID_IDLE (1 << 8) 1790 1.8 macallan # define RADEON_WAIT_DMA_GUI_IDLE (1 << 9) 1791 1.8 macallan # define RADEON_WAIT_CMDFIFO (1 << 10) /* wait for CMDFIFO_ENTRIES */ 1792 1.8 macallan # define RADEON_WAIT_OV0_FLIP (1 << 11) 1793 1.8 macallan # define RADEON_WAIT_AGP_FLUSH (1 << 13) 1794 1.8 macallan # define RADEON_WAIT_2D_IDLE (1 << 14) 1795 1.8 macallan # define RADEON_WAIT_3D_IDLE (1 << 15) 1796 1.1 gdamore # define RADEON_WAIT_2D_IDLECLEAN (1 << 16) 1797 1.1 gdamore # define RADEON_WAIT_3D_IDLECLEAN (1 << 17) 1798 1.1 gdamore # define RADEON_WAIT_HOST_IDLECLEAN (1 << 18) 1799 1.8 macallan # define RADEON_CMDFIFO_ENTRIES_SHIFT 10 1800 1.8 macallan # define RADEON_CMDFIFO_ENTRIES_MASK 0x7f 1801 1.8 macallan # define RADEON_WAIT_VAP_IDLE (1 << 28) 1802 1.8 macallan # define RADEON_WAIT_BOTH_CRTC_PFLIP (1 << 30) 1803 1.8 macallan # define RADEON_ENG_DISPLAY_SELECT_CRTC0 (0 << 31) 1804 1.8 macallan # define RADEON_ENG_DISPLAY_SELECT_CRTC1 (1 << 31) 1805 1.1 gdamore 1806 1.1 gdamore #define RADEON_X_MPLL_REF_FB_DIV 0x000a /* PLL */ 1807 1.1 gdamore #define RADEON_XCLK_CNTL 0x000d /* PLL */ 1808 1.1 gdamore #define RADEON_XDLL_CNTL 0x000c /* PLL */ 1809 1.1 gdamore #define RADEON_XPLL_CNTL 0x000b /* PLL */ 1810 1.1 gdamore 1811 1.1 gdamore 1812 1.1 gdamore 1813 1.1 gdamore /* Registers for 3D/TCL */ 1814 1.1 gdamore #define RADEON_PP_BORDER_COLOR_0 0x1d40 1815 1.1 gdamore #define RADEON_PP_BORDER_COLOR_1 0x1d44 1816 1.1 gdamore #define RADEON_PP_BORDER_COLOR_2 0x1d48 1817 1.1 gdamore #define RADEON_PP_CNTL 0x1c38 1818 1.1 gdamore # define RADEON_STIPPLE_ENABLE (1 << 0) 1819 1.1 gdamore # define RADEON_SCISSOR_ENABLE (1 << 1) 1820 1.1 gdamore # define RADEON_PATTERN_ENABLE (1 << 2) 1821 1.1 gdamore # define RADEON_SHADOW_ENABLE (1 << 3) 1822 1.1 gdamore # define RADEON_TEX_ENABLE_MASK (0xf << 4) 1823 1.1 gdamore # define RADEON_TEX_0_ENABLE (1 << 4) 1824 1.1 gdamore # define RADEON_TEX_1_ENABLE (1 << 5) 1825 1.1 gdamore # define RADEON_TEX_2_ENABLE (1 << 6) 1826 1.1 gdamore # define RADEON_TEX_3_ENABLE (1 << 7) 1827 1.1 gdamore # define RADEON_TEX_BLEND_ENABLE_MASK (0xf << 12) 1828 1.1 gdamore # define RADEON_TEX_BLEND_0_ENABLE (1 << 12) 1829 1.1 gdamore # define RADEON_TEX_BLEND_1_ENABLE (1 << 13) 1830 1.1 gdamore # define RADEON_TEX_BLEND_2_ENABLE (1 << 14) 1831 1.1 gdamore # define RADEON_TEX_BLEND_3_ENABLE (1 << 15) 1832 1.1 gdamore # define RADEON_PLANAR_YUV_ENABLE (1 << 20) 1833 1.1 gdamore # define RADEON_SPECULAR_ENABLE (1 << 21) 1834 1.1 gdamore # define RADEON_FOG_ENABLE (1 << 22) 1835 1.1 gdamore # define RADEON_ALPHA_TEST_ENABLE (1 << 23) 1836 1.1 gdamore # define RADEON_ANTI_ALIAS_NONE (0 << 24) 1837 1.1 gdamore # define RADEON_ANTI_ALIAS_LINE (1 << 24) 1838 1.1 gdamore # define RADEON_ANTI_ALIAS_POLY (2 << 24) 1839 1.1 gdamore # define RADEON_ANTI_ALIAS_LINE_POLY (3 << 24) 1840 1.1 gdamore # define RADEON_BUMP_MAP_ENABLE (1 << 26) 1841 1.1 gdamore # define RADEON_BUMPED_MAP_T0 (0 << 27) 1842 1.1 gdamore # define RADEON_BUMPED_MAP_T1 (1 << 27) 1843 1.1 gdamore # define RADEON_BUMPED_MAP_T2 (2 << 27) 1844 1.1 gdamore # define RADEON_TEX_3D_ENABLE_0 (1 << 29) 1845 1.1 gdamore # define RADEON_TEX_3D_ENABLE_1 (1 << 30) 1846 1.1 gdamore # define RADEON_MC_ENABLE (1 << 31) 1847 1.1 gdamore #define RADEON_PP_FOG_COLOR 0x1c18 1848 1.1 gdamore # define RADEON_FOG_COLOR_MASK 0x00ffffff 1849 1.1 gdamore # define RADEON_FOG_VERTEX (0 << 24) 1850 1.1 gdamore # define RADEON_FOG_TABLE (1 << 24) 1851 1.1 gdamore # define RADEON_FOG_USE_DEPTH (0 << 25) 1852 1.1 gdamore # define RADEON_FOG_USE_DIFFUSE_ALPHA (2 << 25) 1853 1.1 gdamore # define RADEON_FOG_USE_SPEC_ALPHA (3 << 25) 1854 1.1 gdamore #define RADEON_PP_LUM_MATRIX 0x1d00 1855 1.1 gdamore #define RADEON_PP_MISC 0x1c14 1856 1.1 gdamore # define RADEON_REF_ALPHA_MASK 0x000000ff 1857 1.1 gdamore # define RADEON_ALPHA_TEST_FAIL (0 << 8) 1858 1.1 gdamore # define RADEON_ALPHA_TEST_LESS (1 << 8) 1859 1.1 gdamore # define RADEON_ALPHA_TEST_LEQUAL (2 << 8) 1860 1.1 gdamore # define RADEON_ALPHA_TEST_EQUAL (3 << 8) 1861 1.1 gdamore # define RADEON_ALPHA_TEST_GEQUAL (4 << 8) 1862 1.1 gdamore # define RADEON_ALPHA_TEST_GREATER (5 << 8) 1863 1.1 gdamore # define RADEON_ALPHA_TEST_NEQUAL (6 << 8) 1864 1.1 gdamore # define RADEON_ALPHA_TEST_PASS (7 << 8) 1865 1.1 gdamore # define RADEON_ALPHA_TEST_OP_MASK (7 << 8) 1866 1.1 gdamore # define RADEON_CHROMA_FUNC_FAIL (0 << 16) 1867 1.1 gdamore # define RADEON_CHROMA_FUNC_PASS (1 << 16) 1868 1.1 gdamore # define RADEON_CHROMA_FUNC_NEQUAL (2 << 16) 1869 1.1 gdamore # define RADEON_CHROMA_FUNC_EQUAL (3 << 16) 1870 1.1 gdamore # define RADEON_CHROMA_KEY_NEAREST (0 << 18) 1871 1.1 gdamore # define RADEON_CHROMA_KEY_ZERO (1 << 18) 1872 1.1 gdamore # define RADEON_SHADOW_ID_AUTO_INC (1 << 20) 1873 1.1 gdamore # define RADEON_SHADOW_FUNC_EQUAL (0 << 21) 1874 1.1 gdamore # define RADEON_SHADOW_FUNC_NEQUAL (1 << 21) 1875 1.1 gdamore # define RADEON_SHADOW_PASS_1 (0 << 22) 1876 1.1 gdamore # define RADEON_SHADOW_PASS_2 (1 << 22) 1877 1.1 gdamore # define RADEON_RIGHT_HAND_CUBE_D3D (0 << 24) 1878 1.1 gdamore # define RADEON_RIGHT_HAND_CUBE_OGL (1 << 24) 1879 1.1 gdamore #define RADEON_PP_ROT_MATRIX_0 0x1d58 1880 1.1 gdamore #define RADEON_PP_ROT_MATRIX_1 0x1d5c 1881 1.1 gdamore #define RADEON_PP_TXFILTER_0 0x1c54 1882 1.1 gdamore #define RADEON_PP_TXFILTER_1 0x1c6c 1883 1.1 gdamore #define RADEON_PP_TXFILTER_2 0x1c84 1884 1.1 gdamore # define RADEON_MAG_FILTER_NEAREST (0 << 0) 1885 1.1 gdamore # define RADEON_MAG_FILTER_LINEAR (1 << 0) 1886 1.1 gdamore # define RADEON_MAG_FILTER_MASK (1 << 0) 1887 1.1 gdamore # define RADEON_MIN_FILTER_NEAREST (0 << 1) 1888 1.1 gdamore # define RADEON_MIN_FILTER_LINEAR (1 << 1) 1889 1.1 gdamore # define RADEON_MIN_FILTER_NEAREST_MIP_NEAREST (2 << 1) 1890 1.1 gdamore # define RADEON_MIN_FILTER_NEAREST_MIP_LINEAR (3 << 1) 1891 1.1 gdamore # define RADEON_MIN_FILTER_LINEAR_MIP_NEAREST (6 << 1) 1892 1.1 gdamore # define RADEON_MIN_FILTER_LINEAR_MIP_LINEAR (7 << 1) 1893 1.1 gdamore # define RADEON_MIN_FILTER_ANISO_NEAREST (8 << 1) 1894 1.1 gdamore # define RADEON_MIN_FILTER_ANISO_LINEAR (9 << 1) 1895 1.1 gdamore # define RADEON_MIN_FILTER_ANISO_NEAREST_MIP_NEAREST (10 << 1) 1896 1.1 gdamore # define RADEON_MIN_FILTER_ANISO_NEAREST_MIP_LINEAR (11 << 1) 1897 1.1 gdamore # define RADEON_MIN_FILTER_MASK (15 << 1) 1898 1.1 gdamore # define RADEON_MAX_ANISO_1_TO_1 (0 << 5) 1899 1.1 gdamore # define RADEON_MAX_ANISO_2_TO_1 (1 << 5) 1900 1.1 gdamore # define RADEON_MAX_ANISO_4_TO_1 (2 << 5) 1901 1.1 gdamore # define RADEON_MAX_ANISO_8_TO_1 (3 << 5) 1902 1.1 gdamore # define RADEON_MAX_ANISO_16_TO_1 (4 << 5) 1903 1.1 gdamore # define RADEON_MAX_ANISO_MASK (7 << 5) 1904 1.1 gdamore # define RADEON_LOD_BIAS_MASK (0xff << 8) 1905 1.1 gdamore # define RADEON_LOD_BIAS_SHIFT 8 1906 1.1 gdamore # define RADEON_MAX_MIP_LEVEL_MASK (0x0f << 16) 1907 1.1 gdamore # define RADEON_MAX_MIP_LEVEL_SHIFT 16 1908 1.1 gdamore # define RADEON_YUV_TO_RGB (1 << 20) 1909 1.1 gdamore # define RADEON_YUV_TEMPERATURE_COOL (0 << 21) 1910 1.1 gdamore # define RADEON_YUV_TEMPERATURE_HOT (1 << 21) 1911 1.1 gdamore # define RADEON_YUV_TEMPERATURE_MASK (1 << 21) 1912 1.1 gdamore # define RADEON_WRAPEN_S (1 << 22) 1913 1.1 gdamore # define RADEON_CLAMP_S_WRAP (0 << 23) 1914 1.1 gdamore # define RADEON_CLAMP_S_MIRROR (1 << 23) 1915 1.1 gdamore # define RADEON_CLAMP_S_CLAMP_LAST (2 << 23) 1916 1.1 gdamore # define RADEON_CLAMP_S_MIRROR_CLAMP_LAST (3 << 23) 1917 1.1 gdamore # define RADEON_CLAMP_S_CLAMP_BORDER (4 << 23) 1918 1.1 gdamore # define RADEON_CLAMP_S_MIRROR_CLAMP_BORDER (5 << 23) 1919 1.1 gdamore # define RADEON_CLAMP_S_CLAMP_GL (6 << 23) 1920 1.1 gdamore # define RADEON_CLAMP_S_MIRROR_CLAMP_GL (7 << 23) 1921 1.1 gdamore # define RADEON_CLAMP_S_MASK (7 << 23) 1922 1.1 gdamore # define RADEON_WRAPEN_T (1 << 26) 1923 1.1 gdamore # define RADEON_CLAMP_T_WRAP (0 << 27) 1924 1.1 gdamore # define RADEON_CLAMP_T_MIRROR (1 << 27) 1925 1.1 gdamore # define RADEON_CLAMP_T_CLAMP_LAST (2 << 27) 1926 1.1 gdamore # define RADEON_CLAMP_T_MIRROR_CLAMP_LAST (3 << 27) 1927 1.1 gdamore # define RADEON_CLAMP_T_CLAMP_BORDER (4 << 27) 1928 1.1 gdamore # define RADEON_CLAMP_T_MIRROR_CLAMP_BORDER (5 << 27) 1929 1.1 gdamore # define RADEON_CLAMP_T_CLAMP_GL (6 << 27) 1930 1.1 gdamore # define RADEON_CLAMP_T_MIRROR_CLAMP_GL (7 << 27) 1931 1.1 gdamore # define RADEON_CLAMP_T_MASK (7 << 27) 1932 1.1 gdamore # define RADEON_BORDER_MODE_OGL (0 << 31) 1933 1.1 gdamore # define RADEON_BORDER_MODE_D3D (1 << 31) 1934 1.1 gdamore #define RADEON_PP_TXFORMAT_0 0x1c58 1935 1.1 gdamore #define RADEON_PP_TXFORMAT_1 0x1c70 1936 1.1 gdamore #define RADEON_PP_TXFORMAT_2 0x1c88 1937 1.1 gdamore # define RADEON_TXFORMAT_I8 (0 << 0) 1938 1.1 gdamore # define RADEON_TXFORMAT_AI88 (1 << 0) 1939 1.1 gdamore # define RADEON_TXFORMAT_RGB332 (2 << 0) 1940 1.1 gdamore # define RADEON_TXFORMAT_ARGB1555 (3 << 0) 1941 1.1 gdamore # define RADEON_TXFORMAT_RGB565 (4 << 0) 1942 1.1 gdamore # define RADEON_TXFORMAT_ARGB4444 (5 << 0) 1943 1.1 gdamore # define RADEON_TXFORMAT_ARGB8888 (6 << 0) 1944 1.1 gdamore # define RADEON_TXFORMAT_RGBA8888 (7 << 0) 1945 1.1 gdamore # define RADEON_TXFORMAT_Y8 (8 << 0) 1946 1.1 gdamore # define RADEON_TXFORMAT_VYUY422 (10 << 0) 1947 1.1 gdamore # define RADEON_TXFORMAT_YVYU422 (11 << 0) 1948 1.1 gdamore # define RADEON_TXFORMAT_DXT1 (12 << 0) 1949 1.1 gdamore # define RADEON_TXFORMAT_DXT23 (14 << 0) 1950 1.1 gdamore # define RADEON_TXFORMAT_DXT45 (15 << 0) 1951 1.1 gdamore # define RADEON_TXFORMAT_FORMAT_MASK (31 << 0) 1952 1.1 gdamore # define RADEON_TXFORMAT_FORMAT_SHIFT 0 1953 1.1 gdamore # define RADEON_TXFORMAT_APPLE_YUV_MODE (1 << 5) 1954 1.1 gdamore # define RADEON_TXFORMAT_ALPHA_IN_MAP (1 << 6) 1955 1.1 gdamore # define RADEON_TXFORMAT_NON_POWER2 (1 << 7) 1956 1.1 gdamore # define RADEON_TXFORMAT_WIDTH_MASK (15 << 8) 1957 1.1 gdamore # define RADEON_TXFORMAT_WIDTH_SHIFT 8 1958 1.1 gdamore # define RADEON_TXFORMAT_HEIGHT_MASK (15 << 12) 1959 1.1 gdamore # define RADEON_TXFORMAT_HEIGHT_SHIFT 12 1960 1.1 gdamore # define RADEON_TXFORMAT_F5_WIDTH_MASK (15 << 16) 1961 1.1 gdamore # define RADEON_TXFORMAT_F5_WIDTH_SHIFT 16 1962 1.1 gdamore # define RADEON_TXFORMAT_F5_HEIGHT_MASK (15 << 20) 1963 1.1 gdamore # define RADEON_TXFORMAT_F5_HEIGHT_SHIFT 20 1964 1.1 gdamore # define RADEON_TXFORMAT_ST_ROUTE_STQ0 (0 << 24) 1965 1.1 gdamore # define RADEON_TXFORMAT_ST_ROUTE_MASK (3 << 24) 1966 1.1 gdamore # define RADEON_TXFORMAT_ST_ROUTE_STQ1 (1 << 24) 1967 1.1 gdamore # define RADEON_TXFORMAT_ST_ROUTE_STQ2 (2 << 24) 1968 1.1 gdamore # define RADEON_TXFORMAT_ENDIAN_NO_SWAP (0 << 26) 1969 1.1 gdamore # define RADEON_TXFORMAT_ENDIAN_16BPP_SWAP (1 << 26) 1970 1.1 gdamore # define RADEON_TXFORMAT_ENDIAN_32BPP_SWAP (2 << 26) 1971 1.1 gdamore # define RADEON_TXFORMAT_ENDIAN_HALFDW_SWAP (3 << 26) 1972 1.1 gdamore # define RADEON_TXFORMAT_ALPHA_MASK_ENABLE (1 << 28) 1973 1.1 gdamore # define RADEON_TXFORMAT_CHROMA_KEY_ENABLE (1 << 29) 1974 1.1 gdamore # define RADEON_TXFORMAT_CUBIC_MAP_ENABLE (1 << 30) 1975 1.1 gdamore # define RADEON_TXFORMAT_PERSPECTIVE_ENABLE (1 << 31) 1976 1.1 gdamore #define RADEON_PP_CUBIC_FACES_0 0x1d24 1977 1.1 gdamore #define RADEON_PP_CUBIC_FACES_1 0x1d28 1978 1.1 gdamore #define RADEON_PP_CUBIC_FACES_2 0x1d2c 1979 1.1 gdamore # define RADEON_FACE_WIDTH_1_SHIFT 0 1980 1.1 gdamore # define RADEON_FACE_HEIGHT_1_SHIFT 4 1981 1.1 gdamore # define RADEON_FACE_WIDTH_1_MASK (0xf << 0) 1982 1.1 gdamore # define RADEON_FACE_HEIGHT_1_MASK (0xf << 4) 1983 1.1 gdamore # define RADEON_FACE_WIDTH_2_SHIFT 8 1984 1.1 gdamore # define RADEON_FACE_HEIGHT_2_SHIFT 12 1985 1.1 gdamore # define RADEON_FACE_WIDTH_2_MASK (0xf << 8) 1986 1.1 gdamore # define RADEON_FACE_HEIGHT_2_MASK (0xf << 12) 1987 1.1 gdamore # define RADEON_FACE_WIDTH_3_SHIFT 16 1988 1.1 gdamore # define RADEON_FACE_HEIGHT_3_SHIFT 20 1989 1.1 gdamore # define RADEON_FACE_WIDTH_3_MASK (0xf << 16) 1990 1.1 gdamore # define RADEON_FACE_HEIGHT_3_MASK (0xf << 20) 1991 1.1 gdamore # define RADEON_FACE_WIDTH_4_SHIFT 24 1992 1.1 gdamore # define RADEON_FACE_HEIGHT_4_SHIFT 28 1993 1.1 gdamore # define RADEON_FACE_WIDTH_4_MASK (0xf << 24) 1994 1.1 gdamore # define RADEON_FACE_HEIGHT_4_MASK (0xf << 28) 1995 1.1 gdamore 1996 1.1 gdamore #define RADEON_PP_TXOFFSET_0 0x1c5c 1997 1.1 gdamore #define RADEON_PP_TXOFFSET_1 0x1c74 1998 1.1 gdamore #define RADEON_PP_TXOFFSET_2 0x1c8c 1999 1.1 gdamore # define RADEON_TXO_ENDIAN_NO_SWAP (0 << 0) 2000 1.1 gdamore # define RADEON_TXO_ENDIAN_BYTE_SWAP (1 << 0) 2001 1.1 gdamore # define RADEON_TXO_ENDIAN_WORD_SWAP (2 << 0) 2002 1.1 gdamore # define RADEON_TXO_ENDIAN_HALFDW_SWAP (3 << 0) 2003 1.1 gdamore # define RADEON_TXO_MACRO_LINEAR (0 << 2) 2004 1.1 gdamore # define RADEON_TXO_MACRO_TILE (1 << 2) 2005 1.1 gdamore # define RADEON_TXO_MICRO_LINEAR (0 << 3) 2006 1.1 gdamore # define RADEON_TXO_MICRO_TILE_X2 (1 << 3) 2007 1.1 gdamore # define RADEON_TXO_MICRO_TILE_OPT (2 << 3) 2008 1.1 gdamore # define RADEON_TXO_OFFSET_MASK 0xffffffe0 2009 1.1 gdamore # define RADEON_TXO_OFFSET_SHIFT 5 2010 1.1 gdamore 2011 1.1 gdamore #define RADEON_PP_CUBIC_OFFSET_T0_0 0x1dd0 /* bits [31:5] */ 2012 1.1 gdamore #define RADEON_PP_CUBIC_OFFSET_T0_1 0x1dd4 2013 1.1 gdamore #define RADEON_PP_CUBIC_OFFSET_T0_2 0x1dd8 2014 1.1 gdamore #define RADEON_PP_CUBIC_OFFSET_T0_3 0x1ddc 2015 1.1 gdamore #define RADEON_PP_CUBIC_OFFSET_T0_4 0x1de0 2016 1.1 gdamore #define RADEON_PP_CUBIC_OFFSET_T1_0 0x1e00 2017 1.1 gdamore #define RADEON_PP_CUBIC_OFFSET_T1_1 0x1e04 2018 1.1 gdamore #define RADEON_PP_CUBIC_OFFSET_T1_2 0x1e08 2019 1.1 gdamore #define RADEON_PP_CUBIC_OFFSET_T1_3 0x1e0c 2020 1.1 gdamore #define RADEON_PP_CUBIC_OFFSET_T1_4 0x1e10 2021 1.1 gdamore #define RADEON_PP_CUBIC_OFFSET_T2_0 0x1e14 2022 1.1 gdamore #define RADEON_PP_CUBIC_OFFSET_T2_1 0x1e18 2023 1.1 gdamore #define RADEON_PP_CUBIC_OFFSET_T2_2 0x1e1c 2024 1.1 gdamore #define RADEON_PP_CUBIC_OFFSET_T2_3 0x1e20 2025 1.1 gdamore #define RADEON_PP_CUBIC_OFFSET_T2_4 0x1e24 2026 1.1 gdamore 2027 1.1 gdamore #define RADEON_PP_TEX_SIZE_0 0x1d04 /* NPOT */ 2028 1.1 gdamore #define RADEON_PP_TEX_SIZE_1 0x1d0c 2029 1.1 gdamore #define RADEON_PP_TEX_SIZE_2 0x1d14 2030 1.1 gdamore # define RADEON_TEX_USIZE_MASK (0x7ff << 0) 2031 1.1 gdamore # define RADEON_TEX_USIZE_SHIFT 0 2032 1.1 gdamore # define RADEON_TEX_VSIZE_MASK (0x7ff << 16) 2033 1.1 gdamore # define RADEON_TEX_VSIZE_SHIFT 16 2034 1.1 gdamore # define RADEON_SIGNED_RGB_MASK (1 << 30) 2035 1.1 gdamore # define RADEON_SIGNED_RGB_SHIFT 30 2036 1.1 gdamore # define RADEON_SIGNED_ALPHA_MASK (1 << 31) 2037 1.1 gdamore # define RADEON_SIGNED_ALPHA_SHIFT 31 2038 1.1 gdamore #define RADEON_PP_TEX_PITCH_0 0x1d08 /* NPOT */ 2039 1.1 gdamore #define RADEON_PP_TEX_PITCH_1 0x1d10 /* NPOT */ 2040 1.1 gdamore #define RADEON_PP_TEX_PITCH_2 0x1d18 /* NPOT */ 2041 1.1 gdamore /* note: bits 13-5: 32 byte aligned stride of texture map */ 2042 1.1 gdamore 2043 1.1 gdamore #define RADEON_PP_TXCBLEND_0 0x1c60 2044 1.1 gdamore #define RADEON_PP_TXCBLEND_1 0x1c78 2045 1.1 gdamore #define RADEON_PP_TXCBLEND_2 0x1c90 2046 1.1 gdamore # define RADEON_COLOR_ARG_A_SHIFT 0 2047 1.1 gdamore # define RADEON_COLOR_ARG_A_MASK (0x1f << 0) 2048 1.1 gdamore # define RADEON_COLOR_ARG_A_ZERO (0 << 0) 2049 1.1 gdamore # define RADEON_COLOR_ARG_A_CURRENT_COLOR (2 << 0) 2050 1.1 gdamore # define RADEON_COLOR_ARG_A_CURRENT_ALPHA (3 << 0) 2051 1.1 gdamore # define RADEON_COLOR_ARG_A_DIFFUSE_COLOR (4 << 0) 2052 1.1 gdamore # define RADEON_COLOR_ARG_A_DIFFUSE_ALPHA (5 << 0) 2053 1.1 gdamore # define RADEON_COLOR_ARG_A_SPECULAR_COLOR (6 << 0) 2054 1.1 gdamore # define RADEON_COLOR_ARG_A_SPECULAR_ALPHA (7 << 0) 2055 1.1 gdamore # define RADEON_COLOR_ARG_A_TFACTOR_COLOR (8 << 0) 2056 1.1 gdamore # define RADEON_COLOR_ARG_A_TFACTOR_ALPHA (9 << 0) 2057 1.1 gdamore # define RADEON_COLOR_ARG_A_T0_COLOR (10 << 0) 2058 1.1 gdamore # define RADEON_COLOR_ARG_A_T0_ALPHA (11 << 0) 2059 1.1 gdamore # define RADEON_COLOR_ARG_A_T1_COLOR (12 << 0) 2060 1.1 gdamore # define RADEON_COLOR_ARG_A_T1_ALPHA (13 << 0) 2061 1.1 gdamore # define RADEON_COLOR_ARG_A_T2_COLOR (14 << 0) 2062 1.1 gdamore # define RADEON_COLOR_ARG_A_T2_ALPHA (15 << 0) 2063 1.1 gdamore # define RADEON_COLOR_ARG_A_T3_COLOR (16 << 0) 2064 1.1 gdamore # define RADEON_COLOR_ARG_A_T3_ALPHA (17 << 0) 2065 1.1 gdamore # define RADEON_COLOR_ARG_B_SHIFT 5 2066 1.1 gdamore # define RADEON_COLOR_ARG_B_MASK (0x1f << 5) 2067 1.1 gdamore # define RADEON_COLOR_ARG_B_ZERO (0 << 5) 2068 1.1 gdamore # define RADEON_COLOR_ARG_B_CURRENT_COLOR (2 << 5) 2069 1.1 gdamore # define RADEON_COLOR_ARG_B_CURRENT_ALPHA (3 << 5) 2070 1.1 gdamore # define RADEON_COLOR_ARG_B_DIFFUSE_COLOR (4 << 5) 2071 1.1 gdamore # define RADEON_COLOR_ARG_B_DIFFUSE_ALPHA (5 << 5) 2072 1.1 gdamore # define RADEON_COLOR_ARG_B_SPECULAR_COLOR (6 << 5) 2073 1.1 gdamore # define RADEON_COLOR_ARG_B_SPECULAR_ALPHA (7 << 5) 2074 1.1 gdamore # define RADEON_COLOR_ARG_B_TFACTOR_COLOR (8 << 5) 2075 1.1 gdamore # define RADEON_COLOR_ARG_B_TFACTOR_ALPHA (9 << 5) 2076 1.1 gdamore # define RADEON_COLOR_ARG_B_T0_COLOR (10 << 5) 2077 1.1 gdamore # define RADEON_COLOR_ARG_B_T0_ALPHA (11 << 5) 2078 1.1 gdamore # define RADEON_COLOR_ARG_B_T1_COLOR (12 << 5) 2079 1.1 gdamore # define RADEON_COLOR_ARG_B_T1_ALPHA (13 << 5) 2080 1.1 gdamore # define RADEON_COLOR_ARG_B_T2_COLOR (14 << 5) 2081 1.1 gdamore # define RADEON_COLOR_ARG_B_T2_ALPHA (15 << 5) 2082 1.1 gdamore # define RADEON_COLOR_ARG_B_T3_COLOR (16 << 5) 2083 1.1 gdamore # define RADEON_COLOR_ARG_B_T3_ALPHA (17 << 5) 2084 1.1 gdamore # define RADEON_COLOR_ARG_C_SHIFT 10 2085 1.1 gdamore # define RADEON_COLOR_ARG_C_MASK (0x1f << 10) 2086 1.1 gdamore # define RADEON_COLOR_ARG_C_ZERO (0 << 10) 2087 1.1 gdamore # define RADEON_COLOR_ARG_C_CURRENT_COLOR (2 << 10) 2088 1.1 gdamore # define RADEON_COLOR_ARG_C_CURRENT_ALPHA (3 << 10) 2089 1.1 gdamore # define RADEON_COLOR_ARG_C_DIFFUSE_COLOR (4 << 10) 2090 1.1 gdamore # define RADEON_COLOR_ARG_C_DIFFUSE_ALPHA (5 << 10) 2091 1.1 gdamore # define RADEON_COLOR_ARG_C_SPECULAR_COLOR (6 << 10) 2092 1.1 gdamore # define RADEON_COLOR_ARG_C_SPECULAR_ALPHA (7 << 10) 2093 1.1 gdamore # define RADEON_COLOR_ARG_C_TFACTOR_COLOR (8 << 10) 2094 1.1 gdamore # define RADEON_COLOR_ARG_C_TFACTOR_ALPHA (9 << 10) 2095 1.1 gdamore # define RADEON_COLOR_ARG_C_T0_COLOR (10 << 10) 2096 1.1 gdamore # define RADEON_COLOR_ARG_C_T0_ALPHA (11 << 10) 2097 1.1 gdamore # define RADEON_COLOR_ARG_C_T1_COLOR (12 << 10) 2098 1.1 gdamore # define RADEON_COLOR_ARG_C_T1_ALPHA (13 << 10) 2099 1.1 gdamore # define RADEON_COLOR_ARG_C_T2_COLOR (14 << 10) 2100 1.1 gdamore # define RADEON_COLOR_ARG_C_T2_ALPHA (15 << 10) 2101 1.1 gdamore # define RADEON_COLOR_ARG_C_T3_COLOR (16 << 10) 2102 1.1 gdamore # define RADEON_COLOR_ARG_C_T3_ALPHA (17 << 10) 2103 1.1 gdamore # define RADEON_COMP_ARG_A (1 << 15) 2104 1.1 gdamore # define RADEON_COMP_ARG_A_SHIFT 15 2105 1.1 gdamore # define RADEON_COMP_ARG_B (1 << 16) 2106 1.1 gdamore # define RADEON_COMP_ARG_B_SHIFT 16 2107 1.1 gdamore # define RADEON_COMP_ARG_C (1 << 17) 2108 1.1 gdamore # define RADEON_COMP_ARG_C_SHIFT 17 2109 1.1 gdamore # define RADEON_BLEND_CTL_MASK (7 << 18) 2110 1.1 gdamore # define RADEON_BLEND_CTL_ADD (0 << 18) 2111 1.1 gdamore # define RADEON_BLEND_CTL_SUBTRACT (1 << 18) 2112 1.1 gdamore # define RADEON_BLEND_CTL_ADDSIGNED (2 << 18) 2113 1.1 gdamore # define RADEON_BLEND_CTL_BLEND (3 << 18) 2114 1.1 gdamore # define RADEON_BLEND_CTL_DOT3 (4 << 18) 2115 1.1 gdamore # define RADEON_SCALE_SHIFT 21 2116 1.1 gdamore # define RADEON_SCALE_MASK (3 << 21) 2117 1.1 gdamore # define RADEON_SCALE_1X (0 << 21) 2118 1.1 gdamore # define RADEON_SCALE_2X (1 << 21) 2119 1.1 gdamore # define RADEON_SCALE_4X (2 << 21) 2120 1.1 gdamore # define RADEON_CLAMP_TX (1 << 23) 2121 1.1 gdamore # define RADEON_T0_EQ_TCUR (1 << 24) 2122 1.1 gdamore # define RADEON_T1_EQ_TCUR (1 << 25) 2123 1.1 gdamore # define RADEON_T2_EQ_TCUR (1 << 26) 2124 1.1 gdamore # define RADEON_T3_EQ_TCUR (1 << 27) 2125 1.1 gdamore # define RADEON_COLOR_ARG_MASK 0x1f 2126 1.1 gdamore # define RADEON_COMP_ARG_SHIFT 15 2127 1.1 gdamore #define RADEON_PP_TXABLEND_0 0x1c64 2128 1.1 gdamore #define RADEON_PP_TXABLEND_1 0x1c7c 2129 1.1 gdamore #define RADEON_PP_TXABLEND_2 0x1c94 2130 1.1 gdamore # define RADEON_ALPHA_ARG_A_SHIFT 0 2131 1.1 gdamore # define RADEON_ALPHA_ARG_A_MASK (0xf << 0) 2132 1.1 gdamore # define RADEON_ALPHA_ARG_A_ZERO (0 << 0) 2133 1.1 gdamore # define RADEON_ALPHA_ARG_A_CURRENT_ALPHA (1 << 0) 2134 1.1 gdamore # define RADEON_ALPHA_ARG_A_DIFFUSE_ALPHA (2 << 0) 2135 1.1 gdamore # define RADEON_ALPHA_ARG_A_SPECULAR_ALPHA (3 << 0) 2136 1.1 gdamore # define RADEON_ALPHA_ARG_A_TFACTOR_ALPHA (4 << 0) 2137 1.1 gdamore # define RADEON_ALPHA_ARG_A_T0_ALPHA (5 << 0) 2138 1.1 gdamore # define RADEON_ALPHA_ARG_A_T1_ALPHA (6 << 0) 2139 1.1 gdamore # define RADEON_ALPHA_ARG_A_T2_ALPHA (7 << 0) 2140 1.1 gdamore # define RADEON_ALPHA_ARG_A_T3_ALPHA (8 << 0) 2141 1.1 gdamore # define RADEON_ALPHA_ARG_B_SHIFT 4 2142 1.1 gdamore # define RADEON_ALPHA_ARG_B_MASK (0xf << 4) 2143 1.1 gdamore # define RADEON_ALPHA_ARG_B_ZERO (0 << 4) 2144 1.1 gdamore # define RADEON_ALPHA_ARG_B_CURRENT_ALPHA (1 << 4) 2145 1.1 gdamore # define RADEON_ALPHA_ARG_B_DIFFUSE_ALPHA (2 << 4) 2146 1.1 gdamore # define RADEON_ALPHA_ARG_B_SPECULAR_ALPHA (3 << 4) 2147 1.1 gdamore # define RADEON_ALPHA_ARG_B_TFACTOR_ALPHA (4 << 4) 2148 1.1 gdamore # define RADEON_ALPHA_ARG_B_T0_ALPHA (5 << 4) 2149 1.1 gdamore # define RADEON_ALPHA_ARG_B_T1_ALPHA (6 << 4) 2150 1.1 gdamore # define RADEON_ALPHA_ARG_B_T2_ALPHA (7 << 4) 2151 1.1 gdamore # define RADEON_ALPHA_ARG_B_T3_ALPHA (8 << 4) 2152 1.1 gdamore # define RADEON_ALPHA_ARG_C_SHIFT 8 2153 1.1 gdamore # define RADEON_ALPHA_ARG_C_MASK (0xf << 8) 2154 1.1 gdamore # define RADEON_ALPHA_ARG_C_ZERO (0 << 8) 2155 1.1 gdamore # define RADEON_ALPHA_ARG_C_CURRENT_ALPHA (1 << 8) 2156 1.1 gdamore # define RADEON_ALPHA_ARG_C_DIFFUSE_ALPHA (2 << 8) 2157 1.1 gdamore # define RADEON_ALPHA_ARG_C_SPECULAR_ALPHA (3 << 8) 2158 1.1 gdamore # define RADEON_ALPHA_ARG_C_TFACTOR_ALPHA (4 << 8) 2159 1.1 gdamore # define RADEON_ALPHA_ARG_C_T0_ALPHA (5 << 8) 2160 1.1 gdamore # define RADEON_ALPHA_ARG_C_T1_ALPHA (6 << 8) 2161 1.1 gdamore # define RADEON_ALPHA_ARG_C_T2_ALPHA (7 << 8) 2162 1.1 gdamore # define RADEON_ALPHA_ARG_C_T3_ALPHA (8 << 8) 2163 1.1 gdamore # define RADEON_DOT_ALPHA_DONT_REPLICATE (1 << 9) 2164 1.1 gdamore # define RADEON_ALPHA_ARG_MASK 0xf 2165 1.1 gdamore 2166 1.1 gdamore #define RADEON_PP_TFACTOR_0 0x1c68 2167 1.1 gdamore #define RADEON_PP_TFACTOR_1 0x1c80 2168 1.1 gdamore #define RADEON_PP_TFACTOR_2 0x1c98 2169 1.1 gdamore 2170 1.1 gdamore #define RADEON_RB3D_BLENDCNTL 0x1c20 2171 1.1 gdamore # define RADEON_COMB_FCN_MASK (3 << 12) 2172 1.1 gdamore # define RADEON_COMB_FCN_ADD_CLAMP (0 << 12) 2173 1.1 gdamore # define RADEON_COMB_FCN_ADD_NOCLAMP (1 << 12) 2174 1.1 gdamore # define RADEON_COMB_FCN_SUB_CLAMP (2 << 12) 2175 1.1 gdamore # define RADEON_COMB_FCN_SUB_NOCLAMP (3 << 12) 2176 1.1 gdamore # define RADEON_SRC_BLEND_GL_ZERO (32 << 16) 2177 1.1 gdamore # define RADEON_SRC_BLEND_GL_ONE (33 << 16) 2178 1.1 gdamore # define RADEON_SRC_BLEND_GL_SRC_COLOR (34 << 16) 2179 1.1 gdamore # define RADEON_SRC_BLEND_GL_ONE_MINUS_SRC_COLOR (35 << 16) 2180 1.1 gdamore # define RADEON_SRC_BLEND_GL_DST_COLOR (36 << 16) 2181 1.1 gdamore # define RADEON_SRC_BLEND_GL_ONE_MINUS_DST_COLOR (37 << 16) 2182 1.1 gdamore # define RADEON_SRC_BLEND_GL_SRC_ALPHA (38 << 16) 2183 1.1 gdamore # define RADEON_SRC_BLEND_GL_ONE_MINUS_SRC_ALPHA (39 << 16) 2184 1.1 gdamore # define RADEON_SRC_BLEND_GL_DST_ALPHA (40 << 16) 2185 1.1 gdamore # define RADEON_SRC_BLEND_GL_ONE_MINUS_DST_ALPHA (41 << 16) 2186 1.1 gdamore # define RADEON_SRC_BLEND_GL_SRC_ALPHA_SATURATE (42 << 16) 2187 1.1 gdamore # define RADEON_SRC_BLEND_MASK (63 << 16) 2188 1.1 gdamore # define RADEON_DST_BLEND_GL_ZERO (32 << 24) 2189 1.1 gdamore # define RADEON_DST_BLEND_GL_ONE (33 << 24) 2190 1.1 gdamore # define RADEON_DST_BLEND_GL_SRC_COLOR (34 << 24) 2191 1.1 gdamore # define RADEON_DST_BLEND_GL_ONE_MINUS_SRC_COLOR (35 << 24) 2192 1.1 gdamore # define RADEON_DST_BLEND_GL_DST_COLOR (36 << 24) 2193 1.1 gdamore # define RADEON_DST_BLEND_GL_ONE_MINUS_DST_COLOR (37 << 24) 2194 1.1 gdamore # define RADEON_DST_BLEND_GL_SRC_ALPHA (38 << 24) 2195 1.1 gdamore # define RADEON_DST_BLEND_GL_ONE_MINUS_SRC_ALPHA (39 << 24) 2196 1.1 gdamore # define RADEON_DST_BLEND_GL_DST_ALPHA (40 << 24) 2197 1.1 gdamore # define RADEON_DST_BLEND_GL_ONE_MINUS_DST_ALPHA (41 << 24) 2198 1.1 gdamore # define RADEON_DST_BLEND_MASK (63 << 24) 2199 1.1 gdamore #define RADEON_RB3D_CNTL 0x1c3c 2200 1.1 gdamore # define RADEON_ALPHA_BLEND_ENABLE (1 << 0) 2201 1.1 gdamore # define RADEON_PLANE_MASK_ENABLE (1 << 1) 2202 1.1 gdamore # define RADEON_DITHER_ENABLE (1 << 2) 2203 1.1 gdamore # define RADEON_ROUND_ENABLE (1 << 3) 2204 1.1 gdamore # define RADEON_SCALE_DITHER_ENABLE (1 << 4) 2205 1.1 gdamore # define RADEON_DITHER_INIT (1 << 5) 2206 1.1 gdamore # define RADEON_ROP_ENABLE (1 << 6) 2207 1.1 gdamore # define RADEON_STENCIL_ENABLE (1 << 7) 2208 1.1 gdamore # define RADEON_Z_ENABLE (1 << 8) 2209 1.1 gdamore # define RADEON_DEPTH_XZ_OFFEST_ENABLE (1 << 9) 2210 1.1 gdamore # define RADEON_COLOR_FORMAT_ARGB1555 (3 << 10) 2211 1.1 gdamore # define RADEON_COLOR_FORMAT_RGB565 (4 << 10) 2212 1.1 gdamore # define RADEON_COLOR_FORMAT_ARGB8888 (6 << 10) 2213 1.1 gdamore # define RADEON_COLOR_FORMAT_RGB332 (7 << 10) 2214 1.1 gdamore # define RADEON_COLOR_FORMAT_Y8 (8 << 10) 2215 1.1 gdamore # define RADEON_COLOR_FORMAT_RGB8 (9 << 10) 2216 1.1 gdamore # define RADEON_COLOR_FORMAT_YUV422_VYUY (11 << 10) 2217 1.1 gdamore # define RADEON_COLOR_FORMAT_YUV422_YVYU (12 << 10) 2218 1.1 gdamore # define RADEON_COLOR_FORMAT_aYUV444 (14 << 10) 2219 1.1 gdamore # define RADEON_COLOR_FORMAT_ARGB4444 (15 << 10) 2220 1.1 gdamore # define RADEON_CLRCMP_FLIP_ENABLE (1 << 14) 2221 1.1 gdamore #define RADEON_RB3D_COLOROFFSET 0x1c40 2222 1.1 gdamore # define RADEON_COLOROFFSET_MASK 0xfffffff0 2223 1.1 gdamore #define RADEON_RB3D_COLORPITCH 0x1c48 2224 1.1 gdamore # define RADEON_COLORPITCH_MASK 0x000001ff8 2225 1.1 gdamore # define RADEON_COLOR_TILE_ENABLE (1 << 16) 2226 1.1 gdamore # define RADEON_COLOR_MICROTILE_ENABLE (1 << 17) 2227 1.1 gdamore # define RADEON_COLOR_ENDIAN_NO_SWAP (0 << 18) 2228 1.1 gdamore # define RADEON_COLOR_ENDIAN_WORD_SWAP (1 << 18) 2229 1.1 gdamore # define RADEON_COLOR_ENDIAN_DWORD_SWAP (2 << 18) 2230 1.1 gdamore #define RADEON_RB3D_DEPTHOFFSET 0x1c24 2231 1.1 gdamore #define RADEON_RB3D_DEPTHPITCH 0x1c28 2232 1.1 gdamore # define RADEON_DEPTHPITCH_MASK 0x00001ff8 2233 1.1 gdamore # define RADEON_DEPTH_ENDIAN_NO_SWAP (0 << 18) 2234 1.1 gdamore # define RADEON_DEPTH_ENDIAN_WORD_SWAP (1 << 18) 2235 1.1 gdamore # define RADEON_DEPTH_ENDIAN_DWORD_SWAP (2 << 18) 2236 1.1 gdamore #define RADEON_RB3D_PLANEMASK 0x1d84 2237 1.1 gdamore #define RADEON_RB3D_ROPCNTL 0x1d80 2238 1.1 gdamore # define RADEON_ROP_MASK (15 << 8) 2239 1.1 gdamore # define RADEON_ROP_CLEAR (0 << 8) 2240 1.1 gdamore # define RADEON_ROP_NOR (1 << 8) 2241 1.1 gdamore # define RADEON_ROP_AND_INVERTED (2 << 8) 2242 1.1 gdamore # define RADEON_ROP_COPY_INVERTED (3 << 8) 2243 1.1 gdamore # define RADEON_ROP_AND_REVERSE (4 << 8) 2244 1.1 gdamore # define RADEON_ROP_INVERT (5 << 8) 2245 1.1 gdamore # define RADEON_ROP_XOR (6 << 8) 2246 1.1 gdamore # define RADEON_ROP_NAND (7 << 8) 2247 1.1 gdamore # define RADEON_ROP_AND (8 << 8) 2248 1.1 gdamore # define RADEON_ROP_EQUIV (9 << 8) 2249 1.1 gdamore # define RADEON_ROP_NOOP (10 << 8) 2250 1.1 gdamore # define RADEON_ROP_OR_INVERTED (11 << 8) 2251 1.1 gdamore # define RADEON_ROP_COPY (12 << 8) 2252 1.1 gdamore # define RADEON_ROP_OR_REVERSE (13 << 8) 2253 1.1 gdamore # define RADEON_ROP_OR (14 << 8) 2254 1.1 gdamore # define RADEON_ROP_SET (15 << 8) 2255 1.1 gdamore #define RADEON_RB3D_STENCILREFMASK 0x1d7c 2256 1.1 gdamore # define RADEON_STENCIL_REF_SHIFT 0 2257 1.1 gdamore # define RADEON_STENCIL_REF_MASK (0xff << 0) 2258 1.1 gdamore # define RADEON_STENCIL_MASK_SHIFT 16 2259 1.1 gdamore # define RADEON_STENCIL_VALUE_MASK (0xff << 16) 2260 1.1 gdamore # define RADEON_STENCIL_WRITEMASK_SHIFT 24 2261 1.1 gdamore # define RADEON_STENCIL_WRITE_MASK (0xff << 24) 2262 1.1 gdamore #define RADEON_RB3D_ZSTENCILCNTL 0x1c2c 2263 1.1 gdamore # define RADEON_DEPTH_FORMAT_MASK (0xf << 0) 2264 1.1 gdamore # define RADEON_DEPTH_FORMAT_16BIT_INT_Z (0 << 0) 2265 1.1 gdamore # define RADEON_DEPTH_FORMAT_24BIT_INT_Z (2 << 0) 2266 1.1 gdamore # define RADEON_DEPTH_FORMAT_24BIT_FLOAT_Z (3 << 0) 2267 1.1 gdamore # define RADEON_DEPTH_FORMAT_32BIT_INT_Z (4 << 0) 2268 1.1 gdamore # define RADEON_DEPTH_FORMAT_32BIT_FLOAT_Z (5 << 0) 2269 1.1 gdamore # define RADEON_DEPTH_FORMAT_16BIT_FLOAT_W (7 << 0) 2270 1.1 gdamore # define RADEON_DEPTH_FORMAT_24BIT_FLOAT_W (9 << 0) 2271 1.1 gdamore # define RADEON_DEPTH_FORMAT_32BIT_FLOAT_W (11 << 0) 2272 1.1 gdamore # define RADEON_Z_TEST_NEVER (0 << 4) 2273 1.1 gdamore # define RADEON_Z_TEST_LESS (1 << 4) 2274 1.1 gdamore # define RADEON_Z_TEST_LEQUAL (2 << 4) 2275 1.1 gdamore # define RADEON_Z_TEST_EQUAL (3 << 4) 2276 1.1 gdamore # define RADEON_Z_TEST_GEQUAL (4 << 4) 2277 1.1 gdamore # define RADEON_Z_TEST_GREATER (5 << 4) 2278 1.1 gdamore # define RADEON_Z_TEST_NEQUAL (6 << 4) 2279 1.1 gdamore # define RADEON_Z_TEST_ALWAYS (7 << 4) 2280 1.1 gdamore # define RADEON_Z_TEST_MASK (7 << 4) 2281 1.1 gdamore # define RADEON_STENCIL_TEST_NEVER (0 << 12) 2282 1.1 gdamore # define RADEON_STENCIL_TEST_LESS (1 << 12) 2283 1.1 gdamore # define RADEON_STENCIL_TEST_LEQUAL (2 << 12) 2284 1.1 gdamore # define RADEON_STENCIL_TEST_EQUAL (3 << 12) 2285 1.1 gdamore # define RADEON_STENCIL_TEST_GEQUAL (4 << 12) 2286 1.1 gdamore # define RADEON_STENCIL_TEST_GREATER (5 << 12) 2287 1.1 gdamore # define RADEON_STENCIL_TEST_NEQUAL (6 << 12) 2288 1.1 gdamore # define RADEON_STENCIL_TEST_ALWAYS (7 << 12) 2289 1.1 gdamore # define RADEON_STENCIL_TEST_MASK (0x7 << 12) 2290 1.1 gdamore # define RADEON_STENCIL_FAIL_KEEP (0 << 16) 2291 1.1 gdamore # define RADEON_STENCIL_FAIL_ZERO (1 << 16) 2292 1.1 gdamore # define RADEON_STENCIL_FAIL_REPLACE (2 << 16) 2293 1.1 gdamore # define RADEON_STENCIL_FAIL_INC (3 << 16) 2294 1.1 gdamore # define RADEON_STENCIL_FAIL_DEC (4 << 16) 2295 1.1 gdamore # define RADEON_STENCIL_FAIL_INVERT (5 << 16) 2296 1.1 gdamore # define RADEON_STENCIL_FAIL_MASK (0x7 << 16) 2297 1.1 gdamore # define RADEON_STENCIL_ZPASS_KEEP (0 << 20) 2298 1.1 gdamore # define RADEON_STENCIL_ZPASS_ZERO (1 << 20) 2299 1.1 gdamore # define RADEON_STENCIL_ZPASS_REPLACE (2 << 20) 2300 1.1 gdamore # define RADEON_STENCIL_ZPASS_INC (3 << 20) 2301 1.1 gdamore # define RADEON_STENCIL_ZPASS_DEC (4 << 20) 2302 1.1 gdamore # define RADEON_STENCIL_ZPASS_INVERT (5 << 20) 2303 1.1 gdamore # define RADEON_STENCIL_ZPASS_MASK (0x7 << 20) 2304 1.1 gdamore # define RADEON_STENCIL_ZFAIL_KEEP (0 << 24) 2305 1.1 gdamore # define RADEON_STENCIL_ZFAIL_ZERO (1 << 24) 2306 1.1 gdamore # define RADEON_STENCIL_ZFAIL_REPLACE (2 << 24) 2307 1.1 gdamore # define RADEON_STENCIL_ZFAIL_INC (3 << 24) 2308 1.1 gdamore # define RADEON_STENCIL_ZFAIL_DEC (4 << 24) 2309 1.1 gdamore # define RADEON_STENCIL_ZFAIL_INVERT (5 << 24) 2310 1.1 gdamore # define RADEON_STENCIL_ZFAIL_MASK (0x7 << 24) 2311 1.1 gdamore # define RADEON_Z_COMPRESSION_ENABLE (1 << 28) 2312 1.1 gdamore # define RADEON_FORCE_Z_DIRTY (1 << 29) 2313 1.1 gdamore # define RADEON_Z_WRITE_ENABLE (1 << 30) 2314 1.1 gdamore #define RADEON_RE_LINE_PATTERN 0x1cd0 2315 1.1 gdamore # define RADEON_LINE_PATTERN_MASK 0x0000ffff 2316 1.1 gdamore # define RADEON_LINE_REPEAT_COUNT_SHIFT 16 2317 1.1 gdamore # define RADEON_LINE_PATTERN_START_SHIFT 24 2318 1.1 gdamore # define RADEON_LINE_PATTERN_LITTLE_BIT_ORDER (0 << 28) 2319 1.1 gdamore # define RADEON_LINE_PATTERN_BIG_BIT_ORDER (1 << 28) 2320 1.1 gdamore # define RADEON_LINE_PATTERN_AUTO_RESET (1 << 29) 2321 1.1 gdamore #define RADEON_RE_LINE_STATE 0x1cd4 2322 1.1 gdamore # define RADEON_LINE_CURRENT_PTR_SHIFT 0 2323 1.1 gdamore # define RADEON_LINE_CURRENT_COUNT_SHIFT 8 2324 1.1 gdamore #define RADEON_RE_MISC 0x26c4 2325 1.1 gdamore # define RADEON_STIPPLE_COORD_MASK 0x1f 2326 1.1 gdamore # define RADEON_STIPPLE_X_OFFSET_SHIFT 0 2327 1.1 gdamore # define RADEON_STIPPLE_X_OFFSET_MASK (0x1f << 0) 2328 1.1 gdamore # define RADEON_STIPPLE_Y_OFFSET_SHIFT 8 2329 1.1 gdamore # define RADEON_STIPPLE_Y_OFFSET_MASK (0x1f << 8) 2330 1.1 gdamore # define RADEON_STIPPLE_LITTLE_BIT_ORDER (0 << 16) 2331 1.1 gdamore # define RADEON_STIPPLE_BIG_BIT_ORDER (1 << 16) 2332 1.1 gdamore #define RADEON_RE_SOLID_COLOR 0x1c1c 2333 1.1 gdamore #define RADEON_RE_TOP_LEFT 0x26c0 2334 1.1 gdamore # define RADEON_RE_LEFT_SHIFT 0 2335 1.1 gdamore # define RADEON_RE_TOP_SHIFT 16 2336 1.1 gdamore #define RADEON_RE_WIDTH_HEIGHT 0x1c44 2337 1.1 gdamore # define RADEON_RE_WIDTH_SHIFT 0 2338 1.1 gdamore # define RADEON_RE_HEIGHT_SHIFT 16 2339 1.1 gdamore 2340 1.1 gdamore #define RADEON_SE_CNTL 0x1c4c 2341 1.1 gdamore # define RADEON_FFACE_CULL_CW (0 << 0) 2342 1.1 gdamore # define RADEON_FFACE_CULL_CCW (1 << 0) 2343 1.1 gdamore # define RADEON_FFACE_CULL_DIR_MASK (1 << 0) 2344 1.1 gdamore # define RADEON_BFACE_CULL (0 << 1) 2345 1.1 gdamore # define RADEON_BFACE_SOLID (3 << 1) 2346 1.1 gdamore # define RADEON_FFACE_CULL (0 << 3) 2347 1.1 gdamore # define RADEON_FFACE_SOLID (3 << 3) 2348 1.1 gdamore # define RADEON_FFACE_CULL_MASK (3 << 3) 2349 1.1 gdamore # define RADEON_BADVTX_CULL_DISABLE (1 << 5) 2350 1.1 gdamore # define RADEON_FLAT_SHADE_VTX_0 (0 << 6) 2351 1.1 gdamore # define RADEON_FLAT_SHADE_VTX_1 (1 << 6) 2352 1.1 gdamore # define RADEON_FLAT_SHADE_VTX_2 (2 << 6) 2353 1.1 gdamore # define RADEON_FLAT_SHADE_VTX_LAST (3 << 6) 2354 1.1 gdamore # define RADEON_DIFFUSE_SHADE_SOLID (0 << 8) 2355 1.1 gdamore # define RADEON_DIFFUSE_SHADE_FLAT (1 << 8) 2356 1.1 gdamore # define RADEON_DIFFUSE_SHADE_GOURAUD (2 << 8) 2357 1.1 gdamore # define RADEON_DIFFUSE_SHADE_MASK (3 << 8) 2358 1.1 gdamore # define RADEON_ALPHA_SHADE_SOLID (0 << 10) 2359 1.1 gdamore # define RADEON_ALPHA_SHADE_FLAT (1 << 10) 2360 1.1 gdamore # define RADEON_ALPHA_SHADE_GOURAUD (2 << 10) 2361 1.1 gdamore # define RADEON_ALPHA_SHADE_MASK (3 << 10) 2362 1.1 gdamore # define RADEON_SPECULAR_SHADE_SOLID (0 << 12) 2363 1.1 gdamore # define RADEON_SPECULAR_SHADE_FLAT (1 << 12) 2364 1.1 gdamore # define RADEON_SPECULAR_SHADE_GOURAUD (2 << 12) 2365 1.1 gdamore # define RADEON_SPECULAR_SHADE_MASK (3 << 12) 2366 1.1 gdamore # define RADEON_FOG_SHADE_SOLID (0 << 14) 2367 1.1 gdamore # define RADEON_FOG_SHADE_FLAT (1 << 14) 2368 1.1 gdamore # define RADEON_FOG_SHADE_GOURAUD (2 << 14) 2369 1.1 gdamore # define RADEON_FOG_SHADE_MASK (3 << 14) 2370 1.1 gdamore # define RADEON_ZBIAS_ENABLE_POINT (1 << 16) 2371 1.1 gdamore # define RADEON_ZBIAS_ENABLE_LINE (1 << 17) 2372 1.1 gdamore # define RADEON_ZBIAS_ENABLE_TRI (1 << 18) 2373 1.1 gdamore # define RADEON_WIDELINE_ENABLE (1 << 20) 2374 1.1 gdamore # define RADEON_VPORT_XY_XFORM_ENABLE (1 << 24) 2375 1.1 gdamore # define RADEON_VPORT_Z_XFORM_ENABLE (1 << 25) 2376 1.1 gdamore # define RADEON_VTX_PIX_CENTER_D3D (0 << 27) 2377 1.1 gdamore # define RADEON_VTX_PIX_CENTER_OGL (1 << 27) 2378 1.1 gdamore # define RADEON_ROUND_MODE_TRUNC (0 << 28) 2379 1.1 gdamore # define RADEON_ROUND_MODE_ROUND (1 << 28) 2380 1.1 gdamore # define RADEON_ROUND_MODE_ROUND_EVEN (2 << 28) 2381 1.1 gdamore # define RADEON_ROUND_MODE_ROUND_ODD (3 << 28) 2382 1.1 gdamore # define RADEON_ROUND_PREC_16TH_PIX (0 << 30) 2383 1.1 gdamore # define RADEON_ROUND_PREC_8TH_PIX (1 << 30) 2384 1.1 gdamore # define RADEON_ROUND_PREC_4TH_PIX (2 << 30) 2385 1.1 gdamore # define RADEON_ROUND_PREC_HALF_PIX (3 << 30) 2386 1.1 gdamore #define R200_RE_CNTL 0x1c50 2387 1.1 gdamore # define R200_STIPPLE_ENABLE 0x1 2388 1.1 gdamore # define R200_SCISSOR_ENABLE 0x2 2389 1.1 gdamore # define R200_PATTERN_ENABLE 0x4 2390 1.1 gdamore # define R200_PERSPECTIVE_ENABLE 0x8 2391 1.1 gdamore # define R200_POINT_SMOOTH 0x20 2392 1.1 gdamore # define R200_VTX_STQ0_D3D 0x00010000 2393 1.1 gdamore # define R200_VTX_STQ1_D3D 0x00040000 2394 1.1 gdamore # define R200_VTX_STQ2_D3D 0x00100000 2395 1.1 gdamore # define R200_VTX_STQ3_D3D 0x00400000 2396 1.1 gdamore # define R200_VTX_STQ4_D3D 0x01000000 2397 1.1 gdamore # define R200_VTX_STQ5_D3D 0x04000000 2398 1.8 macallan #define R200_RE_SCISSOR_TL_0 0x1cd8 2399 1.8 macallan #define R200_RE_SCISSOR_BR_0 0x1cdc 2400 1.8 macallan #define R200_RE_SCISSOR_TL_1 0x1ce0 2401 1.8 macallan #define R200_RE_SCISSOR_BR_1 0x1ce4 2402 1.8 macallan #define R200_RE_SCISSOR_TL_2 0x1ce8 2403 1.8 macallan #define R200_RE_SCISSOR_BR_2 0x1cec 2404 1.8 macallan # define R200_SCISSOR_X_SHIFT 0 2405 1.8 macallan # define R200_SCISSOR_Y_SHIFT 16 2406 1.1 gdamore #define RADEON_SE_CNTL_STATUS 0x2140 2407 1.1 gdamore # define RADEON_VC_NO_SWAP (0 << 0) 2408 1.1 gdamore # define RADEON_VC_16BIT_SWAP (1 << 0) 2409 1.1 gdamore # define RADEON_VC_32BIT_SWAP (2 << 0) 2410 1.1 gdamore # define RADEON_VC_HALF_DWORD_SWAP (3 << 0) 2411 1.1 gdamore # define RADEON_TCL_BYPASS (1 << 8) 2412 1.1 gdamore #define RADEON_SE_COORD_FMT 0x1c50 2413 1.1 gdamore # define RADEON_VTX_XY_PRE_MULT_1_OVER_W0 (1 << 0) 2414 1.1 gdamore # define RADEON_VTX_Z_PRE_MULT_1_OVER_W0 (1 << 1) 2415 1.1 gdamore # define RADEON_VTX_ST0_NONPARAMETRIC (1 << 8) 2416 1.1 gdamore # define RADEON_VTX_ST1_NONPARAMETRIC (1 << 9) 2417 1.1 gdamore # define RADEON_VTX_ST2_NONPARAMETRIC (1 << 10) 2418 1.1 gdamore # define RADEON_VTX_ST3_NONPARAMETRIC (1 << 11) 2419 1.1 gdamore # define RADEON_VTX_W0_NORMALIZE (1 << 12) 2420 1.1 gdamore # define RADEON_VTX_W0_IS_NOT_1_OVER_W0 (1 << 16) 2421 1.1 gdamore # define RADEON_VTX_ST0_PRE_MULT_1_OVER_W0 (1 << 17) 2422 1.1 gdamore # define RADEON_VTX_ST1_PRE_MULT_1_OVER_W0 (1 << 19) 2423 1.1 gdamore # define RADEON_VTX_ST2_PRE_MULT_1_OVER_W0 (1 << 21) 2424 1.1 gdamore # define RADEON_VTX_ST3_PRE_MULT_1_OVER_W0 (1 << 23) 2425 1.1 gdamore # define RADEON_TEX1_W_ROUTING_USE_W0 (0 << 26) 2426 1.1 gdamore # define RADEON_TEX1_W_ROUTING_USE_Q1 (1 << 26) 2427 1.1 gdamore #define RADEON_SE_LINE_WIDTH 0x1db8 2428 1.1 gdamore #define RADEON_SE_TCL_LIGHT_MODEL_CTL 0x226c 2429 1.1 gdamore # define RADEON_LIGHTING_ENABLE (1 << 0) 2430 1.1 gdamore # define RADEON_LIGHT_IN_MODELSPACE (1 << 1) 2431 1.1 gdamore # define RADEON_LOCAL_VIEWER (1 << 2) 2432 1.1 gdamore # define RADEON_NORMALIZE_NORMALS (1 << 3) 2433 1.1 gdamore # define RADEON_RESCALE_NORMALS (1 << 4) 2434 1.1 gdamore # define RADEON_SPECULAR_LIGHTS (1 << 5) 2435 1.1 gdamore # define RADEON_DIFFUSE_SPECULAR_COMBINE (1 << 6) 2436 1.1 gdamore # define RADEON_LIGHT_ALPHA (1 << 7) 2437 1.1 gdamore # define RADEON_LOCAL_LIGHT_VEC_GL (1 << 8) 2438 1.1 gdamore # define RADEON_LIGHT_NO_NORMAL_AMBIENT_ONLY (1 << 9) 2439 1.1 gdamore # define RADEON_LM_SOURCE_STATE_PREMULT 0 2440 1.1 gdamore # define RADEON_LM_SOURCE_STATE_MULT 1 2441 1.1 gdamore # define RADEON_LM_SOURCE_VERTEX_DIFFUSE 2 2442 1.1 gdamore # define RADEON_LM_SOURCE_VERTEX_SPECULAR 3 2443 1.1 gdamore # define RADEON_EMISSIVE_SOURCE_SHIFT 16 2444 1.1 gdamore # define RADEON_AMBIENT_SOURCE_SHIFT 18 2445 1.1 gdamore # define RADEON_DIFFUSE_SOURCE_SHIFT 20 2446 1.1 gdamore # define RADEON_SPECULAR_SOURCE_SHIFT 22 2447 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_AMBIENT_RED 0x2220 2448 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_AMBIENT_GREEN 0x2224 2449 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_AMBIENT_BLUE 0x2228 2450 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_AMBIENT_ALPHA 0x222c 2451 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_DIFFUSE_RED 0x2230 2452 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_DIFFUSE_GREEN 0x2234 2453 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_DIFFUSE_BLUE 0x2238 2454 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_DIFFUSE_ALPHA 0x223c 2455 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_EMMISSIVE_RED 0x2210 2456 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_EMMISSIVE_GREEN 0x2214 2457 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_EMMISSIVE_BLUE 0x2218 2458 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_EMMISSIVE_ALPHA 0x221c 2459 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_SPECULAR_RED 0x2240 2460 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_SPECULAR_GREEN 0x2244 2461 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_SPECULAR_BLUE 0x2248 2462 1.1 gdamore #define RADEON_SE_TCL_MATERIAL_SPECULAR_ALPHA 0x224c 2463 1.1 gdamore #define RADEON_SE_TCL_MATRIX_SELECT_0 0x225c 2464 1.1 gdamore # define RADEON_MODELVIEW_0_SHIFT 0 2465 1.1 gdamore # define RADEON_MODELVIEW_1_SHIFT 4 2466 1.1 gdamore # define RADEON_MODELVIEW_2_SHIFT 8 2467 1.1 gdamore # define RADEON_MODELVIEW_3_SHIFT 12 2468 1.1 gdamore # define RADEON_IT_MODELVIEW_0_SHIFT 16 2469 1.1 gdamore # define RADEON_IT_MODELVIEW_1_SHIFT 20 2470 1.1 gdamore # define RADEON_IT_MODELVIEW_2_SHIFT 24 2471 1.1 gdamore # define RADEON_IT_MODELVIEW_3_SHIFT 28 2472 1.1 gdamore #define RADEON_SE_TCL_MATRIX_SELECT_1 0x2260 2473 1.1 gdamore # define RADEON_MODELPROJECT_0_SHIFT 0 2474 1.1 gdamore # define RADEON_MODELPROJECT_1_SHIFT 4 2475 1.1 gdamore # define RADEON_MODELPROJECT_2_SHIFT 8 2476 1.1 gdamore # define RADEON_MODELPROJECT_3_SHIFT 12 2477 1.1 gdamore # define RADEON_TEXMAT_0_SHIFT 16 2478 1.1 gdamore # define RADEON_TEXMAT_1_SHIFT 20 2479 1.1 gdamore # define RADEON_TEXMAT_2_SHIFT 24 2480 1.1 gdamore # define RADEON_TEXMAT_3_SHIFT 28 2481 1.1 gdamore 2482 1.1 gdamore 2483 1.1 gdamore #define RADEON_SE_TCL_OUTPUT_VTX_FMT 0x2254 2484 1.1 gdamore # define RADEON_TCL_VTX_W0 (1 << 0) 2485 1.1 gdamore # define RADEON_TCL_VTX_FP_DIFFUSE (1 << 1) 2486 1.1 gdamore # define RADEON_TCL_VTX_FP_ALPHA (1 << 2) 2487 1.1 gdamore # define RADEON_TCL_VTX_PK_DIFFUSE (1 << 3) 2488 1.1 gdamore # define RADEON_TCL_VTX_FP_SPEC (1 << 4) 2489 1.1 gdamore # define RADEON_TCL_VTX_FP_FOG (1 << 5) 2490 1.1 gdamore # define RADEON_TCL_VTX_PK_SPEC (1 << 6) 2491 1.1 gdamore # define RADEON_TCL_VTX_ST0 (1 << 7) 2492 1.1 gdamore # define RADEON_TCL_VTX_ST1 (1 << 8) 2493 1.1 gdamore # define RADEON_TCL_VTX_Q1 (1 << 9) 2494 1.1 gdamore # define RADEON_TCL_VTX_ST2 (1 << 10) 2495 1.1 gdamore # define RADEON_TCL_VTX_Q2 (1 << 11) 2496 1.1 gdamore # define RADEON_TCL_VTX_ST3 (1 << 12) 2497 1.1 gdamore # define RADEON_TCL_VTX_Q3 (1 << 13) 2498 1.1 gdamore # define RADEON_TCL_VTX_Q0 (1 << 14) 2499 1.1 gdamore # define RADEON_TCL_VTX_WEIGHT_COUNT_SHIFT 15 2500 1.1 gdamore # define RADEON_TCL_VTX_NORM0 (1 << 18) 2501 1.1 gdamore # define RADEON_TCL_VTX_XY1 (1 << 27) 2502 1.1 gdamore # define RADEON_TCL_VTX_Z1 (1 << 28) 2503 1.1 gdamore # define RADEON_TCL_VTX_W1 (1 << 29) 2504 1.1 gdamore # define RADEON_TCL_VTX_NORM1 (1 << 30) 2505 1.1 gdamore # define RADEON_TCL_VTX_Z0 (1 << 31) 2506 1.1 gdamore 2507 1.1 gdamore #define RADEON_SE_TCL_OUTPUT_VTX_SEL 0x2258 2508 1.1 gdamore # define RADEON_TCL_COMPUTE_XYZW (1 << 0) 2509 1.1 gdamore # define RADEON_TCL_COMPUTE_DIFFUSE (1 << 1) 2510 1.1 gdamore # define RADEON_TCL_COMPUTE_SPECULAR (1 << 2) 2511 1.1 gdamore # define RADEON_TCL_FORCE_NAN_IF_COLOR_NAN (1 << 3) 2512 1.1 gdamore # define RADEON_TCL_FORCE_INORDER_PROC (1 << 4) 2513 1.1 gdamore # define RADEON_TCL_TEX_INPUT_TEX_0 0 2514 1.1 gdamore # define RADEON_TCL_TEX_INPUT_TEX_1 1 2515 1.1 gdamore # define RADEON_TCL_TEX_INPUT_TEX_2 2 2516 1.1 gdamore # define RADEON_TCL_TEX_INPUT_TEX_3 3 2517 1.1 gdamore # define RADEON_TCL_TEX_COMPUTED_TEX_0 8 2518 1.1 gdamore # define RADEON_TCL_TEX_COMPUTED_TEX_1 9 2519 1.1 gdamore # define RADEON_TCL_TEX_COMPUTED_TEX_2 10 2520 1.1 gdamore # define RADEON_TCL_TEX_COMPUTED_TEX_3 11 2521 1.1 gdamore # define RADEON_TCL_TEX_0_OUTPUT_SHIFT 16 2522 1.1 gdamore # define RADEON_TCL_TEX_1_OUTPUT_SHIFT 20 2523 1.1 gdamore # define RADEON_TCL_TEX_2_OUTPUT_SHIFT 24 2524 1.1 gdamore # define RADEON_TCL_TEX_3_OUTPUT_SHIFT 28 2525 1.1 gdamore 2526 1.1 gdamore #define RADEON_SE_TCL_PER_LIGHT_CTL_0 0x2270 2527 1.1 gdamore # define RADEON_LIGHT_0_ENABLE (1 << 0) 2528 1.1 gdamore # define RADEON_LIGHT_0_ENABLE_AMBIENT (1 << 1) 2529 1.1 gdamore # define RADEON_LIGHT_0_ENABLE_SPECULAR (1 << 2) 2530 1.1 gdamore # define RADEON_LIGHT_0_IS_LOCAL (1 << 3) 2531 1.1 gdamore # define RADEON_LIGHT_0_IS_SPOT (1 << 4) 2532 1.1 gdamore # define RADEON_LIGHT_0_DUAL_CONE (1 << 5) 2533 1.1 gdamore # define RADEON_LIGHT_0_ENABLE_RANGE_ATTEN (1 << 6) 2534 1.1 gdamore # define RADEON_LIGHT_0_CONSTANT_RANGE_ATTEN (1 << 7) 2535 1.1 gdamore # define RADEON_LIGHT_0_SHIFT 0 2536 1.1 gdamore # define RADEON_LIGHT_1_ENABLE (1 << 16) 2537 1.1 gdamore # define RADEON_LIGHT_1_ENABLE_AMBIENT (1 << 17) 2538 1.1 gdamore # define RADEON_LIGHT_1_ENABLE_SPECULAR (1 << 18) 2539 1.1 gdamore # define RADEON_LIGHT_1_IS_LOCAL (1 << 19) 2540 1.1 gdamore # define RADEON_LIGHT_1_IS_SPOT (1 << 20) 2541 1.1 gdamore # define RADEON_LIGHT_1_DUAL_CONE (1 << 21) 2542 1.1 gdamore # define RADEON_LIGHT_1_ENABLE_RANGE_ATTEN (1 << 22) 2543 1.1 gdamore # define RADEON_LIGHT_1_CONSTANT_RANGE_ATTEN (1 << 23) 2544 1.1 gdamore # define RADEON_LIGHT_1_SHIFT 16 2545 1.1 gdamore #define RADEON_SE_TCL_PER_LIGHT_CTL_1 0x2274 2546 1.1 gdamore # define RADEON_LIGHT_2_SHIFT 0 2547 1.1 gdamore # define RADEON_LIGHT_3_SHIFT 16 2548 1.1 gdamore #define RADEON_SE_TCL_PER_LIGHT_CTL_2 0x2278 2549 1.1 gdamore # define RADEON_LIGHT_4_SHIFT 0 2550 1.1 gdamore # define RADEON_LIGHT_5_SHIFT 16 2551 1.1 gdamore #define RADEON_SE_TCL_PER_LIGHT_CTL_3 0x227c 2552 1.1 gdamore # define RADEON_LIGHT_6_SHIFT 0 2553 1.1 gdamore # define RADEON_LIGHT_7_SHIFT 16 2554 1.1 gdamore 2555 1.1 gdamore #define RADEON_SE_TCL_SHININESS 0x2250 2556 1.1 gdamore 2557 1.1 gdamore #define RADEON_SE_TCL_TEXTURE_PROC_CTL 0x2268 2558 1.1 gdamore # define RADEON_TEXGEN_TEXMAT_0_ENABLE (1 << 0) 2559 1.1 gdamore # define RADEON_TEXGEN_TEXMAT_1_ENABLE (1 << 1) 2560 1.1 gdamore # define RADEON_TEXGEN_TEXMAT_2_ENABLE (1 << 2) 2561 1.1 gdamore # define RADEON_TEXGEN_TEXMAT_3_ENABLE (1 << 3) 2562 1.1 gdamore # define RADEON_TEXMAT_0_ENABLE (1 << 4) 2563 1.1 gdamore # define RADEON_TEXMAT_1_ENABLE (1 << 5) 2564 1.1 gdamore # define RADEON_TEXMAT_2_ENABLE (1 << 6) 2565 1.1 gdamore # define RADEON_TEXMAT_3_ENABLE (1 << 7) 2566 1.1 gdamore # define RADEON_TEXGEN_INPUT_MASK 0xf 2567 1.1 gdamore # define RADEON_TEXGEN_INPUT_TEXCOORD_0 0 2568 1.1 gdamore # define RADEON_TEXGEN_INPUT_TEXCOORD_1 1 2569 1.1 gdamore # define RADEON_TEXGEN_INPUT_TEXCOORD_2 2 2570 1.1 gdamore # define RADEON_TEXGEN_INPUT_TEXCOORD_3 3 2571 1.1 gdamore # define RADEON_TEXGEN_INPUT_OBJ 4 2572 1.1 gdamore # define RADEON_TEXGEN_INPUT_EYE 5 2573 1.1 gdamore # define RADEON_TEXGEN_INPUT_EYE_NORMAL 6 2574 1.1 gdamore # define RADEON_TEXGEN_INPUT_EYE_REFLECT 7 2575 1.1 gdamore # define RADEON_TEXGEN_INPUT_EYE_NORMALIZED 8 2576 1.1 gdamore # define RADEON_TEXGEN_0_INPUT_SHIFT 16 2577 1.1 gdamore # define RADEON_TEXGEN_1_INPUT_SHIFT 20 2578 1.1 gdamore # define RADEON_TEXGEN_2_INPUT_SHIFT 24 2579 1.1 gdamore # define RADEON_TEXGEN_3_INPUT_SHIFT 28 2580 1.1 gdamore 2581 1.1 gdamore #define RADEON_SE_TCL_UCP_VERT_BLEND_CTL 0x2264 2582 1.1 gdamore # define RADEON_UCP_IN_CLIP_SPACE (1 << 0) 2583 1.1 gdamore # define RADEON_UCP_IN_MODEL_SPACE (1 << 1) 2584 1.1 gdamore # define RADEON_UCP_ENABLE_0 (1 << 2) 2585 1.1 gdamore # define RADEON_UCP_ENABLE_1 (1 << 3) 2586 1.1 gdamore # define RADEON_UCP_ENABLE_2 (1 << 4) 2587 1.1 gdamore # define RADEON_UCP_ENABLE_3 (1 << 5) 2588 1.1 gdamore # define RADEON_UCP_ENABLE_4 (1 << 6) 2589 1.1 gdamore # define RADEON_UCP_ENABLE_5 (1 << 7) 2590 1.1 gdamore # define RADEON_TCL_FOG_MASK (3 << 8) 2591 1.1 gdamore # define RADEON_TCL_FOG_DISABLE (0 << 8) 2592 1.1 gdamore # define RADEON_TCL_FOG_EXP (1 << 8) 2593 1.1 gdamore # define RADEON_TCL_FOG_EXP2 (2 << 8) 2594 1.1 gdamore # define RADEON_TCL_FOG_LINEAR (3 << 8) 2595 1.1 gdamore # define RADEON_RNG_BASED_FOG (1 << 10) 2596 1.1 gdamore # define RADEON_LIGHT_TWOSIDE (1 << 11) 2597 1.1 gdamore # define RADEON_BLEND_OP_COUNT_MASK (7 << 12) 2598 1.1 gdamore # define RADEON_BLEND_OP_COUNT_SHIFT 12 2599 1.1 gdamore # define RADEON_POSITION_BLEND_OP_ENABLE (1 << 16) 2600 1.1 gdamore # define RADEON_NORMAL_BLEND_OP_ENABLE (1 << 17) 2601 1.1 gdamore # define RADEON_VERTEX_BLEND_SRC_0_PRIMARY (1 << 18) 2602 1.1 gdamore # define RADEON_VERTEX_BLEND_SRC_0_SECONDARY (1 << 18) 2603 1.1 gdamore # define RADEON_VERTEX_BLEND_SRC_1_PRIMARY (1 << 19) 2604 1.1 gdamore # define RADEON_VERTEX_BLEND_SRC_1_SECONDARY (1 << 19) 2605 1.1 gdamore # define RADEON_VERTEX_BLEND_SRC_2_PRIMARY (1 << 20) 2606 1.1 gdamore # define RADEON_VERTEX_BLEND_SRC_2_SECONDARY (1 << 20) 2607 1.1 gdamore # define RADEON_VERTEX_BLEND_SRC_3_PRIMARY (1 << 21) 2608 1.1 gdamore # define RADEON_VERTEX_BLEND_SRC_3_SECONDARY (1 << 21) 2609 1.1 gdamore # define RADEON_VERTEX_BLEND_WGT_MINUS_ONE (1 << 22) 2610 1.1 gdamore # define RADEON_CULL_FRONT_IS_CW (0 << 28) 2611 1.1 gdamore # define RADEON_CULL_FRONT_IS_CCW (1 << 28) 2612 1.1 gdamore # define RADEON_CULL_FRONT (1 << 29) 2613 1.1 gdamore # define RADEON_CULL_BACK (1 << 30) 2614 1.1 gdamore # define RADEON_FORCE_W_TO_ONE (1 << 31) 2615 1.1 gdamore 2616 1.1 gdamore #define RADEON_SE_VPORT_XSCALE 0x1d98 2617 1.1 gdamore #define RADEON_SE_VPORT_XOFFSET 0x1d9c 2618 1.1 gdamore #define RADEON_SE_VPORT_YSCALE 0x1da0 2619 1.1 gdamore #define RADEON_SE_VPORT_YOFFSET 0x1da4 2620 1.1 gdamore #define RADEON_SE_VPORT_ZSCALE 0x1da8 2621 1.1 gdamore #define RADEON_SE_VPORT_ZOFFSET 0x1dac 2622 1.1 gdamore #define RADEON_SE_ZBIAS_FACTOR 0x1db0 2623 1.1 gdamore #define RADEON_SE_ZBIAS_CONSTANT 0x1db4 2624 1.1 gdamore 2625 1.1 gdamore #define RADEON_SE_VTX_FMT 0x2080 2626 1.1 gdamore # define RADEON_SE_VTX_FMT_XY 0x00000000 2627 1.1 gdamore # define RADEON_SE_VTX_FMT_W0 0x00000001 2628 1.1 gdamore # define RADEON_SE_VTX_FMT_FPCOLOR 0x00000002 2629 1.1 gdamore # define RADEON_SE_VTX_FMT_FPALPHA 0x00000004 2630 1.1 gdamore # define RADEON_SE_VTX_FMT_PKCOLOR 0x00000008 2631 1.1 gdamore # define RADEON_SE_VTX_FMT_FPSPEC 0x00000010 2632 1.1 gdamore # define RADEON_SE_VTX_FMT_FPFOG 0x00000020 2633 1.1 gdamore # define RADEON_SE_VTX_FMT_PKSPEC 0x00000040 2634 1.1 gdamore # define RADEON_SE_VTX_FMT_ST0 0x00000080 2635 1.1 gdamore # define RADEON_SE_VTX_FMT_ST1 0x00000100 2636 1.1 gdamore # define RADEON_SE_VTX_FMT_Q1 0x00000200 2637 1.1 gdamore # define RADEON_SE_VTX_FMT_ST2 0x00000400 2638 1.1 gdamore # define RADEON_SE_VTX_FMT_Q2 0x00000800 2639 1.1 gdamore # define RADEON_SE_VTX_FMT_ST3 0x00001000 2640 1.1 gdamore # define RADEON_SE_VTX_FMT_Q3 0x00002000 2641 1.1 gdamore # define RADEON_SE_VTX_FMT_Q0 0x00004000 2642 1.1 gdamore # define RADEON_SE_VTX_FMT_BLND_WEIGHT_CNT_MASK 0x00038000 2643 1.1 gdamore # define RADEON_SE_VTX_FMT_N0 0x00040000 2644 1.1 gdamore # define RADEON_SE_VTX_FMT_XY1 0x08000000 2645 1.1 gdamore # define RADEON_SE_VTX_FMT_Z1 0x10000000 2646 1.1 gdamore # define RADEON_SE_VTX_FMT_W1 0x20000000 2647 1.1 gdamore # define RADEON_SE_VTX_FMT_N1 0x40000000 2648 1.1 gdamore # define RADEON_SE_VTX_FMT_Z 0x80000000 2649 1.1 gdamore 2650 1.1 gdamore #define RADEON_SE_VF_CNTL 0x2084 2651 1.1 gdamore # define RADEON_VF_PRIM_TYPE_POINT_LIST 1 2652 1.1 gdamore # define RADEON_VF_PRIM_TYPE_LINE_LIST 2 2653 1.1 gdamore # define RADEON_VF_PRIM_TYPE_LINE_STRIP 3 2654 1.1 gdamore # define RADEON_VF_PRIM_TYPE_TRIANGLE_LIST 4 2655 1.1 gdamore # define RADEON_VF_PRIM_TYPE_TRIANGLE_FAN 5 2656 1.1 gdamore # define RADEON_VF_PRIM_TYPE_TRIANGLE_STRIP 6 2657 1.1 gdamore # define RADEON_VF_PRIM_TYPE_TRIANGLE_FLAG 7 2658 1.1 gdamore # define RADEON_VF_PRIM_TYPE_RECTANGLE_LIST 8 2659 1.1 gdamore # define RADEON_VF_PRIM_TYPE_POINT_LIST_3 9 2660 1.1 gdamore # define RADEON_VF_PRIM_TYPE_LINE_LIST_3 10 2661 1.1 gdamore # define RADEON_VF_PRIM_TYPE_SPIRIT_LIST 11 2662 1.1 gdamore # define RADEON_VF_PRIM_TYPE_LINE_LOOP 12 2663 1.1 gdamore # define RADEON_VF_PRIM_TYPE_QUAD_LIST 13 2664 1.1 gdamore # define RADEON_VF_PRIM_TYPE_QUAD_STRIP 14 2665 1.1 gdamore # define RADEON_VF_PRIM_TYPE_POLYGON 15 2666 1.1 gdamore # define RADEON_VF_PRIM_WALK_STATE (0<<4) 2667 1.1 gdamore # define RADEON_VF_PRIM_WALK_INDEX (1<<4) 2668 1.1 gdamore # define RADEON_VF_PRIM_WALK_LIST (2<<4) 2669 1.1 gdamore # define RADEON_VF_PRIM_WALK_DATA (3<<4) 2670 1.1 gdamore # define RADEON_VF_COLOR_ORDER_RGBA (1<<6) 2671 1.1 gdamore # define RADEON_VF_RADEON_MODE (1<<8) 2672 1.1 gdamore # define RADEON_VF_TCL_OUTPUT_CTL_ENA (1<<9) 2673 1.1 gdamore # define RADEON_VF_PROG_STREAM_ENA (1<<10) 2674 1.1 gdamore # define RADEON_VF_INDEX_SIZE_SHIFT 11 2675 1.1 gdamore # define RADEON_VF_NUM_VERTICES_SHIFT 16 2676 1.1 gdamore 2677 1.1 gdamore #define RADEON_SE_PORT_DATA0 0x2000 2678 1.7 macallan #define RADEON_SEPROM_CNTL1 0x01c0 2679 1.7 macallan # define RADEON_SCK_PRESCALE_SHIFT 24 2680 1.7 macallan # define RADEON_SCK_PRESCALE_MASK (0xff << 24) 2681 1.8 macallan 2682 1.1 gdamore #define R200_SE_VAP_CNTL 0x2080 2683 1.1 gdamore # define R200_VAP_TCL_ENABLE 0x00000001 2684 1.1 gdamore # define R200_VAP_SINGLE_BUF_STATE_ENABLE 0x00000010 2685 1.1 gdamore # define R200_VAP_FORCE_W_TO_ONE 0x00010000 2686 1.1 gdamore # define R200_VAP_D3D_TEX_DEFAULT 0x00020000 2687 1.1 gdamore # define R200_VAP_VF_MAX_VTX_NUM__SHIFT 18 2688 1.1 gdamore # define R200_VAP_VF_MAX_VTX_NUM (9 << 18) 2689 1.1 gdamore # define R200_VAP_DX_CLIP_SPACE_DEF 0x00400000 2690 1.1 gdamore #define R200_VF_MAX_VTX_INDX 0x210c 2691 1.1 gdamore #define R200_VF_MIN_VTX_INDX 0x2110 2692 1.1 gdamore #define R200_SE_VTE_CNTL 0x20b0 2693 1.1 gdamore # define R200_VPORT_X_SCALE_ENA 0x00000001 2694 1.1 gdamore # define R200_VPORT_X_OFFSET_ENA 0x00000002 2695 1.1 gdamore # define R200_VPORT_Y_SCALE_ENA 0x00000004 2696 1.1 gdamore # define R200_VPORT_Y_OFFSET_ENA 0x00000008 2697 1.1 gdamore # define R200_VPORT_Z_SCALE_ENA 0x00000010 2698 1.1 gdamore # define R200_VPORT_Z_OFFSET_ENA 0x00000020 2699 1.1 gdamore # define R200_VTX_XY_FMT 0x00000100 2700 1.1 gdamore # define R200_VTX_Z_FMT 0x00000200 2701 1.1 gdamore # define R200_VTX_W0_FMT 0x00000400 2702 1.1 gdamore # define R200_VTX_W0_NORMALIZE 0x00000800 2703 1.1 gdamore # define R200_VTX_ST_DENORMALIZED 0x00001000 2704 1.1 gdamore #define R200_SE_VAP_CNTL_STATUS 0x2140 2705 1.1 gdamore # define R200_VC_NO_SWAP (0 << 0) 2706 1.1 gdamore # define R200_VC_16BIT_SWAP (1 << 0) 2707 1.1 gdamore # define R200_VC_32BIT_SWAP (2 << 0) 2708 1.8 macallan #define R200_RE_AUX_SCISSOR_CNTL 0x26f0 2709 1.8 macallan # define R200_EXCLUSIVE_SCISSOR_0 0x01000000 2710 1.8 macallan # define R200_EXCLUSIVE_SCISSOR_1 0x02000000 2711 1.8 macallan # define R200_EXCLUSIVE_SCISSOR_2 0x04000000 2712 1.8 macallan # define R200_SCISSOR_ENABLE_0 0x10000000 2713 1.8 macallan # define R200_SCISSOR_ENABLE_1 0x20000000 2714 1.8 macallan # define R200_SCISSOR_ENABLE_2 0x40000000 2715 1.1 gdamore #define R200_PP_TXFILTER_0 0x2c00 2716 1.8 macallan #define R200_PP_TXFILTER_1 0x2c20 2717 1.8 macallan #define R200_PP_TXFILTER_2 0x2c40 2718 1.8 macallan #define R200_PP_TXFILTER_3 0x2c60 2719 1.8 macallan #define R200_PP_TXFILTER_4 0x2c80 2720 1.8 macallan #define R200_PP_TXFILTER_5 0x2ca0 2721 1.1 gdamore # define R200_MAG_FILTER_NEAREST (0 << 0) 2722 1.1 gdamore # define R200_MAG_FILTER_LINEAR (1 << 0) 2723 1.1 gdamore # define R200_MAG_FILTER_MASK (1 << 0) 2724 1.1 gdamore # define R200_MIN_FILTER_NEAREST (0 << 1) 2725 1.1 gdamore # define R200_MIN_FILTER_LINEAR (1 << 1) 2726 1.1 gdamore # define R200_MIN_FILTER_NEAREST_MIP_NEAREST (2 << 1) 2727 1.1 gdamore # define R200_MIN_FILTER_NEAREST_MIP_LINEAR (3 << 1) 2728 1.1 gdamore # define R200_MIN_FILTER_LINEAR_MIP_NEAREST (6 << 1) 2729 1.1 gdamore # define R200_MIN_FILTER_LINEAR_MIP_LINEAR (7 << 1) 2730 1.1 gdamore # define R200_MIN_FILTER_ANISO_NEAREST (8 << 1) 2731 1.1 gdamore # define R200_MIN_FILTER_ANISO_LINEAR (9 << 1) 2732 1.1 gdamore # define R200_MIN_FILTER_ANISO_NEAREST_MIP_NEAREST (10 << 1) 2733 1.1 gdamore # define R200_MIN_FILTER_ANISO_NEAREST_MIP_LINEAR (11 << 1) 2734 1.1 gdamore # define R200_MIN_FILTER_MASK (15 << 1) 2735 1.1 gdamore # define R200_MAX_ANISO_1_TO_1 (0 << 5) 2736 1.1 gdamore # define R200_MAX_ANISO_2_TO_1 (1 << 5) 2737 1.1 gdamore # define R200_MAX_ANISO_4_TO_1 (2 << 5) 2738 1.1 gdamore # define R200_MAX_ANISO_8_TO_1 (3 << 5) 2739 1.1 gdamore # define R200_MAX_ANISO_16_TO_1 (4 << 5) 2740 1.1 gdamore # define R200_MAX_ANISO_MASK (7 << 5) 2741 1.1 gdamore # define R200_MAX_MIP_LEVEL_MASK (0x0f << 16) 2742 1.1 gdamore # define R200_MAX_MIP_LEVEL_SHIFT 16 2743 1.1 gdamore # define R200_YUV_TO_RGB (1 << 20) 2744 1.1 gdamore # define R200_YUV_TEMPERATURE_COOL (0 << 21) 2745 1.1 gdamore # define R200_YUV_TEMPERATURE_HOT (1 << 21) 2746 1.1 gdamore # define R200_YUV_TEMPERATURE_MASK (1 << 21) 2747 1.1 gdamore # define R200_WRAPEN_S (1 << 22) 2748 1.1 gdamore # define R200_CLAMP_S_WRAP (0 << 23) 2749 1.1 gdamore # define R200_CLAMP_S_MIRROR (1 << 23) 2750 1.1 gdamore # define R200_CLAMP_S_CLAMP_LAST (2 << 23) 2751 1.1 gdamore # define R200_CLAMP_S_MIRROR_CLAMP_LAST (3 << 23) 2752 1.1 gdamore # define R200_CLAMP_S_CLAMP_BORDER (4 << 23) 2753 1.1 gdamore # define R200_CLAMP_S_MIRROR_CLAMP_BORDER (5 << 23) 2754 1.1 gdamore # define R200_CLAMP_S_CLAMP_GL (6 << 23) 2755 1.1 gdamore # define R200_CLAMP_S_MIRROR_CLAMP_GL (7 << 23) 2756 1.1 gdamore # define R200_CLAMP_S_MASK (7 << 23) 2757 1.1 gdamore # define R200_WRAPEN_T (1 << 26) 2758 1.1 gdamore # define R200_CLAMP_T_WRAP (0 << 27) 2759 1.1 gdamore # define R200_CLAMP_T_MIRROR (1 << 27) 2760 1.1 gdamore # define R200_CLAMP_T_CLAMP_LAST (2 << 27) 2761 1.1 gdamore # define R200_CLAMP_T_MIRROR_CLAMP_LAST (3 << 27) 2762 1.1 gdamore # define R200_CLAMP_T_CLAMP_BORDER (4 << 27) 2763 1.1 gdamore # define R200_CLAMP_T_MIRROR_CLAMP_BORDER (5 << 27) 2764 1.1 gdamore # define R200_CLAMP_T_CLAMP_GL (6 << 27) 2765 1.1 gdamore # define R200_CLAMP_T_MIRROR_CLAMP_GL (7 << 27) 2766 1.1 gdamore # define R200_CLAMP_T_MASK (7 << 27) 2767 1.1 gdamore # define R200_KILL_LT_ZERO (1 << 30) 2768 1.1 gdamore # define R200_BORDER_MODE_OGL (0 << 31) 2769 1.1 gdamore # define R200_BORDER_MODE_D3D (1 << 31) 2770 1.1 gdamore #define R200_PP_TXFORMAT_0 0x2c04 2771 1.8 macallan #define R200_PP_TXFORMAT_1 0x2c24 2772 1.8 macallan #define R200_PP_TXFORMAT_2 0x2c44 2773 1.8 macallan #define R200_PP_TXFORMAT_3 0x2c64 2774 1.8 macallan #define R200_PP_TXFORMAT_4 0x2c84 2775 1.8 macallan #define R200_PP_TXFORMAT_5 0x2ca4 2776 1.1 gdamore # define R200_TXFORMAT_I8 (0 << 0) 2777 1.1 gdamore # define R200_TXFORMAT_AI88 (1 << 0) 2778 1.1 gdamore # define R200_TXFORMAT_RGB332 (2 << 0) 2779 1.1 gdamore # define R200_TXFORMAT_ARGB1555 (3 << 0) 2780 1.1 gdamore # define R200_TXFORMAT_RGB565 (4 << 0) 2781 1.1 gdamore # define R200_TXFORMAT_ARGB4444 (5 << 0) 2782 1.1 gdamore # define R200_TXFORMAT_ARGB8888 (6 << 0) 2783 1.1 gdamore # define R200_TXFORMAT_RGBA8888 (7 << 0) 2784 1.1 gdamore # define R200_TXFORMAT_Y8 (8 << 0) 2785 1.1 gdamore # define R200_TXFORMAT_AVYU4444 (9 << 0) 2786 1.1 gdamore # define R200_TXFORMAT_VYUY422 (10 << 0) 2787 1.1 gdamore # define R200_TXFORMAT_YVYU422 (11 << 0) 2788 1.1 gdamore # define R200_TXFORMAT_DXT1 (12 << 0) 2789 1.1 gdamore # define R200_TXFORMAT_DXT23 (14 << 0) 2790 1.1 gdamore # define R200_TXFORMAT_DXT45 (15 << 0) 2791 1.8 macallan # define R200_TXFORMAT_ABGR8888 (22 << 0) 2792 1.1 gdamore # define R200_TXFORMAT_FORMAT_MASK (31 << 0) 2793 1.1 gdamore # define R200_TXFORMAT_FORMAT_SHIFT 0 2794 1.1 gdamore # define R200_TXFORMAT_ALPHA_IN_MAP (1 << 6) 2795 1.1 gdamore # define R200_TXFORMAT_NON_POWER2 (1 << 7) 2796 1.1 gdamore # define R200_TXFORMAT_WIDTH_MASK (15 << 8) 2797 1.1 gdamore # define R200_TXFORMAT_WIDTH_SHIFT 8 2798 1.1 gdamore # define R200_TXFORMAT_HEIGHT_MASK (15 << 12) 2799 1.1 gdamore # define R200_TXFORMAT_HEIGHT_SHIFT 12 2800 1.1 gdamore # define R200_TXFORMAT_F5_WIDTH_MASK (15 << 16) /* cube face 5 */ 2801 1.1 gdamore # define R200_TXFORMAT_F5_WIDTH_SHIFT 16 2802 1.1 gdamore # define R200_TXFORMAT_F5_HEIGHT_MASK (15 << 20) 2803 1.1 gdamore # define R200_TXFORMAT_F5_HEIGHT_SHIFT 20 2804 1.1 gdamore # define R200_TXFORMAT_ST_ROUTE_STQ0 (0 << 24) 2805 1.1 gdamore # define R200_TXFORMAT_ST_ROUTE_STQ1 (1 << 24) 2806 1.1 gdamore # define R200_TXFORMAT_ST_ROUTE_STQ2 (2 << 24) 2807 1.1 gdamore # define R200_TXFORMAT_ST_ROUTE_STQ3 (3 << 24) 2808 1.1 gdamore # define R200_TXFORMAT_ST_ROUTE_STQ4 (4 << 24) 2809 1.1 gdamore # define R200_TXFORMAT_ST_ROUTE_STQ5 (5 << 24) 2810 1.1 gdamore # define R200_TXFORMAT_ST_ROUTE_MASK (7 << 24) 2811 1.1 gdamore # define R200_TXFORMAT_ST_ROUTE_SHIFT 24 2812 1.1 gdamore # define R200_TXFORMAT_ALPHA_MASK_ENABLE (1 << 28) 2813 1.1 gdamore # define R200_TXFORMAT_CHROMA_KEY_ENABLE (1 << 29) 2814 1.1 gdamore # define R200_TXFORMAT_CUBIC_MAP_ENABLE (1 << 30) 2815 1.1 gdamore #define R200_PP_TXFORMAT_X_0 0x2c08 2816 1.8 macallan #define R200_PP_TXFORMAT_X_1 0x2c28 2817 1.8 macallan #define R200_PP_TXFORMAT_X_2 0x2c48 2818 1.8 macallan #define R200_PP_TXFORMAT_X_3 0x2c68 2819 1.8 macallan #define R200_PP_TXFORMAT_X_4 0x2c88 2820 1.8 macallan #define R200_PP_TXFORMAT_X_5 0x2ca8 2821 1.8 macallan 2822 1.1 gdamore #define R200_PP_TXSIZE_0 0x2c0c /* NPOT only */ 2823 1.8 macallan #define R200_PP_TXSIZE_1 0x2c2c /* NPOT only */ 2824 1.8 macallan #define R200_PP_TXSIZE_2 0x2c4c /* NPOT only */ 2825 1.8 macallan #define R200_PP_TXSIZE_3 0x2c6c /* NPOT only */ 2826 1.8 macallan #define R200_PP_TXSIZE_4 0x2c8c /* NPOT only */ 2827 1.8 macallan #define R200_PP_TXSIZE_5 0x2cac /* NPOT only */ 2828 1.8 macallan 2829 1.1 gdamore #define R200_PP_TXPITCH_0 0x2c10 /* NPOT only */ 2830 1.8 macallan #define R200_PP_TXPITCH_1 0x2c30 /* NPOT only */ 2831 1.8 macallan #define R200_PP_TXPITCH_2 0x2c50 /* NPOT only */ 2832 1.8 macallan #define R200_PP_TXPITCH_3 0x2c70 /* NPOT only */ 2833 1.8 macallan #define R200_PP_TXPITCH_4 0x2c90 /* NPOT only */ 2834 1.8 macallan #define R200_PP_TXPITCH_5 0x2cb0 /* NPOT only */ 2835 1.8 macallan 2836 1.1 gdamore #define R200_PP_TXOFFSET_0 0x2d00 2837 1.1 gdamore # define R200_TXO_ENDIAN_NO_SWAP (0 << 0) 2838 1.1 gdamore # define R200_TXO_ENDIAN_BYTE_SWAP (1 << 0) 2839 1.1 gdamore # define R200_TXO_ENDIAN_WORD_SWAP (2 << 0) 2840 1.1 gdamore # define R200_TXO_ENDIAN_HALFDW_SWAP (3 << 0) 2841 1.8 macallan # define R200_TXO_MACRO_LINEAR (0 << 2) 2842 1.8 macallan # define R200_TXO_MACRO_TILE (1 << 2) 2843 1.8 macallan # define R200_TXO_MICRO_LINEAR (0 << 3) 2844 1.8 macallan # define R200_TXO_MICRO_TILE (1 << 3) 2845 1.1 gdamore # define R200_TXO_OFFSET_MASK 0xffffffe0 2846 1.1 gdamore # define R200_TXO_OFFSET_SHIFT 5 2847 1.8 macallan #define R200_PP_TXOFFSET_1 0x2d18 2848 1.8 macallan #define R200_PP_TXOFFSET_2 0x2d30 2849 1.8 macallan #define R200_PP_TXOFFSET_3 0x2d48 2850 1.8 macallan #define R200_PP_TXOFFSET_4 0x2d60 2851 1.8 macallan #define R200_PP_TXOFFSET_5 0x2d78 2852 1.1 gdamore 2853 1.1 gdamore #define R200_PP_TFACTOR_0 0x2ee0 2854 1.1 gdamore #define R200_PP_TFACTOR_1 0x2ee4 2855 1.1 gdamore #define R200_PP_TFACTOR_2 0x2ee8 2856 1.1 gdamore #define R200_PP_TFACTOR_3 0x2eec 2857 1.1 gdamore #define R200_PP_TFACTOR_4 0x2ef0 2858 1.1 gdamore #define R200_PP_TFACTOR_5 0x2ef4 2859 1.1 gdamore 2860 1.1 gdamore #define R200_PP_TXCBLEND_0 0x2f00 2861 1.1 gdamore # define R200_TXC_ARG_A_ZERO (0) 2862 1.1 gdamore # define R200_TXC_ARG_A_CURRENT_COLOR (2) 2863 1.1 gdamore # define R200_TXC_ARG_A_CURRENT_ALPHA (3) 2864 1.1 gdamore # define R200_TXC_ARG_A_DIFFUSE_COLOR (4) 2865 1.1 gdamore # define R200_TXC_ARG_A_DIFFUSE_ALPHA (5) 2866 1.1 gdamore # define R200_TXC_ARG_A_SPECULAR_COLOR (6) 2867 1.1 gdamore # define R200_TXC_ARG_A_SPECULAR_ALPHA (7) 2868 1.1 gdamore # define R200_TXC_ARG_A_TFACTOR_COLOR (8) 2869 1.1 gdamore # define R200_TXC_ARG_A_TFACTOR_ALPHA (9) 2870 1.1 gdamore # define R200_TXC_ARG_A_R0_COLOR (10) 2871 1.1 gdamore # define R200_TXC_ARG_A_R0_ALPHA (11) 2872 1.1 gdamore # define R200_TXC_ARG_A_R1_COLOR (12) 2873 1.1 gdamore # define R200_TXC_ARG_A_R1_ALPHA (13) 2874 1.1 gdamore # define R200_TXC_ARG_A_R2_COLOR (14) 2875 1.1 gdamore # define R200_TXC_ARG_A_R2_ALPHA (15) 2876 1.1 gdamore # define R200_TXC_ARG_A_R3_COLOR (16) 2877 1.1 gdamore # define R200_TXC_ARG_A_R3_ALPHA (17) 2878 1.1 gdamore # define R200_TXC_ARG_A_R4_COLOR (18) 2879 1.1 gdamore # define R200_TXC_ARG_A_R4_ALPHA (19) 2880 1.1 gdamore # define R200_TXC_ARG_A_R5_COLOR (20) 2881 1.1 gdamore # define R200_TXC_ARG_A_R5_ALPHA (21) 2882 1.1 gdamore # define R200_TXC_ARG_A_TFACTOR1_COLOR (26) 2883 1.1 gdamore # define R200_TXC_ARG_A_TFACTOR1_ALPHA (27) 2884 1.1 gdamore # define R200_TXC_ARG_A_MASK (31 << 0) 2885 1.1 gdamore # define R200_TXC_ARG_A_SHIFT 0 2886 1.1 gdamore # define R200_TXC_ARG_B_ZERO (0 << 5) 2887 1.1 gdamore # define R200_TXC_ARG_B_CURRENT_COLOR (2 << 5) 2888 1.1 gdamore # define R200_TXC_ARG_B_CURRENT_ALPHA (3 << 5) 2889 1.1 gdamore # define R200_TXC_ARG_B_DIFFUSE_COLOR (4 << 5) 2890 1.1 gdamore # define R200_TXC_ARG_B_DIFFUSE_ALPHA (5 << 5) 2891 1.1 gdamore # define R200_TXC_ARG_B_SPECULAR_COLOR (6 << 5) 2892 1.1 gdamore # define R200_TXC_ARG_B_SPECULAR_ALPHA (7 << 5) 2893 1.1 gdamore # define R200_TXC_ARG_B_TFACTOR_COLOR (8 << 5) 2894 1.1 gdamore # define R200_TXC_ARG_B_TFACTOR_ALPHA (9 << 5) 2895 1.1 gdamore # define R200_TXC_ARG_B_R0_COLOR (10 << 5) 2896 1.1 gdamore # define R200_TXC_ARG_B_R0_ALPHA (11 << 5) 2897 1.1 gdamore # define R200_TXC_ARG_B_R1_COLOR (12 << 5) 2898 1.1 gdamore # define R200_TXC_ARG_B_R1_ALPHA (13 << 5) 2899 1.1 gdamore # define R200_TXC_ARG_B_R2_COLOR (14 << 5) 2900 1.1 gdamore # define R200_TXC_ARG_B_R2_ALPHA (15 << 5) 2901 1.1 gdamore # define R200_TXC_ARG_B_R3_COLOR (16 << 5) 2902 1.1 gdamore # define R200_TXC_ARG_B_R3_ALPHA (17 << 5) 2903 1.1 gdamore # define R200_TXC_ARG_B_R4_COLOR (18 << 5) 2904 1.1 gdamore # define R200_TXC_ARG_B_R4_ALPHA (19 << 5) 2905 1.1 gdamore # define R200_TXC_ARG_B_R5_COLOR (20 << 5) 2906 1.1 gdamore # define R200_TXC_ARG_B_R5_ALPHA (21 << 5) 2907 1.1 gdamore # define R200_TXC_ARG_B_TFACTOR1_COLOR (26 << 5) 2908 1.1 gdamore # define R200_TXC_ARG_B_TFACTOR1_ALPHA (27 << 5) 2909 1.1 gdamore # define R200_TXC_ARG_B_MASK (31 << 5) 2910 1.1 gdamore # define R200_TXC_ARG_B_SHIFT 5 2911 1.1 gdamore # define R200_TXC_ARG_C_ZERO (0 << 10) 2912 1.1 gdamore # define R200_TXC_ARG_C_CURRENT_COLOR (2 << 10) 2913 1.1 gdamore # define R200_TXC_ARG_C_CURRENT_ALPHA (3 << 10) 2914 1.1 gdamore # define R200_TXC_ARG_C_DIFFUSE_COLOR (4 << 10) 2915 1.1 gdamore # define R200_TXC_ARG_C_DIFFUSE_ALPHA (5 << 10) 2916 1.1 gdamore # define R200_TXC_ARG_C_SPECULAR_COLOR (6 << 10) 2917 1.1 gdamore # define R200_TXC_ARG_C_SPECULAR_ALPHA (7 << 10) 2918 1.1 gdamore # define R200_TXC_ARG_C_TFACTOR_COLOR (8 << 10) 2919 1.1 gdamore # define R200_TXC_ARG_C_TFACTOR_ALPHA (9 << 10) 2920 1.1 gdamore # define R200_TXC_ARG_C_R0_COLOR (10 << 10) 2921 1.1 gdamore # define R200_TXC_ARG_C_R0_ALPHA (11 << 10) 2922 1.1 gdamore # define R200_TXC_ARG_C_R1_COLOR (12 << 10) 2923 1.1 gdamore # define R200_TXC_ARG_C_R1_ALPHA (13 << 10) 2924 1.1 gdamore # define R200_TXC_ARG_C_R2_COLOR (14 << 10) 2925 1.1 gdamore # define R200_TXC_ARG_C_R2_ALPHA (15 << 10) 2926 1.1 gdamore # define R200_TXC_ARG_C_R3_COLOR (16 << 10) 2927 1.1 gdamore # define R200_TXC_ARG_C_R3_ALPHA (17 << 10) 2928 1.1 gdamore # define R200_TXC_ARG_C_R4_COLOR (18 << 10) 2929 1.1 gdamore # define R200_TXC_ARG_C_R4_ALPHA (19 << 10) 2930 1.1 gdamore # define R200_TXC_ARG_C_R5_COLOR (20 << 10) 2931 1.1 gdamore # define R200_TXC_ARG_C_R5_ALPHA (21 << 10) 2932 1.1 gdamore # define R200_TXC_ARG_C_TFACTOR1_COLOR (26 << 10) 2933 1.1 gdamore # define R200_TXC_ARG_C_TFACTOR1_ALPHA (27 << 10) 2934 1.1 gdamore # define R200_TXC_ARG_C_MASK (31 << 10) 2935 1.1 gdamore # define R200_TXC_ARG_C_SHIFT 10 2936 1.1 gdamore # define R200_TXC_COMP_ARG_A (1 << 16) 2937 1.1 gdamore # define R200_TXC_COMP_ARG_A_SHIFT (16) 2938 1.1 gdamore # define R200_TXC_BIAS_ARG_A (1 << 17) 2939 1.1 gdamore # define R200_TXC_SCALE_ARG_A (1 << 18) 2940 1.1 gdamore # define R200_TXC_NEG_ARG_A (1 << 19) 2941 1.1 gdamore # define R200_TXC_COMP_ARG_B (1 << 20) 2942 1.1 gdamore # define R200_TXC_COMP_ARG_B_SHIFT (20) 2943 1.1 gdamore # define R200_TXC_BIAS_ARG_B (1 << 21) 2944 1.1 gdamore # define R200_TXC_SCALE_ARG_B (1 << 22) 2945 1.1 gdamore # define R200_TXC_NEG_ARG_B (1 << 23) 2946 1.1 gdamore # define R200_TXC_COMP_ARG_C (1 << 24) 2947 1.1 gdamore # define R200_TXC_COMP_ARG_C_SHIFT (24) 2948 1.1 gdamore # define R200_TXC_BIAS_ARG_C (1 << 25) 2949 1.1 gdamore # define R200_TXC_SCALE_ARG_C (1 << 26) 2950 1.1 gdamore # define R200_TXC_NEG_ARG_C (1 << 27) 2951 1.1 gdamore # define R200_TXC_OP_MADD (0 << 28) 2952 1.1 gdamore # define R200_TXC_OP_CND0 (2 << 28) 2953 1.1 gdamore # define R200_TXC_OP_LERP (3 << 28) 2954 1.1 gdamore # define R200_TXC_OP_DOT3 (4 << 28) 2955 1.1 gdamore # define R200_TXC_OP_DOT4 (5 << 28) 2956 1.1 gdamore # define R200_TXC_OP_CONDITIONAL (6 << 28) 2957 1.1 gdamore # define R200_TXC_OP_DOT2_ADD (7 << 28) 2958 1.1 gdamore # define R200_TXC_OP_MASK (7 << 28) 2959 1.1 gdamore #define R200_PP_TXCBLEND2_0 0x2f04 2960 1.1 gdamore # define R200_TXC_TFACTOR_SEL_SHIFT 0 2961 1.1 gdamore # define R200_TXC_TFACTOR_SEL_MASK 0x7 2962 1.1 gdamore # define R200_TXC_TFACTOR1_SEL_SHIFT 4 2963 1.1 gdamore # define R200_TXC_TFACTOR1_SEL_MASK (0x7 << 4) 2964 1.1 gdamore # define R200_TXC_SCALE_SHIFT 8 2965 1.1 gdamore # define R200_TXC_SCALE_MASK (7 << 8) 2966 1.1 gdamore # define R200_TXC_SCALE_1X (0 << 8) 2967 1.1 gdamore # define R200_TXC_SCALE_2X (1 << 8) 2968 1.1 gdamore # define R200_TXC_SCALE_4X (2 << 8) 2969 1.1 gdamore # define R200_TXC_SCALE_8X (3 << 8) 2970 1.1 gdamore # define R200_TXC_SCALE_INV2 (5 << 8) 2971 1.1 gdamore # define R200_TXC_SCALE_INV4 (6 << 8) 2972 1.1 gdamore # define R200_TXC_SCALE_INV8 (7 << 8) 2973 1.1 gdamore # define R200_TXC_CLAMP_SHIFT 12 2974 1.1 gdamore # define R200_TXC_CLAMP_MASK (3 << 12) 2975 1.1 gdamore # define R200_TXC_CLAMP_WRAP (0 << 12) 2976 1.1 gdamore # define R200_TXC_CLAMP_0_1 (1 << 12) 2977 1.1 gdamore # define R200_TXC_CLAMP_8_8 (2 << 12) 2978 1.1 gdamore # define R200_TXC_OUTPUT_REG_MASK (7 << 16) 2979 1.1 gdamore # define R200_TXC_OUTPUT_REG_NONE (0 << 16) 2980 1.1 gdamore # define R200_TXC_OUTPUT_REG_R0 (1 << 16) 2981 1.1 gdamore # define R200_TXC_OUTPUT_REG_R1 (2 << 16) 2982 1.1 gdamore # define R200_TXC_OUTPUT_REG_R2 (3 << 16) 2983 1.1 gdamore # define R200_TXC_OUTPUT_REG_R3 (4 << 16) 2984 1.1 gdamore # define R200_TXC_OUTPUT_REG_R4 (5 << 16) 2985 1.1 gdamore # define R200_TXC_OUTPUT_REG_R5 (6 << 16) 2986 1.1 gdamore # define R200_TXC_OUTPUT_MASK_MASK (7 << 20) 2987 1.1 gdamore # define R200_TXC_OUTPUT_MASK_RGB (0 << 20) 2988 1.1 gdamore # define R200_TXC_OUTPUT_MASK_RG (1 << 20) 2989 1.1 gdamore # define R200_TXC_OUTPUT_MASK_RB (2 << 20) 2990 1.1 gdamore # define R200_TXC_OUTPUT_MASK_R (3 << 20) 2991 1.1 gdamore # define R200_TXC_OUTPUT_MASK_GB (4 << 20) 2992 1.1 gdamore # define R200_TXC_OUTPUT_MASK_G (5 << 20) 2993 1.1 gdamore # define R200_TXC_OUTPUT_MASK_B (6 << 20) 2994 1.1 gdamore # define R200_TXC_OUTPUT_MASK_NONE (7 << 20) 2995 1.1 gdamore # define R200_TXC_REPL_NORMAL 0 2996 1.1 gdamore # define R200_TXC_REPL_RED 1 2997 1.1 gdamore # define R200_TXC_REPL_GREEN 2 2998 1.1 gdamore # define R200_TXC_REPL_BLUE 3 2999 1.1 gdamore # define R200_TXC_REPL_ARG_A_SHIFT 26 3000 1.1 gdamore # define R200_TXC_REPL_ARG_A_MASK (3 << 26) 3001 1.1 gdamore # define R200_TXC_REPL_ARG_B_SHIFT 28 3002 1.1 gdamore # define R200_TXC_REPL_ARG_B_MASK (3 << 28) 3003 1.1 gdamore # define R200_TXC_REPL_ARG_C_SHIFT 30 3004 1.1 gdamore # define R200_TXC_REPL_ARG_C_MASK (3 << 30) 3005 1.1 gdamore #define R200_PP_TXABLEND_0 0x2f08 3006 1.1 gdamore # define R200_TXA_ARG_A_ZERO (0) 3007 1.1 gdamore # define R200_TXA_ARG_A_CURRENT_ALPHA (2) /* guess */ 3008 1.1 gdamore # define R200_TXA_ARG_A_CURRENT_BLUE (3) /* guess */ 3009 1.1 gdamore # define R200_TXA_ARG_A_DIFFUSE_ALPHA (4) 3010 1.1 gdamore # define R200_TXA_ARG_A_DIFFUSE_BLUE (5) 3011 1.1 gdamore # define R200_TXA_ARG_A_SPECULAR_ALPHA (6) 3012 1.1 gdamore # define R200_TXA_ARG_A_SPECULAR_BLUE (7) 3013 1.1 gdamore # define R200_TXA_ARG_A_TFACTOR_ALPHA (8) 3014 1.1 gdamore # define R200_TXA_ARG_A_TFACTOR_BLUE (9) 3015 1.1 gdamore # define R200_TXA_ARG_A_R0_ALPHA (10) 3016 1.1 gdamore # define R200_TXA_ARG_A_R0_BLUE (11) 3017 1.1 gdamore # define R200_TXA_ARG_A_R1_ALPHA (12) 3018 1.1 gdamore # define R200_TXA_ARG_A_R1_BLUE (13) 3019 1.1 gdamore # define R200_TXA_ARG_A_R2_ALPHA (14) 3020 1.1 gdamore # define R200_TXA_ARG_A_R2_BLUE (15) 3021 1.1 gdamore # define R200_TXA_ARG_A_R3_ALPHA (16) 3022 1.1 gdamore # define R200_TXA_ARG_A_R3_BLUE (17) 3023 1.1 gdamore # define R200_TXA_ARG_A_R4_ALPHA (18) 3024 1.1 gdamore # define R200_TXA_ARG_A_R4_BLUE (19) 3025 1.1 gdamore # define R200_TXA_ARG_A_R5_ALPHA (20) 3026 1.1 gdamore # define R200_TXA_ARG_A_R5_BLUE (21) 3027 1.1 gdamore # define R200_TXA_ARG_A_TFACTOR1_ALPHA (26) 3028 1.1 gdamore # define R200_TXA_ARG_A_TFACTOR1_BLUE (27) 3029 1.1 gdamore # define R200_TXA_ARG_A_MASK (31 << 0) 3030 1.1 gdamore # define R200_TXA_ARG_A_SHIFT 0 3031 1.1 gdamore # define R200_TXA_ARG_B_ZERO (0 << 5) 3032 1.1 gdamore # define R200_TXA_ARG_B_CURRENT_ALPHA (2 << 5) /* guess */ 3033 1.1 gdamore # define R200_TXA_ARG_B_CURRENT_BLUE (3 << 5) /* guess */ 3034 1.1 gdamore # define R200_TXA_ARG_B_DIFFUSE_ALPHA (4 << 5) 3035 1.1 gdamore # define R200_TXA_ARG_B_DIFFUSE_BLUE (5 << 5) 3036 1.1 gdamore # define R200_TXA_ARG_B_SPECULAR_ALPHA (6 << 5) 3037 1.1 gdamore # define R200_TXA_ARG_B_SPECULAR_BLUE (7 << 5) 3038 1.1 gdamore # define R200_TXA_ARG_B_TFACTOR_ALPHA (8 << 5) 3039 1.1 gdamore # define R200_TXA_ARG_B_TFACTOR_BLUE (9 << 5) 3040 1.1 gdamore # define R200_TXA_ARG_B_R0_ALPHA (10 << 5) 3041 1.1 gdamore # define R200_TXA_ARG_B_R0_BLUE (11 << 5) 3042 1.1 gdamore # define R200_TXA_ARG_B_R1_ALPHA (12 << 5) 3043 1.1 gdamore # define R200_TXA_ARG_B_R1_BLUE (13 << 5) 3044 1.1 gdamore # define R200_TXA_ARG_B_R2_ALPHA (14 << 5) 3045 1.1 gdamore # define R200_TXA_ARG_B_R2_BLUE (15 << 5) 3046 1.1 gdamore # define R200_TXA_ARG_B_R3_ALPHA (16 << 5) 3047 1.1 gdamore # define R200_TXA_ARG_B_R3_BLUE (17 << 5) 3048 1.1 gdamore # define R200_TXA_ARG_B_R4_ALPHA (18 << 5) 3049 1.1 gdamore # define R200_TXA_ARG_B_R4_BLUE (19 << 5) 3050 1.1 gdamore # define R200_TXA_ARG_B_R5_ALPHA (20 << 5) 3051 1.1 gdamore # define R200_TXA_ARG_B_R5_BLUE (21 << 5) 3052 1.1 gdamore # define R200_TXA_ARG_B_TFACTOR1_ALPHA (26 << 5) 3053 1.1 gdamore # define R200_TXA_ARG_B_TFACTOR1_BLUE (27 << 5) 3054 1.1 gdamore # define R200_TXA_ARG_B_MASK (31 << 5) 3055 1.1 gdamore # define R200_TXA_ARG_B_SHIFT 5 3056 1.1 gdamore # define R200_TXA_ARG_C_ZERO (0 << 10) 3057 1.1 gdamore # define R200_TXA_ARG_C_CURRENT_ALPHA (2 << 10) /* guess */ 3058 1.1 gdamore # define R200_TXA_ARG_C_CURRENT_BLUE (3 << 10) /* guess */ 3059 1.1 gdamore # define R200_TXA_ARG_C_DIFFUSE_ALPHA (4 << 10) 3060 1.1 gdamore # define R200_TXA_ARG_C_DIFFUSE_BLUE (5 << 10) 3061 1.1 gdamore # define R200_TXA_ARG_C_SPECULAR_ALPHA (6 << 10) 3062 1.1 gdamore # define R200_TXA_ARG_C_SPECULAR_BLUE (7 << 10) 3063 1.1 gdamore # define R200_TXA_ARG_C_TFACTOR_ALPHA (8 << 10) 3064 1.1 gdamore # define R200_TXA_ARG_C_TFACTOR_BLUE (9 << 10) 3065 1.1 gdamore # define R200_TXA_ARG_C_R0_ALPHA (10 << 10) 3066 1.1 gdamore # define R200_TXA_ARG_C_R0_BLUE (11 << 10) 3067 1.1 gdamore # define R200_TXA_ARG_C_R1_ALPHA (12 << 10) 3068 1.1 gdamore # define R200_TXA_ARG_C_R1_BLUE (13 << 10) 3069 1.1 gdamore # define R200_TXA_ARG_C_R2_ALPHA (14 << 10) 3070 1.1 gdamore # define R200_TXA_ARG_C_R2_BLUE (15 << 10) 3071 1.1 gdamore # define R200_TXA_ARG_C_R3_ALPHA (16 << 10) 3072 1.1 gdamore # define R200_TXA_ARG_C_R3_BLUE (17 << 10) 3073 1.1 gdamore # define R200_TXA_ARG_C_R4_ALPHA (18 << 10) 3074 1.1 gdamore # define R200_TXA_ARG_C_R4_BLUE (19 << 10) 3075 1.1 gdamore # define R200_TXA_ARG_C_R5_ALPHA (20 << 10) 3076 1.1 gdamore # define R200_TXA_ARG_C_R5_BLUE (21 << 10) 3077 1.1 gdamore # define R200_TXA_ARG_C_TFACTOR1_ALPHA (26 << 10) 3078 1.1 gdamore # define R200_TXA_ARG_C_TFACTOR1_BLUE (27 << 10) 3079 1.1 gdamore # define R200_TXA_ARG_C_MASK (31 << 10) 3080 1.1 gdamore # define R200_TXA_ARG_C_SHIFT 10 3081 1.1 gdamore # define R200_TXA_COMP_ARG_A (1 << 16) 3082 1.1 gdamore # define R200_TXA_COMP_ARG_A_SHIFT (16) 3083 1.1 gdamore # define R200_TXA_BIAS_ARG_A (1 << 17) 3084 1.1 gdamore # define R200_TXA_SCALE_ARG_A (1 << 18) 3085 1.1 gdamore # define R200_TXA_NEG_ARG_A (1 << 19) 3086 1.1 gdamore # define R200_TXA_COMP_ARG_B (1 << 20) 3087 1.1 gdamore # define R200_TXA_COMP_ARG_B_SHIFT (20) 3088 1.1 gdamore # define R200_TXA_BIAS_ARG_B (1 << 21) 3089 1.1 gdamore # define R200_TXA_SCALE_ARG_B (1 << 22) 3090 1.1 gdamore # define R200_TXA_NEG_ARG_B (1 << 23) 3091 1.1 gdamore # define R200_TXA_COMP_ARG_C (1 << 24) 3092 1.1 gdamore # define R200_TXA_COMP_ARG_C_SHIFT (24) 3093 1.1 gdamore # define R200_TXA_BIAS_ARG_C (1 << 25) 3094 1.1 gdamore # define R200_TXA_SCALE_ARG_C (1 << 26) 3095 1.1 gdamore # define R200_TXA_NEG_ARG_C (1 << 27) 3096 1.1 gdamore # define R200_TXA_OP_MADD (0 << 28) 3097 1.1 gdamore # define R200_TXA_OP_CND0 (2 << 28) 3098 1.1 gdamore # define R200_TXA_OP_LERP (3 << 28) 3099 1.1 gdamore # define R200_TXA_OP_CONDITIONAL (6 << 28) 3100 1.1 gdamore # define R200_TXA_OP_MASK (7 << 28) 3101 1.1 gdamore #define R200_PP_TXABLEND2_0 0x2f0c 3102 1.1 gdamore # define R200_TXA_TFACTOR_SEL_SHIFT 0 3103 1.1 gdamore # define R200_TXA_TFACTOR_SEL_MASK 0x7 3104 1.1 gdamore # define R200_TXA_TFACTOR1_SEL_SHIFT 4 3105 1.1 gdamore # define R200_TXA_TFACTOR1_SEL_MASK (0x7 << 4) 3106 1.1 gdamore # define R200_TXA_SCALE_SHIFT 8 3107 1.1 gdamore # define R200_TXA_SCALE_MASK (7 << 8) 3108 1.1 gdamore # define R200_TXA_SCALE_1X (0 << 8) 3109 1.1 gdamore # define R200_TXA_SCALE_2X (1 << 8) 3110 1.1 gdamore # define R200_TXA_SCALE_4X (2 << 8) 3111 1.1 gdamore # define R200_TXA_SCALE_8X (3 << 8) 3112 1.1 gdamore # define R200_TXA_SCALE_INV2 (5 << 8) 3113 1.1 gdamore # define R200_TXA_SCALE_INV4 (6 << 8) 3114 1.1 gdamore # define R200_TXA_SCALE_INV8 (7 << 8) 3115 1.1 gdamore # define R200_TXA_CLAMP_SHIFT 12 3116 1.1 gdamore # define R200_TXA_CLAMP_MASK (3 << 12) 3117 1.1 gdamore # define R200_TXA_CLAMP_WRAP (0 << 12) 3118 1.1 gdamore # define R200_TXA_CLAMP_0_1 (1 << 12) 3119 1.1 gdamore # define R200_TXA_CLAMP_8_8 (2 << 12) 3120 1.1 gdamore # define R200_TXA_OUTPUT_REG_MASK (7 << 16) 3121 1.1 gdamore # define R200_TXA_OUTPUT_REG_NONE (0 << 16) 3122 1.1 gdamore # define R200_TXA_OUTPUT_REG_R0 (1 << 16) 3123 1.1 gdamore # define R200_TXA_OUTPUT_REG_R1 (2 << 16) 3124 1.1 gdamore # define R200_TXA_OUTPUT_REG_R2 (3 << 16) 3125 1.1 gdamore # define R200_TXA_OUTPUT_REG_R3 (4 << 16) 3126 1.1 gdamore # define R200_TXA_OUTPUT_REG_R4 (5 << 16) 3127 1.1 gdamore # define R200_TXA_OUTPUT_REG_R5 (6 << 16) 3128 1.1 gdamore # define R200_TXA_DOT_ALPHA (1 << 20) 3129 1.1 gdamore # define R200_TXA_REPL_NORMAL 0 3130 1.1 gdamore # define R200_TXA_REPL_RED 1 3131 1.1 gdamore # define R200_TXA_REPL_GREEN 2 3132 1.1 gdamore # define R200_TXA_REPL_ARG_A_SHIFT 26 3133 1.1 gdamore # define R200_TXA_REPL_ARG_A_MASK (3 << 26) 3134 1.1 gdamore # define R200_TXA_REPL_ARG_B_SHIFT 28 3135 1.1 gdamore # define R200_TXA_REPL_ARG_B_MASK (3 << 28) 3136 1.1 gdamore # define R200_TXA_REPL_ARG_C_SHIFT 30 3137 1.1 gdamore # define R200_TXA_REPL_ARG_C_MASK (3 << 30) 3138 1.8 macallan #define R200_PP_TXCBLEND_1 0x2f10 3139 1.8 macallan #define R200_PP_TXCBLEND2_1 0x2f14 3140 1.8 macallan #define R200_PP_TXABLEND_1 0x2f18 3141 1.8 macallan #define R200_PP_TXABLEND2_1 0x2f1c 3142 1.8 macallan #define R200_PP_TXCBLEND_2 0x2f20 3143 1.8 macallan #define R200_PP_TXCBLEND2_2 0x2f24 3144 1.8 macallan #define R200_PP_TXABLEND_2 0x2f28 3145 1.8 macallan #define R200_PP_TXABLEND2_2 0x2f2c 3146 1.8 macallan #define R200_PP_TXCBLEND_3 0x2f30 3147 1.8 macallan #define R200_PP_TXCBLEND2_3 0x2f34 3148 1.8 macallan #define R200_PP_TXABLEND_3 0x2f38 3149 1.8 macallan #define R200_PP_TXABLEND2_3 0x2f3c 3150 1.1 gdamore 3151 1.1 gdamore #define R200_SE_VTX_FMT_0 0x2088 3152 1.1 gdamore # define R200_VTX_XY 0 /* always have xy */ 3153 1.1 gdamore # define R200_VTX_Z0 (1<<0) 3154 1.1 gdamore # define R200_VTX_W0 (1<<1) 3155 1.1 gdamore # define R200_VTX_WEIGHT_COUNT_SHIFT (2) 3156 1.1 gdamore # define R200_VTX_PV_MATRIX_SEL (1<<5) 3157 1.1 gdamore # define R200_VTX_N0 (1<<6) 3158 1.1 gdamore # define R200_VTX_POINT_SIZE (1<<7) 3159 1.1 gdamore # define R200_VTX_DISCRETE_FOG (1<<8) 3160 1.1 gdamore # define R200_VTX_SHININESS_0 (1<<9) 3161 1.1 gdamore # define R200_VTX_SHININESS_1 (1<<10) 3162 1.1 gdamore # define R200_VTX_COLOR_NOT_PRESENT 0 3163 1.1 gdamore # define R200_VTX_PK_RGBA 1 3164 1.1 gdamore # define R200_VTX_FP_RGB 2 3165 1.1 gdamore # define R200_VTX_FP_RGBA 3 3166 1.1 gdamore # define R200_VTX_COLOR_MASK 3 3167 1.1 gdamore # define R200_VTX_COLOR_0_SHIFT 11 3168 1.1 gdamore # define R200_VTX_COLOR_1_SHIFT 13 3169 1.1 gdamore # define R200_VTX_COLOR_2_SHIFT 15 3170 1.1 gdamore # define R200_VTX_COLOR_3_SHIFT 17 3171 1.1 gdamore # define R200_VTX_COLOR_4_SHIFT 19 3172 1.1 gdamore # define R200_VTX_COLOR_5_SHIFT 21 3173 1.1 gdamore # define R200_VTX_COLOR_6_SHIFT 23 3174 1.1 gdamore # define R200_VTX_COLOR_7_SHIFT 25 3175 1.1 gdamore # define R200_VTX_XY1 (1<<28) 3176 1.1 gdamore # define R200_VTX_Z1 (1<<29) 3177 1.1 gdamore # define R200_VTX_W1 (1<<30) 3178 1.1 gdamore # define R200_VTX_N1 (1<<31) 3179 1.1 gdamore #define R200_SE_VTX_FMT_1 0x208c 3180 1.1 gdamore # define R200_VTX_TEX0_COMP_CNT_SHIFT 0 3181 1.1 gdamore # define R200_VTX_TEX1_COMP_CNT_SHIFT 3 3182 1.1 gdamore # define R200_VTX_TEX2_COMP_CNT_SHIFT 6 3183 1.1 gdamore # define R200_VTX_TEX3_COMP_CNT_SHIFT 9 3184 1.1 gdamore # define R200_VTX_TEX4_COMP_CNT_SHIFT 12 3185 1.1 gdamore # define R200_VTX_TEX5_COMP_CNT_SHIFT 15 3186 1.1 gdamore 3187 1.1 gdamore #define R200_SE_TCL_OUTPUT_VTX_FMT_0 0x2090 3188 1.1 gdamore #define R200_SE_TCL_OUTPUT_VTX_FMT_1 0x2094 3189 1.1 gdamore #define R200_SE_TCL_OUTPUT_VTX_COMP_SEL 0x2250 3190 1.1 gdamore # define R200_OUTPUT_XYZW (1<<0) 3191 1.1 gdamore # define R200_OUTPUT_COLOR_0 (1<<8) 3192 1.1 gdamore # define R200_OUTPUT_COLOR_1 (1<<9) 3193 1.1 gdamore # define R200_OUTPUT_TEX_0 (1<<16) 3194 1.1 gdamore # define R200_OUTPUT_TEX_1 (1<<17) 3195 1.1 gdamore # define R200_OUTPUT_TEX_2 (1<<18) 3196 1.1 gdamore # define R200_OUTPUT_TEX_3 (1<<19) 3197 1.1 gdamore # define R200_OUTPUT_TEX_4 (1<<20) 3198 1.1 gdamore # define R200_OUTPUT_TEX_5 (1<<21) 3199 1.1 gdamore # define R200_OUTPUT_TEX_MASK (0x3f<<16) 3200 1.1 gdamore # define R200_OUTPUT_DISCRETE_FOG (1<<24) 3201 1.1 gdamore # define R200_OUTPUT_PT_SIZE (1<<25) 3202 1.1 gdamore # define R200_FORCE_INORDER_PROC (1<<31) 3203 1.1 gdamore #define R200_PP_CNTL_X 0x2cc4 3204 1.1 gdamore #define R200_PP_TXMULTI_CTL_0 0x2c1c 3205 1.1 gdamore #define R200_SE_VTX_STATE_CNTL 0x2180 3206 1.1 gdamore # define R200_UPDATE_USER_COLOR_0_ENA_MASK (1<<16) 3207 1.1 gdamore 3208 1.7 macallan #define R300_CRTC_TILE_X0_Y0 0x0350 3209 1.7 macallan #define R300_CRTC2_TILE_X0_Y0 0x0358 3210 1.7 macallan 3211 1.1 gdamore /* Registers for CP and Microcode Engine */ 3212 1.1 gdamore #define RADEON_CP_ME_RAM_ADDR 0x07d4 3213 1.1 gdamore #define RADEON_CP_ME_RAM_RADDR 0x07d8 3214 1.1 gdamore #define RADEON_CP_ME_RAM_DATAH 0x07dc 3215 1.1 gdamore #define RADEON_CP_ME_RAM_DATAL 0x07e0 3216 1.1 gdamore 3217 1.1 gdamore #define RADEON_CP_RB_BASE 0x0700 3218 1.1 gdamore #define RADEON_CP_RB_CNTL 0x0704 3219 1.1 gdamore #define RADEON_CP_RB_RPTR_ADDR 0x070c 3220 1.1 gdamore #define RADEON_CP_RB_RPTR 0x0710 3221 1.1 gdamore #define RADEON_CP_RB_WPTR 0x0714 3222 1.1 gdamore 3223 1.1 gdamore #define RADEON_CP_IB_BASE 0x0738 3224 1.1 gdamore #define RADEON_CP_IB_BUFSZ 0x073c 3225 1.1 gdamore 3226 1.1 gdamore #define RADEON_CP_CSQ_CNTL 0x0740 3227 1.1 gdamore # define RADEON_CSQ_CNT_PRIMARY_MASK (0xff << 0) 3228 1.1 gdamore # define RADEON_CSQ_PRIDIS_INDDIS (0 << 28) 3229 1.1 gdamore # define RADEON_CSQ_PRIPIO_INDDIS (1 << 28) 3230 1.1 gdamore # define RADEON_CSQ_PRIBM_INDDIS (2 << 28) 3231 1.1 gdamore # define RADEON_CSQ_PRIPIO_INDBM (3 << 28) 3232 1.1 gdamore # define RADEON_CSQ_PRIBM_INDBM (4 << 28) 3233 1.1 gdamore # define RADEON_CSQ_PRIPIO_INDPIO (15 << 28) 3234 1.1 gdamore #define RADEON_CP_CSQ_STAT 0x07f8 3235 1.1 gdamore # define RADEON_CSQ_RPTR_PRIMARY_MASK (0xff << 0) 3236 1.1 gdamore # define RADEON_CSQ_WPTR_PRIMARY_MASK (0xff << 8) 3237 1.1 gdamore # define RADEON_CSQ_RPTR_INDIRECT_MASK (0xff << 16) 3238 1.1 gdamore # define RADEON_CSQ_WPTR_INDIRECT_MASK (0xff << 24) 3239 1.1 gdamore #define RADEON_CP_CSQ_ADDR 0x07f0 3240 1.1 gdamore #define RADEON_CP_CSQ_DATA 0x07f4 3241 1.1 gdamore #define RADEON_CP_CSQ_APER_PRIMARY 0x1000 3242 1.1 gdamore #define RADEON_CP_CSQ_APER_INDIRECT 0x1300 3243 1.1 gdamore 3244 1.1 gdamore #define RADEON_CP_RB_WPTR_DELAY 0x0718 3245 1.1 gdamore # define RADEON_PRE_WRITE_TIMER_SHIFT 0 3246 1.1 gdamore # define RADEON_PRE_WRITE_LIMIT_SHIFT 23 3247 1.1 gdamore 3248 1.1 gdamore #define RADEON_AIC_CNTL 0x01d0 3249 1.1 gdamore # define RADEON_PCIGART_TRANSLATE_EN (1 << 0) 3250 1.1 gdamore #define RADEON_AIC_LO_ADDR 0x01dc 3251 1.1 gdamore 3252 1.1 gdamore 3253 1.1 gdamore 3254 1.1 gdamore /* Constants */ 3255 1.1 gdamore #define RADEON_LAST_FRAME_REG RADEON_GUI_SCRATCH_REG0 3256 1.1 gdamore #define RADEON_LAST_CLEAR_REG RADEON_GUI_SCRATCH_REG2 3257 1.1 gdamore 3258 1.1 gdamore 3259 1.1 gdamore 3260 1.1 gdamore /* CP packet types */ 3261 1.1 gdamore #define RADEON_CP_PACKET0 0x00000000 3262 1.1 gdamore #define RADEON_CP_PACKET1 0x40000000 3263 1.1 gdamore #define RADEON_CP_PACKET2 0x80000000 3264 1.1 gdamore #define RADEON_CP_PACKET3 0xC0000000 3265 1.1 gdamore # define RADEON_CP_PACKET_MASK 0xC0000000 3266 1.1 gdamore # define RADEON_CP_PACKET_COUNT_MASK 0x3fff0000 3267 1.1 gdamore # define RADEON_CP_PACKET_MAX_DWORDS (1 << 12) 3268 1.1 gdamore # define RADEON_CP_PACKET0_REG_MASK 0x000007ff 3269 1.1 gdamore # define RADEON_CP_PACKET1_REG0_MASK 0x000007ff 3270 1.1 gdamore # define RADEON_CP_PACKET1_REG1_MASK 0x003ff800 3271 1.1 gdamore 3272 1.1 gdamore #define RADEON_CP_PACKET0_ONE_REG_WR 0x00008000 3273 1.1 gdamore 3274 1.1 gdamore #define RADEON_CP_PACKET3_NOP 0xC0001000 3275 1.1 gdamore #define RADEON_CP_PACKET3_NEXT_CHAR 0xC0001900 3276 1.1 gdamore #define RADEON_CP_PACKET3_PLY_NEXTSCAN 0xC0001D00 3277 1.1 gdamore #define RADEON_CP_PACKET3_SET_SCISSORS 0xC0001E00 3278 1.1 gdamore #define RADEON_CP_PACKET3_3D_RNDR_GEN_INDX_PRIM 0xC0002300 3279 1.1 gdamore #define RADEON_CP_PACKET3_LOAD_MICROCODE 0xC0002400 3280 1.1 gdamore #define RADEON_CP_PACKET3_WAIT_FOR_IDLE 0xC0002600 3281 1.1 gdamore #define RADEON_CP_PACKET3_3D_DRAW_VBUF 0xC0002800 3282 1.1 gdamore #define RADEON_CP_PACKET3_3D_DRAW_IMMD 0xC0002900 3283 1.1 gdamore #define RADEON_CP_PACKET3_3D_DRAW_INDX 0xC0002A00 3284 1.1 gdamore #define RADEON_CP_PACKET3_LOAD_PALETTE 0xC0002C00 3285 1.1 gdamore #define R200_CP_PACKET3_3D_DRAW_IMMD_2 0xc0003500 3286 1.1 gdamore #define RADEON_CP_PACKET3_3D_LOAD_VBPNTR 0xC0002F00 3287 1.1 gdamore #define RADEON_CP_PACKET3_CNTL_PAINT 0xC0009100 3288 1.1 gdamore #define RADEON_CP_PACKET3_CNTL_BITBLT 0xC0009200 3289 1.1 gdamore #define RADEON_CP_PACKET3_CNTL_SMALLTEXT 0xC0009300 3290 1.1 gdamore #define RADEON_CP_PACKET3_CNTL_HOSTDATA_BLT 0xC0009400 3291 1.1 gdamore #define RADEON_CP_PACKET3_CNTL_POLYLINE 0xC0009500 3292 1.1 gdamore #define RADEON_CP_PACKET3_CNTL_POLYSCANLINES 0xC0009800 3293 1.1 gdamore #define RADEON_CP_PACKET3_CNTL_PAINT_MULTI 0xC0009A00 3294 1.1 gdamore #define RADEON_CP_PACKET3_CNTL_BITBLT_MULTI 0xC0009B00 3295 1.1 gdamore #define RADEON_CP_PACKET3_CNTL_TRANS_BITBLT 0xC0009C00 3296 1.1 gdamore 3297 1.1 gdamore 3298 1.1 gdamore #define RADEON_CP_VC_FRMT_XY 0x00000000 3299 1.1 gdamore #define RADEON_CP_VC_FRMT_W0 0x00000001 3300 1.1 gdamore #define RADEON_CP_VC_FRMT_FPCOLOR 0x00000002 3301 1.1 gdamore #define RADEON_CP_VC_FRMT_FPALPHA 0x00000004 3302 1.1 gdamore #define RADEON_CP_VC_FRMT_PKCOLOR 0x00000008 3303 1.1 gdamore #define RADEON_CP_VC_FRMT_FPSPEC 0x00000010 3304 1.1 gdamore #define RADEON_CP_VC_FRMT_FPFOG 0x00000020 3305 1.1 gdamore #define RADEON_CP_VC_FRMT_PKSPEC 0x00000040 3306 1.1 gdamore #define RADEON_CP_VC_FRMT_ST0 0x00000080 3307 1.1 gdamore #define RADEON_CP_VC_FRMT_ST1 0x00000100 3308 1.1 gdamore #define RADEON_CP_VC_FRMT_Q1 0x00000200 3309 1.1 gdamore #define RADEON_CP_VC_FRMT_ST2 0x00000400 3310 1.1 gdamore #define RADEON_CP_VC_FRMT_Q2 0x00000800 3311 1.1 gdamore #define RADEON_CP_VC_FRMT_ST3 0x00001000 3312 1.1 gdamore #define RADEON_CP_VC_FRMT_Q3 0x00002000 3313 1.1 gdamore #define RADEON_CP_VC_FRMT_Q0 0x00004000 3314 1.1 gdamore #define RADEON_CP_VC_FRMT_BLND_WEIGHT_CNT_MASK 0x00038000 3315 1.1 gdamore #define RADEON_CP_VC_FRMT_N0 0x00040000 3316 1.1 gdamore #define RADEON_CP_VC_FRMT_XY1 0x08000000 3317 1.1 gdamore #define RADEON_CP_VC_FRMT_Z1 0x10000000 3318 1.1 gdamore #define RADEON_CP_VC_FRMT_W1 0x20000000 3319 1.1 gdamore #define RADEON_CP_VC_FRMT_N1 0x40000000 3320 1.1 gdamore #define RADEON_CP_VC_FRMT_Z 0x80000000 3321 1.1 gdamore 3322 1.1 gdamore #define RADEON_CP_VC_CNTL_PRIM_TYPE_NONE 0x00000000 3323 1.1 gdamore #define RADEON_CP_VC_CNTL_PRIM_TYPE_POINT 0x00000001 3324 1.1 gdamore #define RADEON_CP_VC_CNTL_PRIM_TYPE_LINE 0x00000002 3325 1.1 gdamore #define RADEON_CP_VC_CNTL_PRIM_TYPE_LINE_STRIP 0x00000003 3326 1.1 gdamore #define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_LIST 0x00000004 3327 1.1 gdamore #define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_FAN 0x00000005 3328 1.1 gdamore #define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_STRIP 0x00000006 3329 1.1 gdamore #define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_TYPE_2 0x00000007 3330 1.1 gdamore #define RADEON_CP_VC_CNTL_PRIM_TYPE_RECT_LIST 0x00000008 3331 1.1 gdamore #define RADEON_CP_VC_CNTL_PRIM_TYPE_3VRT_POINT_LIST 0x00000009 3332 1.1 gdamore #define RADEON_CP_VC_CNTL_PRIM_TYPE_3VRT_LINE_LIST 0x0000000a 3333 1.8 macallan #define RADEON_CP_VC_CNTL_PRIM_TYPE_QUAD_LIST 0x0000000d 3334 1.1 gdamore #define RADEON_CP_VC_CNTL_PRIM_WALK_IND 0x00000010 3335 1.1 gdamore #define RADEON_CP_VC_CNTL_PRIM_WALK_LIST 0x00000020 3336 1.1 gdamore #define RADEON_CP_VC_CNTL_PRIM_WALK_RING 0x00000030 3337 1.1 gdamore #define RADEON_CP_VC_CNTL_COLOR_ORDER_BGRA 0x00000000 3338 1.1 gdamore #define RADEON_CP_VC_CNTL_COLOR_ORDER_RGBA 0x00000040 3339 1.1 gdamore #define RADEON_CP_VC_CNTL_MAOS_ENABLE 0x00000080 3340 1.1 gdamore #define RADEON_CP_VC_CNTL_VTX_FMT_NON_RADEON_MODE 0x00000000 3341 1.1 gdamore #define RADEON_CP_VC_CNTL_VTX_FMT_RADEON_MODE 0x00000100 3342 1.1 gdamore #define RADEON_CP_VC_CNTL_TCL_DISABLE 0x00000000 3343 1.1 gdamore #define RADEON_CP_VC_CNTL_TCL_ENABLE 0x00000200 3344 1.1 gdamore #define RADEON_CP_VC_CNTL_NUM_SHIFT 16 3345 1.1 gdamore 3346 1.1 gdamore #define RADEON_VS_MATRIX_0_ADDR 0 3347 1.1 gdamore #define RADEON_VS_MATRIX_1_ADDR 4 3348 1.1 gdamore #define RADEON_VS_MATRIX_2_ADDR 8 3349 1.1 gdamore #define RADEON_VS_MATRIX_3_ADDR 12 3350 1.1 gdamore #define RADEON_VS_MATRIX_4_ADDR 16 3351 1.1 gdamore #define RADEON_VS_MATRIX_5_ADDR 20 3352 1.1 gdamore #define RADEON_VS_MATRIX_6_ADDR 24 3353 1.1 gdamore #define RADEON_VS_MATRIX_7_ADDR 28 3354 1.1 gdamore #define RADEON_VS_MATRIX_8_ADDR 32 3355 1.1 gdamore #define RADEON_VS_MATRIX_9_ADDR 36 3356 1.1 gdamore #define RADEON_VS_MATRIX_10_ADDR 40 3357 1.1 gdamore #define RADEON_VS_MATRIX_11_ADDR 44 3358 1.1 gdamore #define RADEON_VS_MATRIX_12_ADDR 48 3359 1.1 gdamore #define RADEON_VS_MATRIX_13_ADDR 52 3360 1.1 gdamore #define RADEON_VS_MATRIX_14_ADDR 56 3361 1.1 gdamore #define RADEON_VS_MATRIX_15_ADDR 60 3362 1.1 gdamore #define RADEON_VS_LIGHT_AMBIENT_ADDR 64 3363 1.1 gdamore #define RADEON_VS_LIGHT_DIFFUSE_ADDR 72 3364 1.1 gdamore #define RADEON_VS_LIGHT_SPECULAR_ADDR 80 3365 1.1 gdamore #define RADEON_VS_LIGHT_DIRPOS_ADDR 88 3366 1.1 gdamore #define RADEON_VS_LIGHT_HWVSPOT_ADDR 96 3367 1.1 gdamore #define RADEON_VS_LIGHT_ATTENUATION_ADDR 104 3368 1.1 gdamore #define RADEON_VS_MATRIX_EYE2CLIP_ADDR 112 3369 1.1 gdamore #define RADEON_VS_UCP_ADDR 116 3370 1.1 gdamore #define RADEON_VS_GLOBAL_AMBIENT_ADDR 122 3371 1.1 gdamore #define RADEON_VS_FOG_PARAM_ADDR 123 3372 1.1 gdamore #define RADEON_VS_EYE_VECTOR_ADDR 124 3373 1.1 gdamore 3374 1.1 gdamore #define RADEON_SS_LIGHT_DCD_ADDR 0 3375 1.1 gdamore #define RADEON_SS_LIGHT_SPOT_EXPONENT_ADDR 8 3376 1.1 gdamore #define RADEON_SS_LIGHT_SPOT_CUTOFF_ADDR 16 3377 1.1 gdamore #define RADEON_SS_LIGHT_SPECULAR_THRESH_ADDR 24 3378 1.1 gdamore #define RADEON_SS_LIGHT_RANGE_CUTOFF_ADDR 32 3379 1.1 gdamore #define RADEON_SS_VERT_GUARD_CLIP_ADJ_ADDR 48 3380 1.1 gdamore #define RADEON_SS_VERT_GUARD_DISCARD_ADJ_ADDR 49 3381 1.1 gdamore #define RADEON_SS_HORZ_GUARD_CLIP_ADJ_ADDR 50 3382 1.1 gdamore #define RADEON_SS_HORZ_GUARD_DISCARD_ADJ_ADDR 51 3383 1.1 gdamore #define RADEON_SS_SHININESS 60 3384 1.1 gdamore 3385 1.1 gdamore #define RADEON_TV_MASTER_CNTL 0x0800 3386 1.8 macallan # define RADEON_TV_ASYNC_RST (1 << 0) 3387 1.8 macallan # define RADEON_CRT_ASYNC_RST (1 << 1) 3388 1.8 macallan # define RADEON_RESTART_PHASE_FIX (1 << 3) 3389 1.8 macallan # define RADEON_TV_FIFO_ASYNC_RST (1 << 4) 3390 1.8 macallan # define RADEON_VIN_ASYNC_RST (1 << 5) 3391 1.8 macallan # define RADEON_AUD_ASYNC_RST (1 << 6) 3392 1.8 macallan # define RADEON_DVS_ASYNC_RST (1 << 7) 3393 1.8 macallan # define RADEON_CRT_FIFO_CE_EN (1 << 9) 3394 1.8 macallan # define RADEON_TV_FIFO_CE_EN (1 << 10) 3395 1.8 macallan # define RADEON_RE_SYNC_NOW_SEL_MASK (3 << 14) 3396 1.1 gdamore # define RADEON_TVCLK_ALWAYS_ONb (1 << 30) 3397 1.8 macallan # define RADEON_TV_ON (1 << 31) 3398 1.1 gdamore #define RADEON_TV_PRE_DAC_MUX_CNTL 0x0888 3399 1.1 gdamore # define RADEON_Y_RED_EN (1 << 0) 3400 1.1 gdamore # define RADEON_C_GRN_EN (1 << 1) 3401 1.1 gdamore # define RADEON_CMP_BLU_EN (1 << 2) 3402 1.8 macallan # define RADEON_DAC_DITHER_EN (1 << 3) 3403 1.1 gdamore # define RADEON_RED_MX_FORCE_DAC_DATA (6 << 4) 3404 1.1 gdamore # define RADEON_GRN_MX_FORCE_DAC_DATA (6 << 8) 3405 1.1 gdamore # define RADEON_BLU_MX_FORCE_DAC_DATA (6 << 12) 3406 1.1 gdamore # define RADEON_TV_FORCE_DAC_DATA_SHIFT 16 3407 1.8 macallan #define RADEON_TV_RGB_CNTL 0x0804 3408 1.8 macallan # define RADEON_SWITCH_TO_BLUE (1 << 4) 3409 1.8 macallan # define RADEON_RGB_DITHER_EN (1 << 5) 3410 1.8 macallan # define RADEON_RGB_SRC_SEL_MASK (3 << 8) 3411 1.8 macallan # define RADEON_RGB_SRC_SEL_CRTC1 (0 << 8) 3412 1.8 macallan # define RADEON_RGB_SRC_SEL_RMX (1 << 8) 3413 1.8 macallan # define RADEON_RGB_SRC_SEL_CRTC2 (2 << 8) 3414 1.8 macallan # define RADEON_RGB_CONVERT_BY_PASS (1 << 10) 3415 1.8 macallan # define RADEON_UVRAM_READ_MARGIN_SHIFT 16 3416 1.8 macallan # define RADEON_FIFORAM_FFMACRO_READ_MARGIN_SHIFT 20 3417 1.8 macallan # define RADEON_RGB_ATTEN_SEL(x) ((x) << 24) 3418 1.8 macallan # define RADEON_TVOUT_SCALE_EN (1 << 26) 3419 1.8 macallan # define RADEON_RGB_ATTEN_VAL(x) ((x) << 28) 3420 1.8 macallan #define RADEON_TV_SYNC_CNTL 0x0808 3421 1.8 macallan # define RADEON_SYNC_OE (1 << 0) 3422 1.8 macallan # define RADEON_SYNC_OUT (1 << 1) 3423 1.8 macallan # define RADEON_SYNC_IN (1 << 2) 3424 1.8 macallan # define RADEON_SYNC_PUB (1 << 3) 3425 1.8 macallan # define RADEON_SYNC_PD (1 << 4) 3426 1.8 macallan # define RADEON_TV_SYNC_IO_DRIVE (1 << 5) 3427 1.8 macallan #define RADEON_TV_HTOTAL 0x080c 3428 1.8 macallan #define RADEON_TV_HDISP 0x0810 3429 1.8 macallan #define RADEON_TV_HSTART 0x0818 3430 1.8 macallan #define RADEON_TV_HCOUNT 0x081C 3431 1.8 macallan #define RADEON_TV_VTOTAL 0x0820 3432 1.8 macallan #define RADEON_TV_VDISP 0x0824 3433 1.8 macallan #define RADEON_TV_VCOUNT 0x0828 3434 1.8 macallan #define RADEON_TV_FTOTAL 0x082c 3435 1.8 macallan #define RADEON_TV_FCOUNT 0x0830 3436 1.8 macallan #define RADEON_TV_FRESTART 0x0834 3437 1.8 macallan #define RADEON_TV_HRESTART 0x0838 3438 1.8 macallan #define RADEON_TV_VRESTART 0x083c 3439 1.8 macallan #define RADEON_TV_HOST_READ_DATA 0x0840 3440 1.8 macallan #define RADEON_TV_HOST_WRITE_DATA 0x0844 3441 1.8 macallan #define RADEON_TV_HOST_RD_WT_CNTL 0x0848 3442 1.8 macallan # define RADEON_HOST_FIFO_RD (1 << 12) 3443 1.8 macallan # define RADEON_HOST_FIFO_RD_ACK (1 << 13) 3444 1.8 macallan # define RADEON_HOST_FIFO_WT (1 << 14) 3445 1.8 macallan # define RADEON_HOST_FIFO_WT_ACK (1 << 15) 3446 1.8 macallan #define RADEON_TV_VSCALER_CNTL1 0x084c 3447 1.8 macallan # define RADEON_UV_INC_MASK 0xffff 3448 1.8 macallan # define RADEON_UV_INC_SHIFT 0 3449 1.8 macallan # define RADEON_Y_W_EN (1 << 24) 3450 1.8 macallan # define RADEON_RESTART_FIELD (1 << 29) /* restart on field 0 */ 3451 1.8 macallan # define RADEON_Y_DEL_W_SIG_SHIFT 26 3452 1.8 macallan #define RADEON_TV_TIMING_CNTL 0x0850 3453 1.8 macallan # define RADEON_H_INC_MASK 0xfff 3454 1.8 macallan # define RADEON_H_INC_SHIFT 0 3455 1.8 macallan # define RADEON_REQ_Y_FIRST (1 << 19) 3456 1.8 macallan # define RADEON_FORCE_BURST_ALWAYS (1 << 21) 3457 1.8 macallan # define RADEON_UV_POST_SCALE_BYPASS (1 << 23) 3458 1.8 macallan # define RADEON_UV_OUTPUT_POST_SCALE_SHIFT 24 3459 1.8 macallan #define RADEON_TV_VSCALER_CNTL2 0x0854 3460 1.8 macallan # define RADEON_DITHER_MODE (1 << 0) 3461 1.8 macallan # define RADEON_Y_OUTPUT_DITHER_EN (1 << 1) 3462 1.8 macallan # define RADEON_UV_OUTPUT_DITHER_EN (1 << 2) 3463 1.8 macallan # define RADEON_UV_TO_BUF_DITHER_EN (1 << 3) 3464 1.8 macallan #define RADEON_TV_Y_FALL_CNTL 0x0858 3465 1.8 macallan # define RADEON_Y_FALL_PING_PONG (1 << 16) 3466 1.8 macallan # define RADEON_Y_COEF_EN (1 << 17) 3467 1.8 macallan #define RADEON_TV_Y_RISE_CNTL 0x085c 3468 1.8 macallan # define RADEON_Y_RISE_PING_PONG (1 << 16) 3469 1.8 macallan #define RADEON_TV_Y_SAW_TOOTH_CNTL 0x0860 3470 1.8 macallan #define RADEON_TV_UPSAMP_AND_GAIN_CNTL 0x0864 3471 1.8 macallan # define RADEON_YUPSAMP_EN (1 << 0) 3472 1.8 macallan # define RADEON_UVUPSAMP_EN (1 << 2) 3473 1.8 macallan #define RADEON_TV_GAIN_LIMIT_SETTINGS 0x0868 3474 1.8 macallan # define RADEON_Y_GAIN_LIMIT_SHIFT 0 3475 1.8 macallan # define RADEON_UV_GAIN_LIMIT_SHIFT 16 3476 1.8 macallan #define RADEON_TV_LINEAR_GAIN_SETTINGS 0x086c 3477 1.8 macallan # define RADEON_Y_GAIN_SHIFT 0 3478 1.8 macallan # define RADEON_UV_GAIN_SHIFT 16 3479 1.8 macallan #define RADEON_TV_MODULATOR_CNTL1 0x0870 3480 1.8 macallan # define RADEON_YFLT_EN (1 << 2) 3481 1.8 macallan # define RADEON_UVFLT_EN (1 << 3) 3482 1.8 macallan # define RADEON_ALT_PHASE_EN (1 << 6) 3483 1.8 macallan # define RADEON_SYNC_TIP_LEVEL (1 << 7) 3484 1.8 macallan # define RADEON_BLANK_LEVEL_SHIFT 8 3485 1.8 macallan # define RADEON_SET_UP_LEVEL_SHIFT 16 3486 1.8 macallan # define RADEON_SLEW_RATE_LIMIT (1 << 23) 3487 1.8 macallan # define RADEON_CY_FILT_BLEND_SHIFT 28 3488 1.8 macallan #define RADEON_TV_MODULATOR_CNTL2 0x0874 3489 1.8 macallan # define RADEON_TV_U_BURST_LEVEL_MASK 0x1ff 3490 1.8 macallan # define RADEON_TV_V_BURST_LEVEL_MASK 0x1ff 3491 1.8 macallan # define RADEON_TV_V_BURST_LEVEL_SHIFT 16 3492 1.8 macallan #define RADEON_TV_CRC_CNTL 0x0890 3493 1.8 macallan #define RADEON_TV_UV_ADR 0x08ac 3494 1.8 macallan # define RADEON_MAX_UV_ADR_MASK 0x000000ff 3495 1.8 macallan # define RADEON_MAX_UV_ADR_SHIFT 0 3496 1.8 macallan # define RADEON_TABLE1_BOT_ADR_MASK 0x0000ff00 3497 1.8 macallan # define RADEON_TABLE1_BOT_ADR_SHIFT 8 3498 1.8 macallan # define RADEON_TABLE3_TOP_ADR_MASK 0x00ff0000 3499 1.8 macallan # define RADEON_TABLE3_TOP_ADR_SHIFT 16 3500 1.8 macallan # define RADEON_HCODE_TABLE_SEL_MASK 0x06000000 3501 1.8 macallan # define RADEON_HCODE_TABLE_SEL_SHIFT 25 3502 1.8 macallan # define RADEON_VCODE_TABLE_SEL_MASK 0x18000000 3503 1.8 macallan # define RADEON_VCODE_TABLE_SEL_SHIFT 27 3504 1.8 macallan # define RADEON_TV_MAX_FIFO_ADDR 0x1a7 3505 1.8 macallan # define RADEON_TV_MAX_FIFO_ADDR_INTERNAL 0x1ff 3506 1.8 macallan #define RADEON_TV_PLL_FINE_CNTL 0x0020 /* PLL */ 3507 1.8 macallan #define RADEON_TV_PLL_CNTL 0x0021 /* PLL */ 3508 1.8 macallan # define RADEON_TV_M0LO_MASK 0xff 3509 1.8 macallan # define RADEON_TV_M0HI_MASK 0x7 3510 1.8 macallan # define RADEON_TV_M0HI_SHIFT 18 3511 1.8 macallan # define RADEON_TV_N0LO_MASK 0x1ff 3512 1.8 macallan # define RADEON_TV_N0LO_SHIFT 8 3513 1.8 macallan # define RADEON_TV_N0HI_MASK 0x3 3514 1.8 macallan # define RADEON_TV_N0HI_SHIFT 21 3515 1.8 macallan # define RADEON_TV_P_MASK 0xf 3516 1.8 macallan # define RADEON_TV_P_SHIFT 24 3517 1.8 macallan # define RADEON_TV_SLIP_EN (1 << 23) 3518 1.8 macallan # define RADEON_TV_DTO_EN (1 << 28) 3519 1.8 macallan #define RADEON_TV_PLL_CNTL1 0x0022 /* PLL */ 3520 1.8 macallan # define RADEON_TVPLL_RESET (1 << 1) 3521 1.8 macallan # define RADEON_TVPLL_SLEEP (1 << 3) 3522 1.8 macallan # define RADEON_TVPLL_REFCLK_SEL (1 << 4) 3523 1.8 macallan # define RADEON_TVPCP_SHIFT 8 3524 1.8 macallan # define RADEON_TVPCP_MASK (7 << 8) 3525 1.8 macallan # define RADEON_TVPVG_SHIFT 11 3526 1.8 macallan # define RADEON_TVPVG_MASK (7 << 11) 3527 1.8 macallan # define RADEON_TVPDC_SHIFT 14 3528 1.8 macallan # define RADEON_TVPDC_MASK (3 << 14) 3529 1.8 macallan # define RADEON_TVPLL_TEST_DIS (1 << 31) 3530 1.8 macallan # define RADEON_TVCLK_SRC_SEL_TVPLL (1 << 30) 3531 1.8 macallan 3532 1.8 macallan #define RS400_DISP2_REQ_CNTL1 0xe30 3533 1.8 macallan # define RS400_DISP2_START_REQ_LEVEL_SHIFT 0 3534 1.8 macallan # define RS400_DISP2_START_REQ_LEVEL_MASK 0x3ff 3535 1.8 macallan # define RS400_DISP2_STOP_REQ_LEVEL_SHIFT 12 3536 1.8 macallan # define RS400_DISP2_STOP_REQ_LEVEL_MASK 0x3ff 3537 1.8 macallan # define RS400_DISP2_ALLOW_FID_LEVEL_SHIFT 22 3538 1.8 macallan # define RS400_DISP2_ALLOW_FID_LEVEL_MASK 0x3ff 3539 1.8 macallan #define RS400_DISP2_REQ_CNTL2 0xe34 3540 1.8 macallan # define RS400_DISP2_CRITICAL_POINT_START_SHIFT 12 3541 1.8 macallan # define RS400_DISP2_CRITICAL_POINT_START_MASK 0x3ff 3542 1.8 macallan # define RS400_DISP2_CRITICAL_POINT_STOP_SHIFT 22 3543 1.8 macallan # define RS400_DISP2_CRITICAL_POINT_STOP_MASK 0x3ff 3544 1.8 macallan #define RS400_DMIF_MEM_CNTL1 0xe38 3545 1.8 macallan # define RS400_DISP2_START_ADR_SHIFT 0 3546 1.8 macallan # define RS400_DISP2_START_ADR_MASK 0x3ff 3547 1.8 macallan # define RS400_DISP1_CRITICAL_POINT_START_SHIFT 12 3548 1.8 macallan # define RS400_DISP1_CRITICAL_POINT_START_MASK 0x3ff 3549 1.8 macallan # define RS400_DISP1_CRITICAL_POINT_STOP_SHIFT 22 3550 1.8 macallan # define RS400_DISP1_CRITICAL_POINT_STOP_MASK 0x3ff 3551 1.8 macallan #define RS400_DISP1_REQ_CNTL1 0xe3c 3552 1.8 macallan # define RS400_DISP1_START_REQ_LEVEL_SHIFT 0 3553 1.8 macallan # define RS400_DISP1_START_REQ_LEVEL_MASK 0x3ff 3554 1.8 macallan # define RS400_DISP1_STOP_REQ_LEVEL_SHIFT 12 3555 1.8 macallan # define RS400_DISP1_STOP_REQ_LEVEL_MASK 0x3ff 3556 1.8 macallan # define RS400_DISP1_ALLOW_FID_LEVEL_SHIFT 22 3557 1.8 macallan # define RS400_DISP1_ALLOW_FID_LEVEL_MASK 0x3ff 3558 1.8 macallan 3559 1.8 macallan #define RS690_MC_INDEX 0x78 3560 1.8 macallan # define RS690_MC_INDEX_MASK 0x1ff 3561 1.8 macallan # define RS690_MC_INDEX_WR_EN (1 << 9) 3562 1.8 macallan # define RS690_MC_INDEX_WR_ACK 0x7f 3563 1.8 macallan #define RS690_MC_DATA 0x7c 3564 1.8 macallan 3565 1.8 macallan #define RS690_MC_FB_LOCATION 0x100 3566 1.8 macallan #define RS690_MC_AGP_LOCATION 0x101 3567 1.8 macallan #define RS690_MC_AGP_BASE 0x102 3568 1.8 macallan #define RS690_MC_AGP_BASE_2 0x103 3569 1.8 macallan #define RS690_MC_INIT_MISC_LAT_TIMER 0x104 3570 1.8 macallan #define RS690_MC_STATUS 0x90 3571 1.8 macallan #define RS690_MC_STATUS_IDLE (1 << 0) 3572 1.8 macallan 3573 1.8 macallan #define RS600_MC_INDEX 0x70 3574 1.8 macallan # define RS600_MC_ADDR_MASK 0xffff 3575 1.8 macallan # define RS600_MC_IND_SEQ_RBS_0 (1 << 16) 3576 1.8 macallan # define RS600_MC_IND_SEQ_RBS_1 (1 << 17) 3577 1.8 macallan # define RS600_MC_IND_SEQ_RBS_2 (1 << 18) 3578 1.8 macallan # define RS600_MC_IND_SEQ_RBS_3 (1 << 19) 3579 1.8 macallan # define RS600_MC_IND_AIC_RBS (1 << 20) 3580 1.8 macallan # define RS600_MC_IND_CITF_ARB0 (1 << 21) 3581 1.8 macallan # define RS600_MC_IND_CITF_ARB1 (1 << 22) 3582 1.8 macallan # define RS600_MC_IND_WR_EN (1 << 23) 3583 1.8 macallan #define RS600_MC_DATA 0x74 3584 1.8 macallan 3585 1.8 macallan #define RS600_MC_STATUS 0x0 3586 1.8 macallan # define RS600_MC_IDLE (1 << 1) 3587 1.8 macallan #define RS600_MC_FB_LOCATION 0x4 3588 1.8 macallan #define RS600_MC_AGP_LOCATION 0x5 3589 1.8 macallan #define RS600_AGP_BASE 0x6 3590 1.8 macallan #define RS600_AGP_BASE2 0x7 3591 1.8 macallan 3592 1.8 macallan #define AVIVO_MC_INDEX 0x0070 3593 1.8 macallan #define R520_MC_STATUS 0x00 3594 1.8 macallan # define R520_MC_STATUS_IDLE (1 << 1) 3595 1.8 macallan #define RV515_MC_STATUS 0x08 3596 1.8 macallan # define RV515_MC_STATUS_IDLE (1 << 4) 3597 1.8 macallan #define RV515_MC_INIT_MISC_LAT_TIMER 0x09 3598 1.8 macallan #define AVIVO_MC_DATA 0x0074 3599 1.8 macallan 3600 1.8 macallan #define RV515_MC_FB_LOCATION 0x1 3601 1.8 macallan #define RV515_MC_AGP_LOCATION 0x2 3602 1.8 macallan #define RV515_MC_AGP_BASE 0x3 3603 1.8 macallan #define RV515_MC_AGP_BASE_2 0x4 3604 1.8 macallan #define RV515_MC_CNTL 0x5 3605 1.8 macallan # define RV515_MEM_NUM_CHANNELS_MASK 0x3 3606 1.8 macallan #define R520_MC_FB_LOCATION 0x4 3607 1.8 macallan #define R520_MC_AGP_LOCATION 0x5 3608 1.8 macallan #define R520_MC_AGP_BASE 0x6 3609 1.8 macallan #define R520_MC_AGP_BASE_2 0x7 3610 1.8 macallan #define R520_MC_CNTL0 0x8 3611 1.8 macallan # define R520_MEM_NUM_CHANNELS_MASK (0x3 << 24) 3612 1.8 macallan # define R520_MEM_NUM_CHANNELS_SHIFT 24 3613 1.8 macallan # define R520_MC_CHANNEL_SIZE (1 << 23) 3614 1.8 macallan 3615 1.8 macallan #define RS780_MC_INDEX 0x28f8 3616 1.8 macallan # define RS780_MC_INDEX_MASK 0x1ff 3617 1.8 macallan # define RS780_MC_INDEX_WR_EN (1 << 9) 3618 1.8 macallan #define RS780_MC_DATA 0x28fc 3619 1.8 macallan 3620 1.8 macallan #define R600_RAMCFG 0x2408 3621 1.8 macallan # define R600_CHANSIZE (1 << 7) 3622 1.8 macallan # define R600_CHANSIZE_OVERRIDE (1 << 10) 3623 1.8 macallan 3624 1.8 macallan #define R600_SRBM_STATUS 0x0e50 3625 1.8 macallan 3626 1.8 macallan #define AVIVO_CP_DYN_CNTL 0x000f /* PLL */ 3627 1.8 macallan # define AVIVO_CP_FORCEON (1 << 0) 3628 1.8 macallan #define AVIVO_E2_DYN_CNTL 0x0011 /* PLL */ 3629 1.8 macallan # define AVIVO_E2_FORCEON (1 << 0) 3630 1.8 macallan #define AVIVO_IDCT_DYN_CNTL 0x0013 /* PLL */ 3631 1.8 macallan # define AVIVO_IDCT_FORCEON (1 << 0) 3632 1.8 macallan 3633 1.8 macallan #define AVIVO_HDP_FB_LOCATION 0x134 3634 1.8 macallan 3635 1.8 macallan #define AVIVO_VGA_RENDER_CONTROL 0x0300 3636 1.8 macallan # define AVIVO_VGA_VSTATUS_CNTL_MASK (3 << 16) 3637 1.8 macallan #define AVIVO_D1VGA_CONTROL 0x0330 3638 1.8 macallan # define AVIVO_DVGA_CONTROL_MODE_ENABLE (1<<0) 3639 1.8 macallan # define AVIVO_DVGA_CONTROL_TIMING_SELECT (1<<8) 3640 1.8 macallan # define AVIVO_DVGA_CONTROL_SYNC_POLARITY_SELECT (1<<9) 3641 1.8 macallan # define AVIVO_DVGA_CONTROL_OVERSCAN_TIMING_SELECT (1<<10) 3642 1.8 macallan # define AVIVO_DVGA_CONTROL_OVERSCAN_COLOR_EN (1<<16) 3643 1.8 macallan # define AVIVO_DVGA_CONTROL_ROTATE (1<<24) 3644 1.8 macallan #define AVIVO_D2VGA_CONTROL 0x0338 3645 1.8 macallan 3646 1.8 macallan #define AVIVO_VGA25_PPLL_REF_DIV_SRC 0x0360 3647 1.8 macallan #define AVIVO_VGA25_PPLL_REF_DIV 0x0364 3648 1.8 macallan #define AVIVO_VGA28_PPLL_REF_DIV_SRC 0x0368 3649 1.8 macallan #define AVIVO_VGA28_PPLL_REF_DIV 0x036c 3650 1.8 macallan #define AVIVO_VGA41_PPLL_REF_DIV_SRC 0x0370 3651 1.8 macallan #define AVIVO_VGA41_PPLL_REF_DIV 0x0374 3652 1.8 macallan #define AVIVO_VGA25_PPLL_FB_DIV 0x0378 3653 1.8 macallan #define AVIVO_VGA28_PPLL_FB_DIV 0x037c 3654 1.8 macallan #define AVIVO_VGA41_PPLL_FB_DIV 0x0380 3655 1.8 macallan #define AVIVO_VGA25_PPLL_POST_DIV_SRC 0x0384 3656 1.8 macallan #define AVIVO_VGA25_PPLL_POST_DIV 0x0388 3657 1.8 macallan #define AVIVO_VGA28_PPLL_POST_DIV_SRC 0x038c 3658 1.8 macallan #define AVIVO_VGA28_PPLL_POST_DIV 0x0390 3659 1.8 macallan #define AVIVO_VGA41_PPLL_POST_DIV_SRC 0x0394 3660 1.8 macallan #define AVIVO_VGA41_PPLL_POST_DIV 0x0398 3661 1.8 macallan #define AVIVO_VGA25_PPLL_CNTL 0x039c 3662 1.8 macallan #define AVIVO_VGA28_PPLL_CNTL 0x03a0 3663 1.8 macallan #define AVIVO_VGA41_PPLL_CNTL 0x03a4 3664 1.8 macallan 3665 1.8 macallan #define AVIVO_EXT1_PPLL_REF_DIV_SRC 0x400 3666 1.8 macallan #define AVIVO_EXT1_PPLL_REF_DIV 0x404 3667 1.8 macallan #define AVIVO_EXT1_PPLL_UPDATE_LOCK 0x408 3668 1.8 macallan #define AVIVO_EXT1_PPLL_UPDATE_CNTL 0x40c 3669 1.8 macallan 3670 1.8 macallan #define AVIVO_EXT2_PPLL_REF_DIV_SRC 0x410 3671 1.8 macallan #define AVIVO_EXT2_PPLL_REF_DIV 0x414 3672 1.8 macallan #define AVIVO_EXT2_PPLL_UPDATE_LOCK 0x418 3673 1.8 macallan #define AVIVO_EXT2_PPLL_UPDATE_CNTL 0x41c 3674 1.8 macallan 3675 1.8 macallan #define AVIVO_EXT1_PPLL_FB_DIV 0x430 3676 1.8 macallan #define AVIVO_EXT2_PPLL_FB_DIV 0x434 3677 1.8 macallan 3678 1.8 macallan #define AVIVO_EXT1_PPLL_POST_DIV_SRC 0x438 3679 1.8 macallan #define AVIVO_EXT1_PPLL_POST_DIV 0x43c 3680 1.8 macallan 3681 1.8 macallan #define AVIVO_EXT2_PPLL_POST_DIV_SRC 0x440 3682 1.8 macallan #define AVIVO_EXT2_PPLL_POST_DIV 0x444 3683 1.8 macallan 3684 1.8 macallan #define AVIVO_EXT1_PPLL_CNTL 0x448 3685 1.8 macallan #define AVIVO_EXT2_PPLL_CNTL 0x44c 3686 1.8 macallan 3687 1.8 macallan #define AVIVO_P1PLL_CNTL 0x450 3688 1.8 macallan #define AVIVO_P2PLL_CNTL 0x454 3689 1.8 macallan #define AVIVO_P1PLL_INT_SS_CNTL 0x458 3690 1.8 macallan #define AVIVO_P2PLL_INT_SS_CNTL 0x45c 3691 1.8 macallan #define AVIVO_P1PLL_TMDSA_CNTL 0x460 3692 1.8 macallan #define AVIVO_P2PLL_LVTMA_CNTL 0x464 3693 1.8 macallan 3694 1.8 macallan #define AVIVO_PCLK_CRTC1_CNTL 0x480 3695 1.8 macallan #define AVIVO_PCLK_CRTC2_CNTL 0x484 3696 1.8 macallan 3697 1.8 macallan #define AVIVO_D1CRTC_H_TOTAL 0x6000 3698 1.8 macallan #define AVIVO_D1CRTC_H_BLANK_START_END 0x6004 3699 1.8 macallan #define AVIVO_D1CRTC_H_SYNC_A 0x6008 3700 1.8 macallan #define AVIVO_D1CRTC_H_SYNC_A_CNTL 0x600c 3701 1.8 macallan #define AVIVO_D1CRTC_H_SYNC_B 0x6010 3702 1.8 macallan #define AVIVO_D1CRTC_H_SYNC_B_CNTL 0x6014 3703 1.8 macallan 3704 1.8 macallan #define AVIVO_D1CRTC_V_TOTAL 0x6020 3705 1.8 macallan #define AVIVO_D1CRTC_V_BLANK_START_END 0x6024 3706 1.8 macallan #define AVIVO_D1CRTC_V_SYNC_A 0x6028 3707 1.8 macallan #define AVIVO_D1CRTC_V_SYNC_A_CNTL 0x602c 3708 1.8 macallan #define AVIVO_D1CRTC_V_SYNC_B 0x6030 3709 1.8 macallan #define AVIVO_D1CRTC_V_SYNC_B_CNTL 0x6034 3710 1.8 macallan 3711 1.8 macallan #define AVIVO_D1CRTC_CONTROL 0x6080 3712 1.8 macallan # define AVIVO_CRTC_EN (1<<0) 3713 1.8 macallan #define AVIVO_D1CRTC_BLANK_CONTROL 0x6084 3714 1.8 macallan #define AVIVO_D1CRTC_INTERLACE_CONTROL 0x6088 3715 1.8 macallan #define AVIVO_D1CRTC_INTERLACE_STATUS 0x608c 3716 1.8 macallan #define AVIVO_D1CRTC_STEREO_CONTROL 0x60c4 3717 1.8 macallan 3718 1.8 macallan /* master controls */ 3719 1.8 macallan #define AVIVO_DC_CRTC_MASTER_EN 0x60f8 3720 1.8 macallan #define AVIVO_DC_CRTC_TV_CONTROL 0x60fc 3721 1.8 macallan 3722 1.8 macallan #define AVIVO_D1GRPH_ENABLE 0x6100 3723 1.8 macallan #define AVIVO_D1GRPH_CONTROL 0x6104 3724 1.8 macallan # define AVIVO_D1GRPH_CONTROL_DEPTH_8BPP (0<<0) 3725 1.8 macallan # define AVIVO_D1GRPH_CONTROL_DEPTH_16BPP (1<<0) 3726 1.8 macallan # define AVIVO_D1GRPH_CONTROL_DEPTH_32BPP (2<<0) 3727 1.8 macallan # define AVIVO_D1GRPH_CONTROL_DEPTH_64BPP (3<<0) 3728 1.8 macallan 3729 1.8 macallan # define AVIVO_D1GRPH_CONTROL_8BPP_INDEXED (0<<8) 3730 1.8 macallan 3731 1.8 macallan # define AVIVO_D1GRPH_CONTROL_16BPP_ARGB1555 (0<<8) 3732 1.8 macallan # define AVIVO_D1GRPH_CONTROL_16BPP_RGB565 (1<<8) 3733 1.8 macallan # define AVIVO_D1GRPH_CONTROL_16BPP_ARGB4444 (2<<8) 3734 1.8 macallan # define AVIVO_D1GRPH_CONTROL_16BPP_AI88 (3<<8) 3735 1.8 macallan # define AVIVO_D1GRPH_CONTROL_16BPP_MONO16 (4<<8) 3736 1.8 macallan 3737 1.8 macallan # define AVIVO_D1GRPH_CONTROL_32BPP_ARGB8888 (0<<8) 3738 1.8 macallan # define AVIVO_D1GRPH_CONTROL_32BPP_ARGB2101010 (1<<8) 3739 1.8 macallan # define AVIVO_D1GRPH_CONTROL_32BPP_DIGITAL (2<<8) 3740 1.8 macallan # define AVIVO_D1GRPH_CONTROL_32BPP_8B_ARGB2101010 (3<<8) 3741 1.8 macallan 3742 1.8 macallan 3743 1.8 macallan # define AVIVO_D1GRPH_CONTROL_64BPP_ARGB16161616 (0<<8) 3744 1.8 macallan 3745 1.8 macallan # define AVIVO_D1GRPH_SWAP_RB (1<<16) 3746 1.8 macallan # define AVIVO_D1GRPH_TILED (1<<20) 3747 1.8 macallan # define AVIVO_D1GRPH_MACRO_ADDRESS_MODE (1<<21) 3748 1.8 macallan 3749 1.8 macallan #define AVIVO_D1GRPH_LUT_SEL 0x6108 3750 1.8 macallan 3751 1.8 macallan #define R600_D1GRPH_SWAP_CONTROL 0x610C 3752 1.8 macallan # define R600_D1GRPH_SWAP_ENDIAN_NONE (0 << 0) 3753 1.8 macallan # define R600_D1GRPH_SWAP_ENDIAN_16BIT (1 << 0) 3754 1.8 macallan # define R600_D1GRPH_SWAP_ENDIAN_32BIT (2 << 0) 3755 1.8 macallan # define R600_D1GRPH_SWAP_ENDIAN_64BIT (3 << 0) 3756 1.8 macallan 3757 1.8 macallan /* the *_HIGH surface regs are backwards; the D1 regs are in the D2 3758 1.8 macallan * block and vice versa. This applies to GRPH, CUR, etc. 3759 1.8 macallan */ 3760 1.8 macallan 3761 1.8 macallan #define AVIVO_D1GRPH_PRIMARY_SURFACE_ADDRESS 0x6110 3762 1.8 macallan #define R700_D1GRPH_PRIMARY_SURFACE_ADDRESS_HIGH 0x6914 3763 1.8 macallan #define R700_D2GRPH_PRIMARY_SURFACE_ADDRESS_HIGH 0x6114 3764 1.8 macallan #define AVIVO_D1GRPH_SECONDARY_SURFACE_ADDRESS 0x6118 3765 1.8 macallan #define R700_D1GRPH_SECONDARY_SURFACE_ADDRESS_HIGH 0x691c 3766 1.8 macallan #define R700_D2GRPH_SECONDARY_SURFACE_ADDRESS_HIGH 0x611c 3767 1.8 macallan #define AVIVO_D1GRPH_PITCH 0x6120 3768 1.8 macallan #define AVIVO_D1GRPH_SURFACE_OFFSET_X 0x6124 3769 1.8 macallan #define AVIVO_D1GRPH_SURFACE_OFFSET_Y 0x6128 3770 1.8 macallan #define AVIVO_D1GRPH_X_START 0x612c 3771 1.8 macallan #define AVIVO_D1GRPH_Y_START 0x6130 3772 1.8 macallan #define AVIVO_D1GRPH_X_END 0x6134 3773 1.8 macallan #define AVIVO_D1GRPH_Y_END 0x6138 3774 1.8 macallan #define AVIVO_D1GRPH_UPDATE 0x6144 3775 1.8 macallan # define AVIVO_D1GRPH_UPDATE_LOCK (1<<16) 3776 1.8 macallan #define AVIVO_D1GRPH_FLIP_CONTROL 0x6148 3777 1.8 macallan 3778 1.8 macallan #define AVIVO_D1GRPH_COLOR_MATRIX_TRANSFORMATION_CNTL 0x6380 3779 1.8 macallan 3780 1.8 macallan #define AVIVO_D1CUR_CONTROL 0x6400 3781 1.8 macallan # define AVIVO_D1CURSOR_EN (1<<0) 3782 1.8 macallan # define AVIVO_D1CURSOR_MODE_SHIFT 8 3783 1.8 macallan # define AVIVO_D1CURSOR_MODE_MASK (0x3<<8) 3784 1.8 macallan # define AVIVO_D1CURSOR_MODE_24BPP (0x2) 3785 1.8 macallan #define AVIVO_D1CUR_SURFACE_ADDRESS 0x6408 3786 1.8 macallan #define R700_D1CUR_SURFACE_ADDRESS_HIGH 0x6c0c 3787 1.8 macallan #define R700_D2CUR_SURFACE_ADDRESS_HIGH 0x640c 3788 1.8 macallan #define AVIVO_D1CUR_SIZE 0x6410 3789 1.8 macallan #define AVIVO_D1CUR_POSITION 0x6414 3790 1.8 macallan #define AVIVO_D1CUR_HOT_SPOT 0x6418 3791 1.8 macallan #define AVIVO_D1CUR_UPDATE 0x6424 3792 1.8 macallan # define AVIVO_D1CURSOR_UPDATE_LOCK (1 << 16) 3793 1.8 macallan 3794 1.8 macallan #define AVIVO_DC_LUT_RW_SELECT 0x6480 3795 1.8 macallan #define AVIVO_DC_LUT_RW_MODE 0x6484 3796 1.8 macallan #define AVIVO_DC_LUT_RW_INDEX 0x6488 3797 1.8 macallan #define AVIVO_DC_LUT_SEQ_COLOR 0x648c 3798 1.8 macallan #define AVIVO_DC_LUT_PWL_DATA 0x6490 3799 1.8 macallan #define AVIVO_DC_LUT_30_COLOR 0x6494 3800 1.8 macallan #define AVIVO_DC_LUT_READ_PIPE_SELECT 0x6498 3801 1.8 macallan #define AVIVO_DC_LUT_WRITE_EN_MASK 0x649c 3802 1.8 macallan #define AVIVO_DC_LUT_AUTOFILL 0x64a0 3803 1.8 macallan 3804 1.8 macallan #define AVIVO_DC_LUTA_CONTROL 0x64c0 3805 1.8 macallan #define AVIVO_DC_LUTA_BLACK_OFFSET_BLUE 0x64c4 3806 1.8 macallan #define AVIVO_DC_LUTA_BLACK_OFFSET_GREEN 0x64c8 3807 1.8 macallan #define AVIVO_DC_LUTA_BLACK_OFFSET_RED 0x64cc 3808 1.8 macallan #define AVIVO_DC_LUTA_WHITE_OFFSET_BLUE 0x64d0 3809 1.8 macallan #define AVIVO_DC_LUTA_WHITE_OFFSET_GREEN 0x64d4 3810 1.8 macallan #define AVIVO_DC_LUTA_WHITE_OFFSET_RED 0x64d8 3811 1.8 macallan 3812 1.8 macallan #define AVIVO_DC_LB_MEMORY_SPLIT 0x6520 3813 1.8 macallan # define AVIVO_DC_LB_MEMORY_SPLIT_MASK 0x3 3814 1.8 macallan # define AVIVO_DC_LB_MEMORY_SPLIT_SHIFT 0 3815 1.8 macallan # define AVIVO_DC_LB_MEMORY_SPLIT_D1HALF_D2HALF 0 3816 1.8 macallan # define AVIVO_DC_LB_MEMORY_SPLIT_D1_3Q_D2_1Q 1 3817 1.8 macallan # define AVIVO_DC_LB_MEMORY_SPLIT_D1_ONLY 2 3818 1.8 macallan # define AVIVO_DC_LB_MEMORY_SPLIT_D1_1Q_D2_3Q 3 3819 1.8 macallan # define AVIVO_DC_LB_MEMORY_SPLIT_SHIFT_MODE (1 << 2) 3820 1.8 macallan # define AVIVO_DC_LB_DISP1_END_ADR_SHIFT 4 3821 1.8 macallan # define AVIVO_DC_LB_DISP1_END_ADR_MASK 0x7ff 3822 1.8 macallan #define AVIVO_D1MODE_PRIORITY_A_CNT 0x6548 3823 1.8 macallan # define AVIVO_DxMODE_PRIORITY_MARK_MASK 0x7fff 3824 1.8 macallan # define AVIVO_DxMODE_PRIORITY_OFF (1 << 16) 3825 1.8 macallan # define AVIVO_DxMODE_PRIORITY_ALWAYS_ON (1 << 20) 3826 1.8 macallan # define AVIVO_DxMODE_PRIORITY_FORCE_MASK (1 << 24) 3827 1.8 macallan #define AVIVO_D1MODE_PRIORITY_B_CNT 0x654c 3828 1.8 macallan #define AVIVO_D2MODE_PRIORITY_A_CNT 0x6d48 3829 1.8 macallan #define AVIVO_D2MODE_PRIORITY_B_CNT 0x6d4c 3830 1.8 macallan #define AVIVO_LB_MAX_REQ_OUTSTANDING 0x6d58 3831 1.8 macallan # define AVIVO_LB_D1_MAX_REQ_OUTSTANDING_MASK 0xf 3832 1.8 macallan # define AVIVO_LB_D1_MAX_REQ_OUTSTANDING_SHIFT 0 3833 1.8 macallan # define AVIVO_LB_D2_MAX_REQ_OUTSTANDING_MASK 0xf 3834 1.8 macallan # define AVIVO_LB_D2_MAX_REQ_OUTSTANDING_SHIFT 16 3835 1.8 macallan 3836 1.8 macallan #define AVIVO_D1MODE_DATA_FORMAT 0x6528 3837 1.8 macallan # define AVIVO_D1MODE_INTERLEAVE_EN (1 << 0) 3838 1.8 macallan #define AVIVO_D1MODE_DESKTOP_HEIGHT 0x652c 3839 1.8 macallan #define AVIVO_D1MODE_VLINE_START_END 0x6538 3840 1.8 macallan # define AVIVO_D1MODE_VLINE_START_SHIFT 0 3841 1.8 macallan # define AVIVO_D1MODE_VLINE_END_SHIFT 16 3842 1.8 macallan # define AVIVO_D1MODE_VLINE_INV (1 << 31) 3843 1.8 macallan #define AVIVO_D1MODE_VLINE_STATUS 0x653c 3844 1.8 macallan # define AVIVO_D1MODE_VLINE_STAT (1 << 12) 3845 1.8 macallan #define AVIVO_D1MODE_VIEWPORT_START 0x6580 3846 1.8 macallan #define AVIVO_D1MODE_VIEWPORT_SIZE 0x6584 3847 1.8 macallan #define AVIVO_D1MODE_EXT_OVERSCAN_LEFT_RIGHT 0x6588 3848 1.8 macallan #define AVIVO_D1MODE_EXT_OVERSCAN_TOP_BOTTOM 0x658c 3849 1.8 macallan 3850 1.8 macallan #define AVIVO_D1SCL_SCALER_ENABLE 0x6590 3851 1.8 macallan #define AVIVO_D1SCL_SCALER_TAP_CONTROL 0x6594 3852 1.8 macallan #define AVIVO_D1SCL_UPDATE 0x65cc 3853 1.8 macallan # define AVIVO_D1SCL_UPDATE_LOCK (1<<16) 3854 1.8 macallan 3855 1.8 macallan /* second crtc */ 3856 1.8 macallan #define AVIVO_D2CRTC_H_TOTAL 0x6800 3857 1.8 macallan #define AVIVO_D2CRTC_H_BLANK_START_END 0x6804 3858 1.8 macallan #define AVIVO_D2CRTC_H_SYNC_A 0x6808 3859 1.8 macallan #define AVIVO_D2CRTC_H_SYNC_A_CNTL 0x680c 3860 1.8 macallan #define AVIVO_D2CRTC_H_SYNC_B 0x6810 3861 1.8 macallan #define AVIVO_D2CRTC_H_SYNC_B_CNTL 0x6814 3862 1.8 macallan 3863 1.8 macallan #define AVIVO_D2CRTC_V_TOTAL 0x6820 3864 1.8 macallan #define AVIVO_D2CRTC_V_BLANK_START_END 0x6824 3865 1.8 macallan #define AVIVO_D2CRTC_V_SYNC_A 0x6828 3866 1.8 macallan #define AVIVO_D2CRTC_V_SYNC_A_CNTL 0x682c 3867 1.8 macallan #define AVIVO_D2CRTC_V_SYNC_B 0x6830 3868 1.8 macallan #define AVIVO_D2CRTC_V_SYNC_B_CNTL 0x6834 3869 1.8 macallan 3870 1.8 macallan #define AVIVO_D2CRTC_CONTROL 0x6880 3871 1.8 macallan #define AVIVO_D2CRTC_BLANK_CONTROL 0x6884 3872 1.8 macallan #define AVIVO_D2CRTC_INTERLACE_CONTROL 0x6888 3873 1.8 macallan #define AVIVO_D2CRTC_INTERLACE_STATUS 0x688c 3874 1.8 macallan #define AVIVO_D2CRTC_STEREO_CONTROL 0x68c4 3875 1.8 macallan 3876 1.8 macallan #define AVIVO_D2GRPH_ENABLE 0x6900 3877 1.8 macallan #define AVIVO_D2GRPH_CONTROL 0x6904 3878 1.8 macallan #define AVIVO_D2GRPH_LUT_SEL 0x6908 3879 1.8 macallan #define AVIVO_D2GRPH_PRIMARY_SURFACE_ADDRESS 0x6910 3880 1.8 macallan #define AVIVO_D2GRPH_SECONDARY_SURFACE_ADDRESS 0x6918 3881 1.8 macallan #define AVIVO_D2GRPH_PITCH 0x6920 3882 1.8 macallan #define AVIVO_D2GRPH_SURFACE_OFFSET_X 0x6924 3883 1.8 macallan #define AVIVO_D2GRPH_SURFACE_OFFSET_Y 0x6928 3884 1.8 macallan #define AVIVO_D2GRPH_X_START 0x692c 3885 1.8 macallan #define AVIVO_D2GRPH_Y_START 0x6930 3886 1.8 macallan #define AVIVO_D2GRPH_X_END 0x6934 3887 1.8 macallan #define AVIVO_D2GRPH_Y_END 0x6938 3888 1.8 macallan #define AVIVO_D2GRPH_UPDATE 0x6944 3889 1.8 macallan #define AVIVO_D2GRPH_FLIP_CONTROL 0x6948 3890 1.8 macallan 3891 1.8 macallan #define AVIVO_D2CUR_CONTROL 0x6c00 3892 1.8 macallan #define AVIVO_D2CUR_SURFACE_ADDRESS 0x6c08 3893 1.8 macallan #define AVIVO_D2CUR_SIZE 0x6c10 3894 1.8 macallan #define AVIVO_D2CUR_POSITION 0x6c14 3895 1.9 macallan #define AVIVO_D2CUR_HOT_SPOT 0x6c18 3896 1.9 macallan #define AVIVO_D2CUR_UPDATE 0x6c24 3897 1.8 macallan 3898 1.8 macallan #define RS690_DCP_CONTROL 0x6c9c 3899 1.8 macallan 3900 1.8 macallan #define AVIVO_D2MODE_DATA_FORMAT 0x6d28 3901 1.8 macallan #define AVIVO_D2MODE_DESKTOP_HEIGHT 0x6d2c 3902 1.8 macallan #define AVIVO_D2MODE_VIEWPORT_START 0x6d80 3903 1.8 macallan #define AVIVO_D2MODE_VIEWPORT_SIZE 0x6d84 3904 1.8 macallan #define AVIVO_D2MODE_EXT_OVERSCAN_LEFT_RIGHT 0x6d88 3905 1.8 macallan #define AVIVO_D2MODE_EXT_OVERSCAN_TOP_BOTTOM 0x6d8c 3906 1.8 macallan 3907 1.8 macallan #define AVIVO_D2SCL_SCALER_ENABLE 0x6d90 3908 1.8 macallan #define AVIVO_D2SCL_SCALER_TAP_CONTROL 0x6d94 3909 1.8 macallan #define AVIVO_D2SCL_UPDATE 0x6dcc 3910 1.8 macallan 3911 1.8 macallan #define AVIVO_DDIA_BIT_DEPTH_CONTROL 0x7214 3912 1.8 macallan 3913 1.8 macallan #define AVIVO_DACA_ENABLE 0x7800 3914 1.8 macallan # define AVIVO_DAC_ENABLE (1 << 0) 3915 1.8 macallan #define AVIVO_DACA_SOURCE_SELECT 0x7804 3916 1.8 macallan # define AVIVO_DAC_SOURCE_CRTC1 (0 << 0) 3917 1.8 macallan # define AVIVO_DAC_SOURCE_CRTC2 (1 << 0) 3918 1.8 macallan # define AVIVO_DAC_SOURCE_TV (2 << 0) 3919 1.8 macallan 3920 1.8 macallan #define AVIVO_DACA_FORCE_OUTPUT_CNTL 0x783c 3921 1.8 macallan # define AVIVO_DACA_FORCE_OUTPUT_CNTL_FORCE_DATA_EN (1 << 0) 3922 1.8 macallan # define AVIVO_DACA_FORCE_OUTPUT_CNTL_DATA_SEL_SHIFT (8) 3923 1.8 macallan # define AVIVO_DACA_FORCE_OUTPUT_CNTL_DATA_SEL_BLUE (1 << 0) 3924 1.8 macallan # define AVIVO_DACA_FORCE_OUTPUT_CNTL_DATA_SEL_GREEN (1 << 1) 3925 1.8 macallan # define AVIVO_DACA_FORCE_OUTPUT_CNTL_DATA_SEL_RED (1 << 2) 3926 1.8 macallan # define AVIVO_DACA_FORCE_OUTPUT_CNTL_DATA_ON_BLANKB_ONLY (1 << 24) 3927 1.8 macallan #define AVIVO_DACA_POWERDOWN 0x7850 3928 1.8 macallan # define AVIVO_DACA_POWERDOWN_POWERDOWN (1 << 0) 3929 1.8 macallan # define AVIVO_DACA_POWERDOWN_BLUE (1 << 8) 3930 1.8 macallan # define AVIVO_DACA_POWERDOWN_GREEN (1 << 16) 3931 1.8 macallan # define AVIVO_DACA_POWERDOWN_RED (1 << 24) 3932 1.8 macallan 3933 1.8 macallan #define AVIVO_DACB_ENABLE 0x7a00 3934 1.8 macallan #define AVIVO_DACB_SOURCE_SELECT 0x7a04 3935 1.8 macallan #define AVIVO_DACB_FORCE_OUTPUT_CNTL 0x7a3c 3936 1.8 macallan # define AVIVO_DACB_FORCE_OUTPUT_CNTL_FORCE_DATA_EN (1 << 0) 3937 1.8 macallan # define AVIVO_DACB_FORCE_OUTPUT_CNTL_DATA_SEL_SHIFT (8) 3938 1.8 macallan # define AVIVO_DACB_FORCE_OUTPUT_CNTL_DATA_SEL_BLUE (1 << 0) 3939 1.8 macallan # define AVIVO_DACB_FORCE_OUTPUT_CNTL_DATA_SEL_GREEN (1 << 1) 3940 1.8 macallan # define AVIVO_DACB_FORCE_OUTPUT_CNTL_DATA_SEL_RED (1 << 2) 3941 1.8 macallan # define AVIVO_DACB_FORCE_OUTPUT_CNTL_DATA_ON_BLANKB_ONLY (1 << 24) 3942 1.8 macallan #define AVIVO_DACB_POWERDOWN 0x7a50 3943 1.8 macallan # define AVIVO_DACB_POWERDOWN_POWERDOWN (1 << 0) 3944 1.8 macallan # define AVIVO_DACB_POWERDOWN_BLUE (1 << 8) 3945 1.8 macallan # define AVIVO_DACB_POWERDOWN_GREEN (1 << 16) 3946 1.8 macallan # define AVIVO_DACB_POWERDOWN_RED 3947 1.8 macallan 3948 1.8 macallan #define AVIVO_TMDSA_CNTL 0x7880 3949 1.8 macallan # define AVIVO_TMDSA_CNTL_ENABLE (1 << 0) 3950 1.8 macallan # define AVIVO_TMDSA_CNTL_HPD_MASK (1 << 4) 3951 1.8 macallan # define AVIVO_TMDSA_CNTL_HPD_SELECT (1 << 8) 3952 1.8 macallan # define AVIVO_TMDSA_CNTL_SYNC_PHASE (1 << 12) 3953 1.8 macallan # define AVIVO_TMDSA_CNTL_PIXEL_ENCODING (1 << 16) 3954 1.8 macallan # define AVIVO_TMDSA_CNTL_DUAL_LINK_ENABLE (1 << 24) 3955 1.8 macallan # define AVIVO_TMDSA_CNTL_SWAP (1 << 28) 3956 1.8 macallan #define AVIVO_TMDSA_SOURCE_SELECT 0x7884 3957 1.8 macallan /* 78a8 appears to be some kind of (reasonably tolerant) clock? 3958 1.8 macallan * 78d0 definitely hits the transmitter, definitely clock. */ 3959 1.8 macallan /* MYSTERY1 This appears to control dithering? */ 3960 1.8 macallan #define AVIVO_TMDSA_BIT_DEPTH_CONTROL 0x7894 3961 1.8 macallan # define AVIVO_TMDS_BIT_DEPTH_CONTROL_TRUNCATE_EN (1 << 0) 3962 1.8 macallan # define AVIVO_TMDS_BIT_DEPTH_CONTROL_TRUNCATE_DEPTH (1 << 4) 3963 1.8 macallan # define AVIVO_TMDS_BIT_DEPTH_CONTROL_SPATIAL_DITHER_EN (1 << 8) 3964 1.8 macallan # define AVIVO_TMDS_BIT_DEPTH_CONTROL_SPATIAL_DITHER_DEPTH (1 << 12) 3965 1.8 macallan # define AVIVO_TMDS_BIT_DEPTH_CONTROL_TEMPORAL_DITHER_EN (1 << 16) 3966 1.8 macallan # define AVIVO_TMDS_BIT_DEPTH_CONTROL_TEMPORAL_DITHER_DEPTH (1 << 20) 3967 1.8 macallan # define AVIVO_TMDS_BIT_DEPTH_CONTROL_TEMPORAL_LEVEL (1 << 24) 3968 1.8 macallan # define AVIVO_TMDS_BIT_DEPTH_CONTROL_TEMPORAL_DITHER_RESET (1 << 26) 3969 1.8 macallan #define AVIVO_TMDSA_DCBALANCER_CONTROL 0x78d0 3970 1.8 macallan # define AVIVO_TMDSA_DCBALANCER_CONTROL_EN (1 << 0) 3971 1.8 macallan # define AVIVO_TMDSA_DCBALANCER_CONTROL_TEST_EN (1 << 8) 3972 1.8 macallan # define AVIVO_TMDSA_DCBALANCER_CONTROL_TEST_IN_SHIFT (16) 3973 1.8 macallan # define AVIVO_TMDSA_DCBALANCER_CONTROL_FORCE (1 << 24) 3974 1.8 macallan #define AVIVO_TMDSA_DATA_SYNCHRONIZATION 0x78d8 3975 1.8 macallan # define AVIVO_TMDSA_DATA_SYNCHRONIZATION_DSYNSEL (1 << 0) 3976 1.8 macallan # define AVIVO_TMDSA_DATA_SYNCHRONIZATION_PFREQCHG (1 << 8) 3977 1.8 macallan #define AVIVO_TMDSA_CLOCK_ENABLE 0x7900 3978 1.8 macallan #define AVIVO_TMDSA_TRANSMITTER_ENABLE 0x7904 3979 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_ENABLE_TX0_ENABLE (1 << 0) 3980 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_ENABLE_LNKC0EN (1 << 1) 3981 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_ENABLE_LNKD00EN (1 << 2) 3982 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_ENABLE_LNKD01EN (1 << 3) 3983 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_ENABLE_LNKD02EN (1 << 4) 3984 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_ENABLE_TX1_ENABLE (1 << 8) 3985 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_ENABLE_LNKD10EN (1 << 10) 3986 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_ENABLE_LNKD11EN (1 << 11) 3987 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_ENABLE_LNKD12EN (1 << 12) 3988 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_ENABLE_TX_ENABLE_HPD_MASK (1 << 16) 3989 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_ENABLE_LNKCEN_HPD_MASK (1 << 17) 3990 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_ENABLE_LNKDEN_HPD_MASK (1 << 18) 3991 1.8 macallan 3992 1.8 macallan #define AVIVO_TMDSA_TRANSMITTER_CONTROL 0x7910 3993 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_CONTROL_PLL_ENABLE (1 << 0) 3994 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_CONTROL_PLL_RESET (1 << 1) 3995 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_CONTROL_PLL_HPD_MASK_SHIFT (2) 3996 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_CONTROL_IDSCKSEL (1 << 4) 3997 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_CONTROL_BGSLEEP (1 << 5) 3998 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_CONTROL_PLL_PWRUP_SEQ_EN (1 << 6) 3999 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_CONTROL_TMCLK (1 << 8) 4000 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_CONTROL_TMCLK_FROM_PADS (1 << 13) 4001 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_CONTROL_TDCLK (1 << 14) 4002 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_CONTROL_TDCLK_FROM_PADS (1 << 15) 4003 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_CONTROL_CLK_PATTERN_SHIFT (16) 4004 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_CONTROL_BYPASS_PLL (1 << 28) 4005 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_CONTROL_USE_CLK_DATA (1 << 29) 4006 1.8 macallan # define AVIVO_TMDSA_TRANSMITTER_CONTROL_INPUT_TEST_CLK_SEL (1 << 31) 4007 1.8 macallan 4008 1.8 macallan #define AVIVO_LVTMA_CNTL 0x7a80 4009 1.8 macallan # define AVIVO_LVTMA_CNTL_ENABLE (1 << 0) 4010 1.8 macallan # define AVIVO_LVTMA_CNTL_HPD_MASK (1 << 4) 4011 1.8 macallan # define AVIVO_LVTMA_CNTL_HPD_SELECT (1 << 8) 4012 1.8 macallan # define AVIVO_LVTMA_CNTL_SYNC_PHASE (1 << 12) 4013 1.8 macallan # define AVIVO_LVTMA_CNTL_PIXEL_ENCODING (1 << 16) 4014 1.8 macallan # define AVIVO_LVTMA_CNTL_DUAL_LINK_ENABLE (1 << 24) 4015 1.8 macallan # define AVIVO_LVTMA_CNTL_SWAP (1 << 28) 4016 1.8 macallan #define AVIVO_LVTMA_SOURCE_SELECT 0x7a84 4017 1.8 macallan #define AVIVO_LVTMA_COLOR_FORMAT 0x7a88 4018 1.8 macallan #define AVIVO_LVTMA_BIT_DEPTH_CONTROL 0x7a94 4019 1.8 macallan # define AVIVO_LVTMA_BIT_DEPTH_CONTROL_TRUNCATE_EN (1 << 0) 4020 1.8 macallan # define AVIVO_LVTMA_BIT_DEPTH_CONTROL_TRUNCATE_DEPTH (1 << 4) 4021 1.8 macallan # define AVIVO_LVTMA_BIT_DEPTH_CONTROL_SPATIAL_DITHER_EN (1 << 8) 4022 1.8 macallan # define AVIVO_LVTMA_BIT_DEPTH_CONTROL_SPATIAL_DITHER_DEPTH (1 << 12) 4023 1.8 macallan # define AVIVO_LVTMA_BIT_DEPTH_CONTROL_TEMPORAL_DITHER_EN (1 << 16) 4024 1.8 macallan # define AVIVO_LVTMA_BIT_DEPTH_CONTROL_TEMPORAL_DITHER_DEPTH (1 << 20) 4025 1.8 macallan # define AVIVO_LVTMA_BIT_DEPTH_CONTROL_TEMPORAL_LEVEL (1 << 24) 4026 1.8 macallan # define AVIVO_LVTMA_BIT_DEPTH_CONTROL_TEMPORAL_DITHER_RESET (1 << 26) 4027 1.8 macallan 4028 1.8 macallan 4029 1.8 macallan 4030 1.8 macallan #define AVIVO_LVTMA_DCBALANCER_CONTROL 0x7ad0 4031 1.8 macallan # define AVIVO_LVTMA_DCBALANCER_CONTROL_EN (1 << 0) 4032 1.8 macallan # define AVIVO_LVTMA_DCBALANCER_CONTROL_TEST_EN (1 << 8) 4033 1.8 macallan # define AVIVO_LVTMA_DCBALANCER_CONTROL_TEST_IN_SHIFT (16) 4034 1.8 macallan # define AVIVO_LVTMA_DCBALANCER_CONTROL_FORCE (1 << 24) 4035 1.8 macallan 4036 1.8 macallan #define AVIVO_LVTMA_DATA_SYNCHRONIZATION 0x78d8 4037 1.8 macallan # define AVIVO_LVTMA_DATA_SYNCHRONIZATION_DSYNSEL (1 << 0) 4038 1.8 macallan # define AVIVO_LVTMA_DATA_SYNCHRONIZATION_PFREQCHG (1 << 8) 4039 1.8 macallan #define R500_LVTMA_CLOCK_ENABLE 0x7b00 4040 1.8 macallan #define R600_LVTMA_CLOCK_ENABLE 0x7b04 4041 1.8 macallan 4042 1.8 macallan #define R500_LVTMA_TRANSMITTER_ENABLE 0x7b04 4043 1.8 macallan #define R600_LVTMA_TRANSMITTER_ENABLE 0x7b08 4044 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKC0EN (1 << 1) 4045 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKD00EN (1 << 2) 4046 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKD01EN (1 << 3) 4047 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKD02EN (1 << 4) 4048 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKD03EN (1 << 5) 4049 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKC1EN (1 << 9) 4050 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKD10EN (1 << 10) 4051 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKD11EN (1 << 11) 4052 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKD12EN (1 << 12) 4053 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKCEN_HPD_MASK (1 << 17) 4054 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_ENABLE_LNKDEN_HPD_MASK (1 << 18) 4055 1.8 macallan 4056 1.8 macallan #define R500_LVTMA_TRANSMITTER_CONTROL 0x7b10 4057 1.8 macallan #define R600_LVTMA_TRANSMITTER_CONTROL 0x7b14 4058 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_CONTROL_PLL_ENABLE (1 << 0) 4059 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_CONTROL_PLL_RESET (1 << 1) 4060 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_CONTROL_PLL_HPD_MASK_SHIFT (2) 4061 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_CONTROL_IDSCKSEL (1 << 4) 4062 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_CONTROL_BGSLEEP (1 << 5) 4063 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_CONTROL_PLL_PWRUP_SEQ_EN (1 << 6) 4064 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_CONTROL_TMCLK (1 << 8) 4065 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_CONTROL_TMCLK_FROM_PADS (1 << 13) 4066 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_CONTROL_TDCLK (1 << 14) 4067 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_CONTROL_TDCLK_FROM_PADS (1 << 15) 4068 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_CONTROL_CLK_PATTERN_SHIFT (16) 4069 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_CONTROL_BYPASS_PLL (1 << 28) 4070 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_CONTROL_USE_CLK_DATA (1 << 29) 4071 1.8 macallan # define AVIVO_LVTMA_TRANSMITTER_CONTROL_INPUT_TEST_CLK_SEL (1 << 31) 4072 1.8 macallan 4073 1.8 macallan #define R500_LVTMA_PWRSEQ_CNTL 0x7af0 4074 1.8 macallan #define R600_LVTMA_PWRSEQ_CNTL 0x7af4 4075 1.8 macallan # define AVIVO_LVTMA_PWRSEQ_EN (1 << 0) 4076 1.8 macallan # define AVIVO_LVTMA_PWRSEQ_PLL_ENABLE_MASK (1 << 2) 4077 1.8 macallan # define AVIVO_LVTMA_PWRSEQ_PLL_RESET_MASK (1 << 3) 4078 1.8 macallan # define AVIVO_LVTMA_PWRSEQ_TARGET_STATE (1 << 4) 4079 1.8 macallan # define AVIVO_LVTMA_SYNCEN (1 << 8) 4080 1.8 macallan # define AVIVO_LVTMA_SYNCEN_OVRD (1 << 9) 4081 1.8 macallan # define AVIVO_LVTMA_SYNCEN_POL (1 << 10) 4082 1.8 macallan # define AVIVO_LVTMA_DIGON (1 << 16) 4083 1.8 macallan # define AVIVO_LVTMA_DIGON_OVRD (1 << 17) 4084 1.8 macallan # define AVIVO_LVTMA_DIGON_POL (1 << 18) 4085 1.8 macallan # define AVIVO_LVTMA_BLON (1 << 24) 4086 1.8 macallan # define AVIVO_LVTMA_BLON_OVRD (1 << 25) 4087 1.8 macallan # define AVIVO_LVTMA_BLON_POL (1 << 26) 4088 1.8 macallan 4089 1.8 macallan #define R500_LVTMA_PWRSEQ_STATE 0x7af4 4090 1.8 macallan #define R600_LVTMA_PWRSEQ_STATE 0x7af8 4091 1.8 macallan # define AVIVO_LVTMA_PWRSEQ_STATE_TARGET_STATE_R (1 << 0) 4092 1.8 macallan # define AVIVO_LVTMA_PWRSEQ_STATE_DIGON (1 << 1) 4093 1.8 macallan # define AVIVO_LVTMA_PWRSEQ_STATE_SYNCEN (1 << 2) 4094 1.8 macallan # define AVIVO_LVTMA_PWRSEQ_STATE_BLON (1 << 3) 4095 1.8 macallan # define AVIVO_LVTMA_PWRSEQ_STATE_DONE (1 << 4) 4096 1.8 macallan # define AVIVO_LVTMA_PWRSEQ_STATE_STATUS_SHIFT (8) 4097 1.8 macallan 4098 1.8 macallan #define AVIVO_LVDS_BACKLIGHT_CNTL 0x7af8 4099 1.8 macallan # define AVIVO_LVDS_BACKLIGHT_CNTL_EN (1 << 0) 4100 1.8 macallan # define AVIVO_LVDS_BACKLIGHT_LEVEL_MASK 0x0000ff00 4101 1.8 macallan # define AVIVO_LVDS_BACKLIGHT_LEVEL_SHIFT 8 4102 1.8 macallan 4103 1.8 macallan #define AVIVO_DVOA_BIT_DEPTH_CONTROL 0x7988 4104 1.8 macallan 4105 1.8 macallan #define AVIVO_GPIO_0 0x7e30 4106 1.8 macallan #define AVIVO_GPIO_1 0x7e40 4107 1.8 macallan #define AVIVO_GPIO_2 0x7e50 4108 1.8 macallan #define AVIVO_GPIO_3 0x7e60 4109 1.8 macallan 4110 1.8 macallan #define AVIVO_DC_GPIO_HPD_MASK 0x7e90 4111 1.8 macallan #define AVIVO_DC_GPIO_HPD_A 0x7e94 4112 1.8 macallan #define AVIVO_DC_GPIO_HPD_EN 0x7e98 4113 1.8 macallan #define AVIVO_DC_GPIO_HPD_Y 0x7e9c 4114 1.8 macallan 4115 1.8 macallan #define AVIVO_I2C_STATUS 0x7d30 4116 1.8 macallan # define AVIVO_I2C_STATUS_DONE (1 << 0) 4117 1.8 macallan # define AVIVO_I2C_STATUS_NACK (1 << 1) 4118 1.8 macallan # define AVIVO_I2C_STATUS_HALT (1 << 2) 4119 1.8 macallan # define AVIVO_I2C_STATUS_GO (1 << 3) 4120 1.8 macallan # define AVIVO_I2C_STATUS_MASK 0x7 4121 1.8 macallan /* If radeon_mm_i2c is to be believed, this is HALT, NACK, and maybe 4122 1.8 macallan * DONE? */ 4123 1.8 macallan # define AVIVO_I2C_STATUS_CMD_RESET 0x7 4124 1.8 macallan # define AVIVO_I2C_STATUS_CMD_WAIT (1 << 3) 4125 1.8 macallan #define AVIVO_I2C_STOP 0x7d34 4126 1.8 macallan #define AVIVO_I2C_START_CNTL 0x7d38 4127 1.8 macallan # define AVIVO_I2C_START (1 << 8) 4128 1.8 macallan # define AVIVO_I2C_CONNECTOR0 (0 << 16) 4129 1.8 macallan # define AVIVO_I2C_CONNECTOR1 (1 << 16) 4130 1.8 macallan #define R520_I2C_START (1<<0) 4131 1.8 macallan #define R520_I2C_STOP (1<<1) 4132 1.8 macallan #define R520_I2C_RX (1<<2) 4133 1.8 macallan #define R520_I2C_EN (1<<8) 4134 1.8 macallan #define R520_I2C_DDC1 (0<<16) 4135 1.8 macallan #define R520_I2C_DDC2 (1<<16) 4136 1.8 macallan #define R520_I2C_DDC3 (2<<16) 4137 1.8 macallan #define R520_I2C_DDC_MASK (3<<16) 4138 1.8 macallan #define AVIVO_I2C_CONTROL2 0x7d3c 4139 1.8 macallan # define AVIVO_I2C_7D3C_SIZE_SHIFT 8 4140 1.8 macallan # define AVIVO_I2C_7D3C_SIZE_MASK (0xf << 8) 4141 1.8 macallan #define AVIVO_I2C_CONTROL3 0x7d40 4142 1.8 macallan /* Reading is done 4 bytes at a time: read the bottom 8 bits from 4143 1.8 macallan * 7d44, four times in a row. 4144 1.8 macallan * Writing is a little more complex. First write DATA with 4145 1.8 macallan * 0xnnnnnnzz, then 0xnnnnnnyy, where nnnnnn is some non-deterministic 4146 1.8 macallan * magic number, zz is, I think, the slave address, and yy is the byte 4147 1.8 macallan * you want to write. */ 4148 1.8 macallan #define AVIVO_I2C_DATA 0x7d44 4149 1.8 macallan #define R520_I2C_ADDR_COUNT_MASK (0x7) 4150 1.8 macallan #define R520_I2C_DATA_COUNT_SHIFT (8) 4151 1.8 macallan #define R520_I2C_DATA_COUNT_MASK (0xF00) 4152 1.8 macallan #define AVIVO_I2C_CNTL 0x7d50 4153 1.8 macallan # define AVIVO_I2C_EN (1 << 0) 4154 1.8 macallan # define AVIVO_I2C_RESET (1 << 8) 4155 1.8 macallan 4156 1.8 macallan #define R600_GENERAL_PWRMGT 0x618 4157 1.8 macallan # define R600_OPEN_DRAIN_PADS (1 << 11) 4158 1.8 macallan 4159 1.8 macallan #define R600_LOWER_GPIO_ENABLE 0x710 4160 1.8 macallan #define R600_CTXSW_VID_LOWER_GPIO_CNTL 0x718 4161 1.8 macallan #define R600_HIGH_VID_LOWER_GPIO_CNTL 0x71c 4162 1.8 macallan #define R600_MEDIUM_VID_LOWER_GPIO_CNTL 0x720 4163 1.8 macallan #define R600_LOW_VID_LOWER_GPIO_CNTL 0x724 4164 1.8 macallan 4165 1.8 macallan #define R600_MC_VM_FB_LOCATION 0x2180 4166 1.8 macallan #define R600_MC_VM_AGP_TOP 0x2184 4167 1.8 macallan #define R600_MC_VM_AGP_BOT 0x2188 4168 1.8 macallan #define R600_MC_VM_AGP_BASE 0x218c 4169 1.8 macallan #define R600_MC_VM_SYSTEM_APERTURE_LOW_ADDR 0x2190 4170 1.8 macallan #define R600_MC_VM_SYSTEM_APERTURE_HIGH_ADDR 0x2194 4171 1.8 macallan #define R600_MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR 0x2198 4172 1.8 macallan 4173 1.8 macallan #define R700_MC_VM_FB_LOCATION 0x2024 4174 1.8 macallan #define R700_MC_VM_AGP_TOP 0x2028 4175 1.8 macallan #define R700_MC_VM_AGP_BOT 0x202c 4176 1.8 macallan #define R700_MC_VM_AGP_BASE 0x2030 4177 1.8 macallan 4178 1.8 macallan #define R600_HDP_NONSURFACE_BASE 0x2c04 4179 1.8 macallan 4180 1.8 macallan #define R600_BUS_CNTL 0x5420 4181 1.8 macallan #define R600_CONFIG_CNTL 0x5424 4182 1.8 macallan #define R600_CONFIG_MEMSIZE 0x5428 4183 1.8 macallan #define R600_CONFIG_F0_BASE 0x542C 4184 1.8 macallan #define R600_CONFIG_APER_SIZE 0x5430 4185 1.8 macallan 4186 1.8 macallan #define R600_ROM_CNTL 0x1600 4187 1.8 macallan # define R600_SCK_OVERWRITE (1 << 1) 4188 1.8 macallan # define R600_SCK_PRESCALE_CRYSTAL_CLK_SHIFT 28 4189 1.8 macallan # define R600_SCK_PRESCALE_CRYSTAL_CLK_MASK (0xf << 28) 4190 1.8 macallan 4191 1.8 macallan #define R600_CG_SPLL_FUNC_CNTL 0x600 4192 1.8 macallan # define R600_SPLL_BYPASS_EN (1 << 3) 4193 1.8 macallan #define R600_CG_SPLL_STATUS 0x60c 4194 1.8 macallan # define R600_SPLL_CHG_STATUS (1 << 1) 4195 1.8 macallan 4196 1.8 macallan #define R600_BIOS_0_SCRATCH 0x1724 4197 1.8 macallan #define R600_BIOS_1_SCRATCH 0x1728 4198 1.8 macallan #define R600_BIOS_2_SCRATCH 0x172c 4199 1.8 macallan #define R600_BIOS_3_SCRATCH 0x1730 4200 1.8 macallan #define R600_BIOS_4_SCRATCH 0x1734 4201 1.8 macallan #define R600_BIOS_5_SCRATCH 0x1738 4202 1.8 macallan #define R600_BIOS_6_SCRATCH 0x173c 4203 1.8 macallan #define R600_BIOS_7_SCRATCH 0x1740 4204 1.8 macallan 4205 1.8 macallan /* evergreen */ 4206 1.8 macallan #define EVERGREEN_VGA_MEMORY_BASE_ADDRESS 0x310 4207 1.8 macallan #define EVERGREEN_VGA_MEMORY_BASE_ADDRESS_HIGH 0x324 4208 1.8 macallan #define EVERGREEN_D3VGA_CONTROL 0x3e0 4209 1.8 macallan #define EVERGREEN_D4VGA_CONTROL 0x3e4 4210 1.8 macallan #define EVERGREEN_D5VGA_CONTROL 0x3e8 4211 1.8 macallan #define EVERGREEN_D6VGA_CONTROL 0x3ec 4212 1.8 macallan 4213 1.8 macallan #define EVERGREEN_P1PLL_SS_CNTL 0x414 4214 1.8 macallan #define EVERGREEN_P2PLL_SS_CNTL 0x454 4215 1.8 macallan # define EVERGREEN_PxPLL_SS_EN (1 << 12) 4216 1.8 macallan /* GRPH blocks at 0x6800, 0x7400, 0x10000, 0x10c00, 0x11800, 0x12400 */ 4217 1.8 macallan #define EVERGREEN_GRPH_ENABLE 0x6800 4218 1.8 macallan #define EVERGREEN_GRPH_CONTROL 0x6804 4219 1.8 macallan # define EVERGREEN_GRPH_DEPTH(x) (((x) & 0x3) << 0) 4220 1.8 macallan # define EVERGREEN_GRPH_DEPTH_8BPP 0 4221 1.8 macallan # define EVERGREEN_GRPH_DEPTH_16BPP 1 4222 1.8 macallan # define EVERGREEN_GRPH_DEPTH_32BPP 2 4223 1.8 macallan # define EVERGREEN_GRPH_FORMAT(x) (((x) & 0x7) << 8) 4224 1.8 macallan /* 8 BPP */ 4225 1.8 macallan # define EVERGREEN_GRPH_FORMAT_INDEXED 0 4226 1.8 macallan /* 16 BPP */ 4227 1.8 macallan # define EVERGREEN_GRPH_FORMAT_ARGB1555 0 4228 1.8 macallan # define EVERGREEN_GRPH_FORMAT_ARGB565 1 4229 1.8 macallan # define EVERGREEN_GRPH_FORMAT_ARGB4444 2 4230 1.8 macallan # define EVERGREEN_GRPH_FORMAT_AI88 3 4231 1.8 macallan # define EVERGREEN_GRPH_FORMAT_MONO16 4 4232 1.8 macallan # define EVERGREEN_GRPH_FORMAT_BGRA5551 5 4233 1.8 macallan /* 32 BPP */ 4234 1.8 macallan # define EVERGREEN_GRPH_FORMAT_ARGB8888 0 4235 1.8 macallan # define EVERGREEN_GRPH_FORMAT_ARGB2101010 1 4236 1.8 macallan # define EVERGREEN_GRPH_FORMAT_32BPP_DIG 2 4237 1.8 macallan # define EVERGREEN_GRPH_FORMAT_8B_ARGB2101010 3 4238 1.8 macallan # define EVERGREEN_GRPH_FORMAT_BGRA1010102 4 4239 1.8 macallan # define EVERGREEN_GRPH_FORMAT_8B_BGRA1010102 5 4240 1.8 macallan # define EVERGREEN_GRPH_FORMAT_RGB111110 6 4241 1.8 macallan # define EVERGREEN_GRPH_FORMAT_BGR101111 7 4242 1.8 macallan #define EVERGREEN_GRPH_SWAP_CONTROL 0x680c 4243 1.8 macallan # define EVERGREEN_GRPH_ENDIAN_SWAP(x) (((x) & 0x3) << 0) 4244 1.8 macallan # define EVERGREEN_GRPH_ENDIAN_NONE 0 4245 1.8 macallan # define EVERGREEN_GRPH_ENDIAN_8IN16 1 4246 1.8 macallan # define EVERGREEN_GRPH_ENDIAN_8IN32 2 4247 1.8 macallan # define EVERGREEN_GRPH_ENDIAN_8IN64 3 4248 1.8 macallan # define EVERGREEN_GRPH_RED_CROSSBAR(x) (((x) & 0x3) << 4) 4249 1.8 macallan # define EVERGREEN_GRPH_RED_SEL_R 0 4250 1.8 macallan # define EVERGREEN_GRPH_RED_SEL_G 1 4251 1.8 macallan # define EVERGREEN_GRPH_RED_SEL_B 2 4252 1.8 macallan # define EVERGREEN_GRPH_RED_SEL_A 3 4253 1.8 macallan # define EVERGREEN_GRPH_GREEN_CROSSBAR(x) (((x) & 0x3) << 6) 4254 1.8 macallan # define EVERGREEN_GRPH_GREEN_SEL_G 0 4255 1.8 macallan # define EVERGREEN_GRPH_GREEN_SEL_B 1 4256 1.8 macallan # define EVERGREEN_GRPH_GREEN_SEL_A 2 4257 1.8 macallan # define EVERGREEN_GRPH_GREEN_SEL_R 3 4258 1.8 macallan # define EVERGREEN_GRPH_BLUE_CROSSBAR(x) (((x) & 0x3) << 8) 4259 1.8 macallan # define EVERGREEN_GRPH_BLUE_SEL_B 0 4260 1.8 macallan # define EVERGREEN_GRPH_BLUE_SEL_A 1 4261 1.8 macallan # define EVERGREEN_GRPH_BLUE_SEL_R 2 4262 1.8 macallan # define EVERGREEN_GRPH_BLUE_SEL_G 3 4263 1.8 macallan # define EVERGREEN_GRPH_ALPHA_CROSSBAR(x) (((x) & 0x3) << 10) 4264 1.8 macallan # define EVERGREEN_GRPH_ALPHA_SEL_A 0 4265 1.8 macallan # define EVERGREEN_GRPH_ALPHA_SEL_R 1 4266 1.8 macallan # define EVERGREEN_GRPH_ALPHA_SEL_G 2 4267 1.8 macallan # define EVERGREEN_GRPH_ALPHA_SEL_B 3 4268 1.8 macallan #define EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS 0x6810 4269 1.8 macallan #define EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS 0x6814 4270 1.8 macallan # define EVERGREEN_GRPH_DFQ_ENABLE (1 << 0) 4271 1.8 macallan # define EVERGREEN_GRPH_SURFACE_ADDRESS_MASK 0xffffff00 4272 1.8 macallan #define EVERGREEN_GRPH_PITCH 0x6818 4273 1.8 macallan #define EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH 0x681c 4274 1.8 macallan #define EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH 0x6820 4275 1.8 macallan #define EVERGREEN_GRPH_SURFACE_OFFSET_X 0x6824 4276 1.8 macallan #define EVERGREEN_GRPH_SURFACE_OFFSET_Y 0x6828 4277 1.8 macallan #define EVERGREEN_GRPH_X_START 0x682c 4278 1.8 macallan #define EVERGREEN_GRPH_Y_START 0x6830 4279 1.8 macallan #define EVERGREEN_GRPH_X_END 0x6834 4280 1.8 macallan #define EVERGREEN_GRPH_Y_END 0x6838 4281 1.8 macallan 4282 1.8 macallan /* CUR blocks at 0x6998, 0x7598, 0x10198, 0x10d98, 0x11998, 0x12598 */ 4283 1.8 macallan #define EVERGREEN_CUR_CONTROL 0x6998 4284 1.8 macallan # define EVERGREEN_CURSOR_EN (1 << 0) 4285 1.8 macallan # define EVERGREEN_CURSOR_MODE(x) (((x) & 0x3) << 8) 4286 1.8 macallan # define EVERGREEN_CURSOR_MONO 0 4287 1.8 macallan # define EVERGREEN_CURSOR_24_1 1 4288 1.8 macallan # define EVERGREEN_CURSOR_24_8_PRE_MULT 2 4289 1.8 macallan # define EVERGREEN_CURSOR_24_8_UNPRE_MULT 3 4290 1.8 macallan # define EVERGREEN_CURSOR_2X_MAGNIFY (1 << 16) 4291 1.8 macallan # define EVERGREEN_CURSOR_FORCE_MC_ON (1 << 20) 4292 1.8 macallan # define EVERGREEN_CURSOR_URGENT_CONTROL(x) (((x) & 0x7) << 24) 4293 1.8 macallan # define EVERGREEN_CURSOR_URGENT_ALWAYS 0 4294 1.8 macallan # define EVERGREEN_CURSOR_URGENT_1_8 1 4295 1.8 macallan # define EVERGREEN_CURSOR_URGENT_1_4 2 4296 1.8 macallan # define EVERGREEN_CURSOR_URGENT_3_8 3 4297 1.8 macallan # define EVERGREEN_CURSOR_URGENT_1_2 4 4298 1.8 macallan #define EVERGREEN_CUR_SURFACE_ADDRESS 0x699c 4299 1.8 macallan # define EVERGREEN_CUR_SURFACE_ADDRESS_MASK 0xfffff000 4300 1.8 macallan #define EVERGREEN_CUR_SIZE 0x69a0 4301 1.8 macallan #define EVERGREEN_CUR_SURFACE_ADDRESS_HIGH 0x69a4 4302 1.8 macallan #define EVERGREEN_CUR_POSITION 0x69a8 4303 1.8 macallan #define EVERGREEN_CUR_HOT_SPOT 0x69ac 4304 1.8 macallan #define EVERGREEN_CUR_COLOR1 0x69b0 4305 1.8 macallan #define EVERGREEN_CUR_COLOR2 0x69b4 4306 1.8 macallan #define EVERGREEN_CUR_UPDATE 0x69b8 4307 1.8 macallan # define EVERGREEN_CURSOR_UPDATE_PENDING (1 << 0) 4308 1.8 macallan # define EVERGREEN_CURSOR_UPDATE_TAKEN (1 << 1) 4309 1.8 macallan # define EVERGREEN_CURSOR_UPDATE_LOCK (1 << 16) 4310 1.8 macallan # define EVERGREEN_CURSOR_DISABLE_MULTIPLE_UPDATE (1 << 24) 4311 1.8 macallan 4312 1.8 macallan /* LUT blocks at 0x69e0, 0x75e0, 0x101e0, 0x10de0, 0x119e0, 0x125e0 */ 4313 1.8 macallan #define EVERGREEN_DC_LUT_RW_MODE 0x69e0 4314 1.8 macallan #define EVERGREEN_DC_LUT_RW_INDEX 0x69e4 4315 1.8 macallan #define EVERGREEN_DC_LUT_SEQ_COLOR 0x69e8 4316 1.8 macallan #define EVERGREEN_DC_LUT_PWL_DATA 0x69ec 4317 1.8 macallan #define EVERGREEN_DC_LUT_30_COLOR 0x69f0 4318 1.8 macallan #define EVERGREEN_DC_LUT_VGA_ACCESS_ENABLE 0x69f4 4319 1.8 macallan #define EVERGREEN_DC_LUT_WRITE_EN_MASK 0x69f8 4320 1.8 macallan #define EVERGREEN_DC_LUT_AUTOFILL 0x69fc 4321 1.8 macallan #define EVERGREEN_DC_LUT_CONTROL 0x6a00 4322 1.8 macallan #define EVERGREEN_DC_LUT_BLACK_OFFSET_BLUE 0x6a04 4323 1.8 macallan #define EVERGREEN_DC_LUT_BLACK_OFFSET_GREEN 0x6a08 4324 1.8 macallan #define EVERGREEN_DC_LUT_BLACK_OFFSET_RED 0x6a0c 4325 1.8 macallan #define EVERGREEN_DC_LUT_WHITE_OFFSET_BLUE 0x6a10 4326 1.8 macallan #define EVERGREEN_DC_LUT_WHITE_OFFSET_GREEN 0x6a14 4327 1.8 macallan #define EVERGREEN_DC_LUT_WHITE_OFFSET_RED 0x6a18 4328 1.8 macallan 4329 1.8 macallan #define EVERGREEN_DATA_FORMAT 0x6b00 4330 1.8 macallan # define EVERGREEN_INTERLEAVE_EN (1 << 0) 4331 1.8 macallan #define EVERGREEN_DESKTOP_HEIGHT 0x6b04 4332 1.8 macallan #define EVERGREEN_VLINE_START_END 0x6b08 4333 1.8 macallan # define EVERGREEN_VLINE_START_SHIFT 0 4334 1.8 macallan # define EVERGREEN_VLINE_END_SHIFT 16 4335 1.8 macallan # define EVERGREEN_VLINE_INV (1 << 31) 4336 1.8 macallan #define EVERGREEN_VLINE_STATUS 0x6bb8 4337 1.8 macallan # define EVERGREEN_VLINE_STAT (1 << 12) 4338 1.8 macallan 4339 1.8 macallan #define EVERGREEN_VIEWPORT_START 0x6d70 4340 1.8 macallan #define EVERGREEN_VIEWPORT_SIZE 0x6d74 4341 1.8 macallan 4342 1.8 macallan /* display controller offsets used for crtc/cur/lut/grph/viewport/etc. */ 4343 1.8 macallan #define EVERGREEN_CRTC0_REGISTER_OFFSET (0x6df0 - 0x6df0) 4344 1.8 macallan #define EVERGREEN_CRTC1_REGISTER_OFFSET (0x79f0 - 0x6df0) 4345 1.8 macallan #define EVERGREEN_CRTC2_REGISTER_OFFSET (0x105f0 - 0x6df0) 4346 1.8 macallan #define EVERGREEN_CRTC3_REGISTER_OFFSET (0x111f0 - 0x6df0) 4347 1.8 macallan #define EVERGREEN_CRTC4_REGISTER_OFFSET (0x11df0 - 0x6df0) 4348 1.8 macallan #define EVERGREEN_CRTC5_REGISTER_OFFSET (0x129f0 - 0x6df0) 4349 1.8 macallan 4350 1.8 macallan /* CRTC blocks at 0x6df0, 0x79f0, 0x105f0, 0x111f0, 0x11df0, 0x129f0 */ 4351 1.8 macallan #define EVERGREEN_CRTC_CONTROL 0x6e70 4352 1.8 macallan # define EVERGREEN_CRTC_MASTER_EN (1 << 0) 4353 1.8 macallan #define EVERGREEN_CRTC_UPDATE_LOCK 0x6ed4 4354 1.8 macallan 4355 1.8 macallan #define EVERGREEN_DC_GPIO_HPD_MASK 0x64b0 4356 1.8 macallan #define EVERGREEN_DC_GPIO_HPD_A 0x64b4 4357 1.8 macallan #define EVERGREEN_DC_GPIO_HPD_EN 0x64b8 4358 1.8 macallan #define EVERGREEN_DC_GPIO_HPD_Y 0x64bc 4359 1.8 macallan 4360 1.8 macallan #define R300_GB_TILE_CONFIG 0x4018 4361 1.8 macallan # define R300_ENABLE_TILING (1 << 0) 4362 1.8 macallan # define R300_PIPE_COUNT_RV350 (0 << 1) 4363 1.8 macallan # define R300_PIPE_COUNT_R300 (3 << 1) 4364 1.8 macallan # define R300_PIPE_COUNT_R420_3P (6 << 1) 4365 1.8 macallan # define R300_PIPE_COUNT_R420 (7 << 1) 4366 1.8 macallan # define R300_TILE_SIZE_8 (0 << 4) 4367 1.8 macallan # define R300_TILE_SIZE_16 (1 << 4) 4368 1.8 macallan # define R300_TILE_SIZE_32 (2 << 4) 4369 1.8 macallan # define R300_SUBPIXEL_1_12 (0 << 16) 4370 1.8 macallan # define R300_SUBPIXEL_1_16 (1 << 16) 4371 1.8 macallan #define R300_GB_SELECT 0x401c 4372 1.8 macallan #define R300_GB_ENABLE 0x4008 4373 1.8 macallan #define R300_GB_AA_CONFIG 0x4020 4374 1.8 macallan #define R400_GB_PIPE_SELECT 0x402c 4375 1.8 macallan #define R300_GB_MSPOS0 0x4010 4376 1.8 macallan # define R300_MS_X0_SHIFT 0 4377 1.8 macallan # define R300_MS_Y0_SHIFT 4 4378 1.8 macallan # define R300_MS_X1_SHIFT 8 4379 1.8 macallan # define R300_MS_Y1_SHIFT 12 4380 1.8 macallan # define R300_MS_X2_SHIFT 16 4381 1.8 macallan # define R300_MS_Y2_SHIFT 20 4382 1.8 macallan # define R300_MSBD0_Y_SHIFT 24 4383 1.8 macallan # define R300_MSBD0_X_SHIFT 28 4384 1.8 macallan #define R300_GB_MSPOS1 0x4014 4385 1.8 macallan # define R300_MS_X3_SHIFT 0 4386 1.8 macallan # define R300_MS_Y3_SHIFT 4 4387 1.8 macallan # define R300_MS_X4_SHIFT 8 4388 1.8 macallan # define R300_MS_Y4_SHIFT 12 4389 1.8 macallan # define R300_MS_X5_SHIFT 16 4390 1.8 macallan # define R300_MS_Y5_SHIFT 20 4391 1.8 macallan # define R300_MSBD1_SHIFT 24 4392 1.8 macallan 4393 1.8 macallan #define R300_GA_ENHANCE 0x4274 4394 1.8 macallan # define R300_GA_DEADLOCK_CNTL (1 << 0) 4395 1.8 macallan # define R300_GA_FASTSYNC_CNTL (1 << 1) 4396 1.8 macallan 4397 1.8 macallan #define R300_GA_POLY_MODE 0x4288 4398 1.8 macallan # define R300_FRONT_PTYPE_POINT (0 << 4) 4399 1.8 macallan # define R300_FRONT_PTYPE_LINE (1 << 4) 4400 1.8 macallan # define R300_FRONT_PTYPE_TRIANGE (2 << 4) 4401 1.8 macallan # define R300_BACK_PTYPE_POINT (0 << 7) 4402 1.8 macallan # define R300_BACK_PTYPE_LINE (1 << 7) 4403 1.8 macallan # define R300_BACK_PTYPE_TRIANGE (2 << 7) 4404 1.8 macallan #define R300_GA_ROUND_MODE 0x428c 4405 1.8 macallan # define R300_GEOMETRY_ROUND_TRUNC (0 << 0) 4406 1.8 macallan # define R300_GEOMETRY_ROUND_NEAREST (1 << 0) 4407 1.8 macallan # define R300_COLOR_ROUND_TRUNC (0 << 2) 4408 1.8 macallan # define R300_COLOR_ROUND_NEAREST (1 << 2) 4409 1.8 macallan #define R300_GA_COLOR_CONTROL 0x4278 4410 1.8 macallan # define R300_RGB0_SHADING_SOLID (0 << 0) 4411 1.8 macallan # define R300_RGB0_SHADING_FLAT (1 << 0) 4412 1.8 macallan # define R300_RGB0_SHADING_GOURAUD (2 << 0) 4413 1.8 macallan # define R300_ALPHA0_SHADING_SOLID (0 << 2) 4414 1.8 macallan # define R300_ALPHA0_SHADING_FLAT (1 << 2) 4415 1.8 macallan # define R300_ALPHA0_SHADING_GOURAUD (2 << 2) 4416 1.8 macallan # define R300_RGB1_SHADING_SOLID (0 << 4) 4417 1.8 macallan # define R300_RGB1_SHADING_FLAT (1 << 4) 4418 1.8 macallan # define R300_RGB1_SHADING_GOURAUD (2 << 4) 4419 1.8 macallan # define R300_ALPHA1_SHADING_SOLID (0 << 6) 4420 1.8 macallan # define R300_ALPHA1_SHADING_FLAT (1 << 6) 4421 1.8 macallan # define R300_ALPHA1_SHADING_GOURAUD (2 << 6) 4422 1.8 macallan # define R300_RGB2_SHADING_SOLID (0 << 8) 4423 1.8 macallan # define R300_RGB2_SHADING_FLAT (1 << 8) 4424 1.8 macallan # define R300_RGB2_SHADING_GOURAUD (2 << 8) 4425 1.8 macallan # define R300_ALPHA2_SHADING_SOLID (0 << 10) 4426 1.8 macallan # define R300_ALPHA2_SHADING_FLAT (1 << 10) 4427 1.8 macallan # define R300_ALPHA2_SHADING_GOURAUD (2 << 10) 4428 1.8 macallan # define R300_RGB3_SHADING_SOLID (0 << 12) 4429 1.8 macallan # define R300_RGB3_SHADING_FLAT (1 << 12) 4430 1.8 macallan # define R300_RGB3_SHADING_GOURAUD (2 << 12) 4431 1.8 macallan # define R300_ALPHA3_SHADING_SOLID (0 << 14) 4432 1.8 macallan # define R300_ALPHA3_SHADING_FLAT (1 << 14) 4433 1.8 macallan # define R300_ALPHA3_SHADING_GOURAUD (2 << 14) 4434 1.8 macallan #define R300_GA_OFFSET 0x4290 4435 1.8 macallan 4436 1.8 macallan #define R500_SU_REG_DEST 0x42c8 4437 1.8 macallan 4438 1.8 macallan #define R300_VAP_CNTL_STATUS 0x2140 4439 1.8 macallan # define R300_PVS_BYPASS (1 << 8) 4440 1.8 macallan #define R300_VAP_PVS_STATE_FLUSH_REG 0x2284 4441 1.8 macallan #define R300_VAP_CNTL 0x2080 4442 1.8 macallan # define R300_PVS_NUM_SLOTS_SHIFT 0 4443 1.8 macallan # define R300_PVS_NUM_CNTLRS_SHIFT 4 4444 1.8 macallan # define R300_PVS_NUM_FPUS_SHIFT 8 4445 1.8 macallan # define R300_VF_MAX_VTX_NUM_SHIFT 18 4446 1.8 macallan # define R300_GL_CLIP_SPACE_DEF (0 << 22) 4447 1.8 macallan # define R300_DX_CLIP_SPACE_DEF (1 << 22) 4448 1.8 macallan # define R500_TCL_STATE_OPTIMIZATION (1 << 23) 4449 1.8 macallan #define R300_VAP_VTE_CNTL 0x20B0 4450 1.8 macallan # define R300_VPORT_X_SCALE_ENA (1 << 0) 4451 1.8 macallan # define R300_VPORT_X_OFFSET_ENA (1 << 1) 4452 1.8 macallan # define R300_VPORT_Y_SCALE_ENA (1 << 2) 4453 1.8 macallan # define R300_VPORT_Y_OFFSET_ENA (1 << 3) 4454 1.8 macallan # define R300_VPORT_Z_SCALE_ENA (1 << 4) 4455 1.8 macallan # define R300_VPORT_Z_OFFSET_ENA (1 << 5) 4456 1.8 macallan # define R300_VTX_XY_FMT (1 << 8) 4457 1.8 macallan # define R300_VTX_Z_FMT (1 << 9) 4458 1.8 macallan # define R300_VTX_W0_FMT (1 << 10) 4459 1.8 macallan #define R300_VAP_VTX_STATE_CNTL 0x2180 4460 1.8 macallan #define R300_VAP_PSC_SGN_NORM_CNTL 0x21DC 4461 1.8 macallan #define R300_VAP_PROG_STREAM_CNTL_0 0x2150 4462 1.8 macallan # define R300_DATA_TYPE_0_SHIFT 0 4463 1.8 macallan # define R300_DATA_TYPE_FLOAT_1 0 4464 1.8 macallan # define R300_DATA_TYPE_FLOAT_2 1 4465 1.8 macallan # define R300_DATA_TYPE_FLOAT_3 2 4466 1.8 macallan # define R300_DATA_TYPE_FLOAT_4 3 4467 1.8 macallan # define R300_DATA_TYPE_BYTE 4 4468 1.8 macallan # define R300_DATA_TYPE_D3DCOLOR 5 4469 1.8 macallan # define R300_DATA_TYPE_SHORT_2 6 4470 1.8 macallan # define R300_DATA_TYPE_SHORT_4 7 4471 1.8 macallan # define R300_DATA_TYPE_VECTOR_3_TTT 8 4472 1.8 macallan # define R300_DATA_TYPE_VECTOR_3_EET 9 4473 1.8 macallan # define R300_SKIP_DWORDS_0_SHIFT 4 4474 1.8 macallan # define R300_DST_VEC_LOC_0_SHIFT 8 4475 1.8 macallan # define R300_LAST_VEC_0 (1 << 13) 4476 1.8 macallan # define R300_SIGNED_0 (1 << 14) 4477 1.8 macallan # define R300_NORMALIZE_0 (1 << 15) 4478 1.8 macallan # define R300_DATA_TYPE_1_SHIFT 16 4479 1.8 macallan # define R300_SKIP_DWORDS_1_SHIFT 20 4480 1.8 macallan # define R300_DST_VEC_LOC_1_SHIFT 24 4481 1.8 macallan # define R300_LAST_VEC_1 (1 << 29) 4482 1.8 macallan # define R300_SIGNED_1 (1 << 30) 4483 1.8 macallan # define R300_NORMALIZE_1 (1 << 31) 4484 1.8 macallan #define R300_VAP_PROG_STREAM_CNTL_1 0x2154 4485 1.8 macallan # define R300_DATA_TYPE_2_SHIFT 0 4486 1.8 macallan # define R300_SKIP_DWORDS_2_SHIFT 4 4487 1.8 macallan # define R300_DST_VEC_LOC_2_SHIFT 8 4488 1.8 macallan # define R300_LAST_VEC_2 (1 << 13) 4489 1.8 macallan # define R300_SIGNED_2 (1 << 14) 4490 1.8 macallan # define R300_NORMALIZE_2 (1 << 15) 4491 1.8 macallan # define R300_DATA_TYPE_3_SHIFT 16 4492 1.8 macallan # define R300_SKIP_DWORDS_3_SHIFT 20 4493 1.8 macallan # define R300_DST_VEC_LOC_3_SHIFT 24 4494 1.8 macallan # define R300_LAST_VEC_3 (1 << 29) 4495 1.8 macallan # define R300_SIGNED_3 (1 << 30) 4496 1.8 macallan # define R300_NORMALIZE_3 (1 << 31) 4497 1.8 macallan #define R300_VAP_PROG_STREAM_CNTL_EXT_0 0x21e0 4498 1.8 macallan # define R300_SWIZZLE_SELECT_X_0_SHIFT 0 4499 1.8 macallan # define R300_SWIZZLE_SELECT_Y_0_SHIFT 3 4500 1.8 macallan # define R300_SWIZZLE_SELECT_Z_0_SHIFT 6 4501 1.8 macallan # define R300_SWIZZLE_SELECT_W_0_SHIFT 9 4502 1.8 macallan # define R300_SWIZZLE_SELECT_X 0 4503 1.8 macallan # define R300_SWIZZLE_SELECT_Y 1 4504 1.8 macallan # define R300_SWIZZLE_SELECT_Z 2 4505 1.8 macallan # define R300_SWIZZLE_SELECT_W 3 4506 1.8 macallan # define R300_SWIZZLE_SELECT_FP_ZERO 4 4507 1.8 macallan # define R300_SWIZZLE_SELECT_FP_ONE 5 4508 1.8 macallan # define R300_WRITE_ENA_0_SHIFT 12 4509 1.8 macallan # define R300_WRITE_ENA_X 1 4510 1.8 macallan # define R300_WRITE_ENA_Y 2 4511 1.8 macallan # define R300_WRITE_ENA_Z 4 4512 1.8 macallan # define R300_WRITE_ENA_W 8 4513 1.8 macallan # define R300_SWIZZLE_SELECT_X_1_SHIFT 16 4514 1.8 macallan # define R300_SWIZZLE_SELECT_Y_1_SHIFT 19 4515 1.8 macallan # define R300_SWIZZLE_SELECT_Z_1_SHIFT 22 4516 1.8 macallan # define R300_SWIZZLE_SELECT_W_1_SHIFT 25 4517 1.8 macallan # define R300_WRITE_ENA_1_SHIFT 28 4518 1.8 macallan #define R300_VAP_PROG_STREAM_CNTL_EXT_1 0x21e4 4519 1.8 macallan # define R300_SWIZZLE_SELECT_X_2_SHIFT 0 4520 1.8 macallan # define R300_SWIZZLE_SELECT_Y_2_SHIFT 3 4521 1.8 macallan # define R300_SWIZZLE_SELECT_Z_2_SHIFT 6 4522 1.8 macallan # define R300_SWIZZLE_SELECT_W_2_SHIFT 9 4523 1.8 macallan # define R300_WRITE_ENA_2_SHIFT 12 4524 1.8 macallan # define R300_SWIZZLE_SELECT_X_3_SHIFT 16 4525 1.8 macallan # define R300_SWIZZLE_SELECT_Y_3_SHIFT 19 4526 1.8 macallan # define R300_SWIZZLE_SELECT_Z_3_SHIFT 22 4527 1.8 macallan # define R300_SWIZZLE_SELECT_W_3_SHIFT 25 4528 1.8 macallan # define R300_WRITE_ENA_3_SHIFT 28 4529 1.8 macallan #define R300_VAP_PVS_CODE_CNTL_0 0x22D0 4530 1.8 macallan # define R300_PVS_FIRST_INST_SHIFT 0 4531 1.8 macallan # define R300_PVS_XYZW_VALID_INST_SHIFT 10 4532 1.8 macallan # define R300_PVS_LAST_INST_SHIFT 20 4533 1.8 macallan #define R300_VAP_PVS_CODE_CNTL_1 0x22D8 4534 1.8 macallan # define R300_PVS_LAST_VTX_SRC_INST_SHIFT 0 4535 1.8 macallan #define R300_VAP_PVS_VECTOR_INDX_REG 0x2200 4536 1.8 macallan # define R300_PVS_CODE_START 0 4537 1.8 macallan # define R300_PVS_CONST_START 512 4538 1.8 macallan # define R500_PVS_CONST_START 1024 4539 1.8 macallan # define R300_PVS_VECTOR_INST_INDEX(x) ((x) + R300_PVS_CODE_START) 4540 1.8 macallan # define R300_PVS_VECTOR_CONST_INDEX(x) ((x) + R300_PVS_CONST_START) 4541 1.8 macallan # define R500_PVS_VECTOR_CONST_INDEX(x) ((x) + R500_PVS_CONST_START) 4542 1.8 macallan #define R300_VAP_PVS_VECTOR_DATA_REG 0x2204 4543 1.8 macallan /* PVS instructions */ 4544 1.8 macallan /* Opcode and dst instruction */ 4545 1.8 macallan #define R300_PVS_DST_OPCODE(x) ((x) << 0) 4546 1.8 macallan /* Vector ops */ 4547 1.8 macallan # define R300_VECTOR_NO_OP 0 4548 1.8 macallan # define R300_VE_DOT_PRODUCT 1 4549 1.8 macallan # define R300_VE_MULTIPLY 2 4550 1.8 macallan # define R300_VE_ADD 3 4551 1.8 macallan # define R300_VE_MULTIPLY_ADD 4 4552 1.8 macallan # define R300_VE_DISTANCE_VECTOR 5 4553 1.8 macallan # define R300_VE_FRACTION 6 4554 1.8 macallan # define R300_VE_MAXIMUM 7 4555 1.8 macallan # define R300_VE_MINIMUM 8 4556 1.8 macallan # define R300_VE_SET_GREATER_THAN_EQUAL 9 4557 1.8 macallan # define R300_VE_SET_LESS_THAN 10 4558 1.8 macallan # define R300_VE_MULTIPLYX2_ADD 11 4559 1.8 macallan # define R300_VE_MULTIPLY_CLAMP 12 4560 1.8 macallan # define R300_VE_FLT2FIX_DX 13 4561 1.8 macallan # define R300_VE_FLT2FIX_DX_RND 14 4562 1.8 macallan /* R500 additions */ 4563 1.8 macallan # define R500_VE_PRED_SET_EQ_PUSH 15 4564 1.8 macallan # define R500_VE_PRED_SET_GT_PUSH 16 4565 1.8 macallan # define R500_VE_PRED_SET_GTE_PUSH 17 4566 1.8 macallan # define R500_VE_PRED_SET_NEQ_PUSH 18 4567 1.8 macallan # define R500_VE_COND_WRITE_EQ 19 4568 1.8 macallan # define R500_VE_COND_WRITE_GT 20 4569 1.8 macallan # define R500_VE_COND_WRITE_GTE 21 4570 1.8 macallan # define R500_VE_COND_WRITE_NEQ 22 4571 1.8 macallan # define R500_VE_COND_MUX_EQ 23 4572 1.8 macallan # define R500_VE_COND_MUX_GT 24 4573 1.8 macallan # define R500_VE_COND_MUX_GTE 25 4574 1.8 macallan # define R500_VE_SET_GREATER_THAN 26 4575 1.8 macallan # define R500_VE_SET_EQUAL 27 4576 1.8 macallan # define R500_VE_SET_NOT_EQUAL 28 4577 1.8 macallan /* Math ops */ 4578 1.8 macallan # define R300_MATH_NO_OP 0 4579 1.8 macallan # define R300_ME_EXP_BASE2_DX 1 4580 1.8 macallan # define R300_ME_LOG_BASE2_DX 2 4581 1.8 macallan # define R300_ME_EXP_BASEE_FF 3 4582 1.8 macallan # define R300_ME_LIGHT_COEFF_DX 4 4583 1.8 macallan # define R300_ME_POWER_FUNC_FF 5 4584 1.8 macallan # define R300_ME_RECIP_DX 6 4585 1.8 macallan # define R300_ME_RECIP_FF 7 4586 1.8 macallan # define R300_ME_RECIP_SQRT_DX 8 4587 1.8 macallan # define R300_ME_RECIP_SQRT_FF 9 4588 1.8 macallan # define R300_ME_MULTIPLY 10 4589 1.8 macallan # define R300_ME_EXP_BASE2_FULL_DX 11 4590 1.8 macallan # define R300_ME_LOG_BASE2_FULL_DX 12 4591 1.8 macallan # define R300_ME_POWER_FUNC_FF_CLAMP_B 13 4592 1.8 macallan # define R300_ME_POWER_FUNC_FF_CLAMP_B1 14 4593 1.8 macallan # define R300_ME_POWER_FUNC_FF_CLAMP_01 15 4594 1.8 macallan # define R300_ME_SIN 16 4595 1.8 macallan # define R300_ME_COS 17 4596 1.8 macallan /* R500 additions */ 4597 1.8 macallan # define R500_ME_LOG_BASE2_IEEE 18 4598 1.8 macallan # define R500_ME_RECIP_IEEE 19 4599 1.8 macallan # define R500_ME_RECIP_SQRT_IEEE 20 4600 1.8 macallan # define R500_ME_PRED_SET_EQ 21 4601 1.8 macallan # define R500_ME_PRED_SET_GT 22 4602 1.8 macallan # define R500_ME_PRED_SET_GTE 23 4603 1.8 macallan # define R500_ME_PRED_SET_NEQ 24 4604 1.8 macallan # define R500_ME_PRED_SET_CLR 25 4605 1.8 macallan # define R500_ME_PRED_SET_INV 26 4606 1.8 macallan # define R500_ME_PRED_SET_POP 27 4607 1.8 macallan # define R500_ME_PRED_SET_RESTORE 28 4608 1.8 macallan /* macro */ 4609 1.8 macallan # define R300_PVS_MACRO_OP_2CLK_MADD 0 4610 1.8 macallan # define R300_PVS_MACRO_OP_2CLK_M2X_ADD 1 4611 1.8 macallan #define R300_PVS_DST_MATH_INST (1 << 6) 4612 1.8 macallan #define R300_PVS_DST_MACRO_INST (1 << 7) 4613 1.8 macallan #define R300_PVS_DST_REG_TYPE(x) ((x) << 8) 4614 1.8 macallan # define R300_PVS_DST_REG_TEMPORARY 0 4615 1.8 macallan # define R300_PVS_DST_REG_A0 1 4616 1.8 macallan # define R300_PVS_DST_REG_OUT 2 4617 1.8 macallan # define R500_PVS_DST_REG_OUT_REPL_X 3 4618 1.8 macallan # define R300_PVS_DST_REG_ALT_TEMPORARY 4 4619 1.8 macallan # define R300_PVS_DST_REG_INPUT 5 4620 1.8 macallan #define R300_PVS_DST_ADDR_MODE_1 (1 << 12) 4621 1.8 macallan #define R300_PVS_DST_OFFSET(x) ((x) << 13) 4622 1.8 macallan #define R300_PVS_DST_WE_X (1 << 20) 4623 1.8 macallan #define R300_PVS_DST_WE_Y (1 << 21) 4624 1.8 macallan #define R300_PVS_DST_WE_Z (1 << 22) 4625 1.8 macallan #define R300_PVS_DST_WE_W (1 << 23) 4626 1.8 macallan #define R300_PVS_DST_VE_SAT (1 << 24) 4627 1.8 macallan #define R300_PVS_DST_ME_SAT (1 << 25) 4628 1.8 macallan #define R300_PVS_DST_PRED_ENABLE (1 << 26) 4629 1.8 macallan #define R300_PVS_DST_PRED_SENSE (1 << 27) 4630 1.8 macallan #define R300_PVS_DST_DUAL_MATH_OP (1 << 28) 4631 1.8 macallan #define R300_PVS_DST_ADDR_SEL(x) ((x) << 29) 4632 1.8 macallan #define R300_PVS_DST_ADDR_MODE_0 (1 << 31) 4633 1.8 macallan /* src operand instruction */ 4634 1.8 macallan #define R300_PVS_SRC_REG_TYPE(x) ((x) << 0) 4635 1.8 macallan # define R300_PVS_SRC_REG_TEMPORARY 0 4636 1.8 macallan # define R300_PVS_SRC_REG_INPUT 1 4637 1.8 macallan # define R300_PVS_SRC_REG_CONSTANT 2 4638 1.8 macallan # define R300_PVS_SRC_REG_ALT_TEMPORARY 3 4639 1.8 macallan #define R300_SPARE_0 (1 << 2) 4640 1.8 macallan #define R300_PVS_SRC_ABS_XYZW (1 << 3) 4641 1.8 macallan #define R300_PVS_SRC_ADDR_MODE_0 (1 << 4) 4642 1.8 macallan #define R300_PVS_SRC_OFFSET(x) ((x) << 5) 4643 1.8 macallan #define R300_PVS_SRC_SWIZZLE_X(x) ((x) << 13) 4644 1.8 macallan #define R300_PVS_SRC_SWIZZLE_Y(x) ((x) << 16) 4645 1.8 macallan #define R300_PVS_SRC_SWIZZLE_Z(x) ((x) << 19) 4646 1.8 macallan #define R300_PVS_SRC_SWIZZLE_W(x) ((x) << 22) 4647 1.8 macallan # define R300_PVS_SRC_SELECT_X 0 4648 1.8 macallan # define R300_PVS_SRC_SELECT_Y 1 4649 1.8 macallan # define R300_PVS_SRC_SELECT_Z 2 4650 1.8 macallan # define R300_PVS_SRC_SELECT_W 3 4651 1.8 macallan # define R300_PVS_SRC_SELECT_FORCE_0 4 4652 1.8 macallan # define R300_PVS_SRC_SELECT_FORCE_1 5 4653 1.8 macallan #define R300_PVS_SRC_NEG_X (1 << 25) 4654 1.8 macallan #define R300_PVS_SRC_NEG_Y (1 << 26) 4655 1.8 macallan #define R300_PVS_SRC_NEG_Z (1 << 27) 4656 1.8 macallan #define R300_PVS_SRC_NEG_W (1 << 28) 4657 1.8 macallan #define R300_PVS_SRC_ADDR_SEL(x) ((x) << 29) 4658 1.8 macallan #define R300_PVS_SRC_ADDR_MODE_1 (1 << 31) 4659 1.8 macallan 4660 1.8 macallan #define R300_VAP_PVS_CONST_CNTL 0x22d4 4661 1.8 macallan # define R300_PVS_CONST_BASE_OFFSET(x) ((x) << 0) 4662 1.8 macallan # define R300_PVS_MAX_CONST_ADDR(x) ((x) << 16) 4663 1.8 macallan 4664 1.8 macallan #define R300_VAP_PVS_FLOW_CNTL_OPC 0x22dc 4665 1.8 macallan #define R300_VAP_OUT_VTX_FMT_0 0x2090 4666 1.8 macallan # define R300_VTX_POS_PRESENT (1 << 0) 4667 1.8 macallan # define R300_VTX_COLOR_0_PRESENT (1 << 1) 4668 1.8 macallan # define R300_VTX_COLOR_1_PRESENT (1 << 2) 4669 1.8 macallan # define R300_VTX_COLOR_2_PRESENT (1 << 3) 4670 1.8 macallan # define R300_VTX_COLOR_3_PRESENT (1 << 4) 4671 1.8 macallan # define R300_VTX_PT_SIZE_PRESENT (1 << 16) 4672 1.8 macallan #define R300_VAP_OUT_VTX_FMT_1 0x2094 4673 1.8 macallan # define R300_TEX_0_COMP_CNT_SHIFT 0 4674 1.8 macallan # define R300_TEX_1_COMP_CNT_SHIFT 3 4675 1.8 macallan # define R300_TEX_2_COMP_CNT_SHIFT 6 4676 1.8 macallan # define R300_TEX_3_COMP_CNT_SHIFT 9 4677 1.8 macallan # define R300_TEX_4_COMP_CNT_SHIFT 12 4678 1.8 macallan # define R300_TEX_5_COMP_CNT_SHIFT 15 4679 1.8 macallan # define R300_TEX_6_COMP_CNT_SHIFT 18 4680 1.8 macallan # define R300_TEX_7_COMP_CNT_SHIFT 21 4681 1.8 macallan #define R300_VAP_VTX_SIZE 0x20b4 4682 1.8 macallan #define R300_VAP_GB_VERT_CLIP_ADJ 0x2220 4683 1.8 macallan #define R300_VAP_GB_VERT_DISC_ADJ 0x2224 4684 1.8 macallan #define R300_VAP_GB_HORZ_CLIP_ADJ 0x2228 4685 1.8 macallan #define R300_VAP_GB_HORZ_DISC_ADJ 0x222c 4686 1.8 macallan #define R300_VAP_CLIP_CNTL 0x221c 4687 1.8 macallan # define R300_UCP_ENA_0 (1 << 0) 4688 1.8 macallan # define R300_UCP_ENA_1 (1 << 1) 4689 1.8 macallan # define R300_UCP_ENA_2 (1 << 2) 4690 1.8 macallan # define R300_UCP_ENA_3 (1 << 3) 4691 1.8 macallan # define R300_UCP_ENA_4 (1 << 4) 4692 1.8 macallan # define R300_UCP_ENA_5 (1 << 5) 4693 1.8 macallan # define R300_PS_UCP_MODE_SHIFT 14 4694 1.8 macallan # define R300_CLIP_DISABLE (1 << 16) 4695 1.8 macallan # define R300_UCP_CULL_ONLY_ENA (1 << 17) 4696 1.8 macallan # define R300_BOUNDARY_EDGE_FLAG_ENA (1 << 18) 4697 1.8 macallan #define R300_VAP_PVS_STATE_FLUSH_REG 0x2284 4698 1.8 macallan 4699 1.8 macallan #define R500_VAP_INDEX_OFFSET 0x208c 4700 1.8 macallan 4701 1.8 macallan #define R300_SU_TEX_WRAP 0x42a0 4702 1.8 macallan #define R300_SU_POLY_OFFSET_ENABLE 0x42b4 4703 1.8 macallan #define R300_SU_CULL_MODE 0x42b8 4704 1.8 macallan # define R300_CULL_FRONT (1 << 0) 4705 1.8 macallan # define R300_CULL_BACK (1 << 1) 4706 1.8 macallan # define R300_FACE_POS (0 << 2) 4707 1.8 macallan # define R300_FACE_NEG (1 << 2) 4708 1.8 macallan #define R300_SU_DEPTH_SCALE 0x42c0 4709 1.8 macallan #define R300_SU_DEPTH_OFFSET 0x42c4 4710 1.8 macallan 4711 1.8 macallan #define R300_RS_COUNT 0x4300 4712 1.8 macallan # define R300_RS_COUNT_IT_COUNT_SHIFT 0 4713 1.8 macallan # define R300_RS_COUNT_IC_COUNT_SHIFT 7 4714 1.8 macallan # define R300_RS_COUNT_HIRES_EN (1 << 18) 4715 1.8 macallan 4716 1.8 macallan #define R300_RS_IP_0 0x4310 4717 1.8 macallan #define R300_RS_IP_1 0x4314 4718 1.8 macallan # define R300_RS_TEX_PTR(x) ((x) << 0) 4719 1.8 macallan # define R300_RS_COL_PTR(x) ((x) << 6) 4720 1.8 macallan # define R300_RS_COL_FMT(x) ((x) << 9) 4721 1.8 macallan # define R300_RS_COL_FMT_RGBA 0 4722 1.8 macallan # define R300_RS_COL_FMT_RGB0 2 4723 1.8 macallan # define R300_RS_COL_FMT_RGB1 3 4724 1.8 macallan # define R300_RS_COL_FMT_000A 4 4725 1.8 macallan # define R300_RS_COL_FMT_0000 5 4726 1.8 macallan # define R300_RS_COL_FMT_0001 6 4727 1.8 macallan # define R300_RS_COL_FMT_111A 8 4728 1.8 macallan # define R300_RS_COL_FMT_1110 9 4729 1.8 macallan # define R300_RS_COL_FMT_1111 10 4730 1.8 macallan # define R300_RS_SEL_S(x) ((x) << 13) 4731 1.8 macallan # define R300_RS_SEL_T(x) ((x) << 16) 4732 1.8 macallan # define R300_RS_SEL_R(x) ((x) << 19) 4733 1.8 macallan # define R300_RS_SEL_Q(x) ((x) << 22) 4734 1.8 macallan # define R300_RS_SEL_C0 0 4735 1.8 macallan # define R300_RS_SEL_C1 1 4736 1.8 macallan # define R300_RS_SEL_C2 2 4737 1.8 macallan # define R300_RS_SEL_C3 3 4738 1.8 macallan # define R300_RS_SEL_K0 4 4739 1.8 macallan # define R300_RS_SEL_K1 5 4740 1.8 macallan #define R300_RS_INST_COUNT 0x4304 4741 1.8 macallan # define R300_INST_COUNT_RS(x) ((x) << 0) 4742 1.8 macallan # define R300_RS_W_EN (1 << 4) 4743 1.8 macallan # define R300_TX_OFFSET_RS(x) ((x) << 5) 4744 1.8 macallan #define R300_RS_INST_0 0x4330 4745 1.8 macallan #define R300_RS_INST_1 0x4334 4746 1.8 macallan # define R300_INST_TEX_ID(x) ((x) << 0) 4747 1.8 macallan # define R300_RS_INST_TEX_CN_WRITE (1 << 3) 4748 1.8 macallan # define R300_INST_TEX_ADDR(x) ((x) << 6) 4749 1.8 macallan 4750 1.8 macallan #define R300_TX_INVALTAGS 0x4100 4751 1.8 macallan #define R300_TX_FILTER0_0 0x4400 4752 1.8 macallan #define R300_TX_FILTER0_1 0x4404 4753 1.8 macallan #define R300_TX_FILTER0_2 0x4408 4754 1.8 macallan # define R300_TX_CLAMP_S(x) ((x) << 0) 4755 1.8 macallan # define R300_TX_CLAMP_T(x) ((x) << 3) 4756 1.8 macallan # define R300_TX_CLAMP_R(x) ((x) << 6) 4757 1.8 macallan # define R300_TX_CLAMP_WRAP 0 4758 1.8 macallan # define R300_TX_CLAMP_MIRROR 1 4759 1.8 macallan # define R300_TX_CLAMP_CLAMP_LAST 2 4760 1.8 macallan # define R300_TX_CLAMP_MIRROR_CLAMP_LAST 3 4761 1.8 macallan # define R300_TX_CLAMP_CLAMP_BORDER 4 4762 1.8 macallan # define R300_TX_CLAMP_MIRROR_CLAMP_BORDER 5 4763 1.8 macallan # define R300_TX_CLAMP_CLAMP_GL 6 4764 1.8 macallan # define R300_TX_CLAMP_MIRROR_CLAMP_GL 7 4765 1.8 macallan # define R300_TX_MAG_FILTER_NEAREST (1 << 9) 4766 1.8 macallan # define R300_TX_MIN_FILTER_NEAREST (1 << 11) 4767 1.8 macallan # define R300_TX_MAG_FILTER_LINEAR (2 << 9) 4768 1.8 macallan # define R300_TX_MIN_FILTER_LINEAR (2 << 11) 4769 1.8 macallan # define R300_TX_ID_SHIFT 28 4770 1.8 macallan #define R300_TX_FILTER1_0 0x4440 4771 1.8 macallan #define R300_TX_FILTER1_1 0x4444 4772 1.8 macallan #define R300_TX_FILTER1_2 0x4448 4773 1.8 macallan #define R300_TX_FORMAT0_0 0x4480 4774 1.8 macallan #define R300_TX_FORMAT0_1 0x4484 4775 1.8 macallan #define R300_TX_FORMAT0_2 0x4488 4776 1.8 macallan # define R300_TXWIDTH_SHIFT 0 4777 1.8 macallan # define R300_TXHEIGHT_SHIFT 11 4778 1.8 macallan # define R300_TXDEPTH_SHIFT 22 4779 1.8 macallan # define R300_NUM_LEVELS_SHIFT 26 4780 1.8 macallan # define R300_NUM_LEVELS_MASK 0x 4781 1.8 macallan # define R300_TXPROJECTED (1 << 30) 4782 1.8 macallan # define R300_TXPITCH_EN (1 << 31) 4783 1.8 macallan #define R300_TX_FORMAT1_0 0x44c0 4784 1.8 macallan #define R300_TX_FORMAT1_1 0x44c4 4785 1.8 macallan #define R300_TX_FORMAT1_2 0x44c8 4786 1.8 macallan # define R300_TX_FORMAT_X8 0x0 4787 1.8 macallan # define R300_TX_FORMAT_X16 0x1 4788 1.8 macallan # define R300_TX_FORMAT_Y4X4 0x2 4789 1.8 macallan # define R300_TX_FORMAT_Y8X8 0x3 4790 1.8 macallan # define R300_TX_FORMAT_Y16X16 0x4 4791 1.8 macallan # define R300_TX_FORMAT_Z3Y3X2 0x5 4792 1.8 macallan # define R300_TX_FORMAT_Z5Y6X5 0x6 4793 1.8 macallan # define R300_TX_FORMAT_Z6Y5X5 0x7 4794 1.8 macallan # define R300_TX_FORMAT_Z11Y11X10 0x8 4795 1.8 macallan # define R300_TX_FORMAT_Z10Y11X11 0x9 4796 1.8 macallan # define R300_TX_FORMAT_W4Z4Y4X4 0xA 4797 1.8 macallan # define R300_TX_FORMAT_W1Z5Y5X5 0xB 4798 1.8 macallan # define R300_TX_FORMAT_W8Z8Y8X8 0xC 4799 1.8 macallan # define R300_TX_FORMAT_W2Z10Y10X10 0xD 4800 1.8 macallan # define R300_TX_FORMAT_W16Z16Y16X16 0xE 4801 1.8 macallan # define R300_TX_FORMAT_DXT1 0xF 4802 1.8 macallan # define R300_TX_FORMAT_DXT3 0x10 4803 1.8 macallan # define R300_TX_FORMAT_DXT5 0x11 4804 1.8 macallan # define R300_TX_FORMAT_D3DMFT_CxV8U8 0x12 /* no swizzle */ 4805 1.8 macallan # define R300_TX_FORMAT_A8R8G8B8 0x13 /* no swizzle */ 4806 1.8 macallan # define R300_TX_FORMAT_B8G8_B8G8 0x14 /* no swizzle */ 4807 1.8 macallan # define R300_TX_FORMAT_G8R8_G8B8 0x15 /* no swizzle */ 4808 1.8 macallan # define R300_TX_FORMAT_VYUY422 0x14 /* no swizzle */ 4809 1.8 macallan # define R300_TX_FORMAT_YVYU422 0x15 /* no swizzle */ 4810 1.8 macallan # define R300_TX_FORMAT_X24_Y8 0x1e 4811 1.8 macallan # define R300_TX_FORMAT_X32 0x1e 4812 1.8 macallan /* Floating point formats */ 4813 1.8 macallan /* Note - hardware supports both 16 and 32 bit floating point */ 4814 1.8 macallan # define R300_TX_FORMAT_FL_I16 0x18 4815 1.8 macallan # define R300_TX_FORMAT_FL_I16A16 0x19 4816 1.8 macallan # define R300_TX_FORMAT_FL_R16G16B16A16 0x1A 4817 1.8 macallan # define R300_TX_FORMAT_FL_I32 0x1B 4818 1.8 macallan # define R300_TX_FORMAT_FL_I32A32 0x1C 4819 1.8 macallan # define R300_TX_FORMAT_FL_R32G32B32A32 0x1D 4820 1.8 macallan /* alpha modes, convenience mostly */ 4821 1.8 macallan /* if you have alpha, pick constant appropriate to the 4822 1.8 macallan number of channels (1 for I8, 2 for I8A8, 4 for R8G8B8A8, etc */ 4823 1.8 macallan # define R300_TX_FORMAT_ALPHA_1CH 0x000 4824 1.8 macallan # define R300_TX_FORMAT_ALPHA_2CH 0x200 4825 1.8 macallan # define R300_TX_FORMAT_ALPHA_4CH 0x600 4826 1.8 macallan # define R300_TX_FORMAT_ALPHA_NONE 0xA00 4827 1.8 macallan /* Swizzling */ 4828 1.8 macallan /* constants */ 4829 1.8 macallan # define R300_TX_FORMAT_X 0 4830 1.8 macallan # define R300_TX_FORMAT_Y 1 4831 1.8 macallan # define R300_TX_FORMAT_Z 2 4832 1.8 macallan # define R300_TX_FORMAT_W 3 4833 1.8 macallan # define R300_TX_FORMAT_ZERO 4 4834 1.8 macallan # define R300_TX_FORMAT_ONE 5 4835 1.8 macallan /* 2.0*Z, everything above 1.0 is set to 0.0 */ 4836 1.8 macallan # define R300_TX_FORMAT_CUT_Z 6 4837 1.8 macallan /* 2.0*W, everything above 1.0 is set to 0.0 */ 4838 1.8 macallan # define R300_TX_FORMAT_CUT_W 7 4839 1.8 macallan 4840 1.8 macallan # define R300_TX_FORMAT_B_SHIFT 18 4841 1.8 macallan # define R300_TX_FORMAT_G_SHIFT 15 4842 1.8 macallan # define R300_TX_FORMAT_R_SHIFT 12 4843 1.8 macallan # define R300_TX_FORMAT_A_SHIFT 9 4844 1.8 macallan 4845 1.8 macallan /* Convenience macro to take care of layout and swizzling */ 4846 1.8 macallan # define R300_EASY_TX_FORMAT(B, G, R, A, FMT) ( \ 4847 1.8 macallan ((R300_TX_FORMAT_##B)<<R300_TX_FORMAT_B_SHIFT) \ 4848 1.8 macallan | ((R300_TX_FORMAT_##G)<<R300_TX_FORMAT_G_SHIFT) \ 4849 1.8 macallan | ((R300_TX_FORMAT_##R)<<R300_TX_FORMAT_R_SHIFT) \ 4850 1.8 macallan | ((R300_TX_FORMAT_##A)<<R300_TX_FORMAT_A_SHIFT) \ 4851 1.8 macallan | (R300_TX_FORMAT_##FMT) \ 4852 1.8 macallan ) 4853 1.8 macallan 4854 1.8 macallan # define R300_TX_FORMAT_YUV_TO_RGB_CLAMP (1 << 22) 4855 1.8 macallan # define R300_TX_FORMAT_YUV_TO_RGB_NO_CLAMP (2 << 22) 4856 1.8 macallan # define R300_TX_FORMAT_SWAP_YUV (1 << 24) 4857 1.8 macallan 4858 1.8 macallan # define R300_TX_FORMAT_CACHE_WHOLE (0 << 27) 4859 1.8 macallan # define R300_TX_FORMAT_CACHE_HALF_REGION_0 (2 << 27) 4860 1.8 macallan # define R300_TX_FORMAT_CACHE_HALF_REGION_1 (3 << 27) 4861 1.8 macallan # define R300_TX_FORMAT_CACHE_FOURTH_REGION_0 (4 << 27) 4862 1.8 macallan # define R300_TX_FORMAT_CACHE_FOURTH_REGION_1 (5 << 27) 4863 1.8 macallan # define R300_TX_FORMAT_CACHE_FOURTH_REGION_2 (6 << 27) 4864 1.8 macallan # define R300_TX_FORMAT_CACHE_FOURTH_REGION_3 (7 << 27) 4865 1.8 macallan 4866 1.8 macallan #define R300_TX_FORMAT2_0 0x4500 4867 1.8 macallan #define R300_TX_FORMAT2_1 0x4504 4868 1.8 macallan #define R300_TX_FORMAT2_2 0x4508 4869 1.8 macallan # define R500_TXWIDTH_11 (1 << 15) 4870 1.8 macallan # define R500_TXHEIGHT_11 (1 << 16) 4871 1.8 macallan 4872 1.8 macallan #define R300_TX_OFFSET_0 0x4540 4873 1.8 macallan #define R300_TX_OFFSET_1 0x4544 4874 1.8 macallan #define R300_TX_OFFSET_2 0x4548 4875 1.8 macallan # define R300_ENDIAN_SWAP_16_BIT (1 << 0) 4876 1.8 macallan # define R300_ENDIAN_SWAP_32_BIT (2 << 0) 4877 1.8 macallan # define R300_ENDIAN_SWAP_HALF_DWORD (3 << 0) 4878 1.8 macallan # define R300_MACRO_TILE (1 << 2) 4879 1.8 macallan 4880 1.8 macallan #define R300_TX_BORDER_COLOR_0 0x45c0 4881 1.8 macallan 4882 1.8 macallan #define R300_TX_ENABLE 0x4104 4883 1.8 macallan # define R300_TEX_0_ENABLE (1 << 0) 4884 1.8 macallan # define R300_TEX_1_ENABLE (1 << 1) 4885 1.8 macallan # define R300_TEX_2_ENABLE (1 << 2) 4886 1.8 macallan 4887 1.8 macallan #define R300_US_W_FMT 0x46b4 4888 1.8 macallan #define R300_US_OUT_FMT_1 0x46a8 4889 1.8 macallan #define R300_US_OUT_FMT_2 0x46ac 4890 1.8 macallan #define R300_US_OUT_FMT_3 0x46b0 4891 1.8 macallan #define R300_US_OUT_FMT_0 0x46a4 4892 1.8 macallan # define R300_OUT_FMT_C4_8 (0 << 0) 4893 1.8 macallan # define R300_OUT_FMT_C4_10 (1 << 0) 4894 1.8 macallan # define R300_OUT_FMT_C4_10_GAMMA (2 << 0) 4895 1.8 macallan # define R300_OUT_FMT_C_16 (3 << 0) 4896 1.8 macallan # define R300_OUT_FMT_C2_16 (4 << 0) 4897 1.8 macallan # define R300_OUT_FMT_C4_16 (5 << 0) 4898 1.8 macallan # define R300_OUT_FMT_C_16_MPEG (6 << 0) 4899 1.8 macallan # define R300_OUT_FMT_C2_16_MPEG (7 << 0) 4900 1.8 macallan # define R300_OUT_FMT_C2_4 (8 << 0) 4901 1.8 macallan # define R300_OUT_FMT_C_3_3_2 (9 << 0) 4902 1.8 macallan # define R300_OUT_FMT_C_5_6_5 (10 << 0) 4903 1.8 macallan # define R300_OUT_FMT_C_11_11_10 (11 << 0) 4904 1.8 macallan # define R300_OUT_FMT_C_10_11_11 (12 << 0) 4905 1.8 macallan # define R300_OUT_FMT_C_2_10_10_10 (13 << 0) 4906 1.8 macallan # define R300_OUT_FMT_UNUSED (15 << 0) 4907 1.8 macallan # define R300_OUT_FMT_C_16_FP (16 << 0) 4908 1.8 macallan # define R300_OUT_FMT_C2_16_FP (17 << 0) 4909 1.8 macallan # define R300_OUT_FMT_C4_16_FP (18 << 0) 4910 1.8 macallan # define R300_OUT_FMT_C_32_FP (19 << 0) 4911 1.8 macallan # define R300_OUT_FMT_C2_32_FP (20 << 0) 4912 1.8 macallan # define R300_OUT_FMT_C4_32_FP (21 << 0) 4913 1.8 macallan # define R300_OUT_FMT_C0_SEL_ALPHA (0 << 8) 4914 1.8 macallan # define R300_OUT_FMT_C0_SEL_RED (1 << 8) 4915 1.8 macallan # define R300_OUT_FMT_C0_SEL_GREEN (2 << 8) 4916 1.8 macallan # define R300_OUT_FMT_C0_SEL_BLUE (3 << 8) 4917 1.8 macallan # define R300_OUT_FMT_C1_SEL_ALPHA (0 << 10) 4918 1.8 macallan # define R300_OUT_FMT_C1_SEL_RED (1 << 10) 4919 1.8 macallan # define R300_OUT_FMT_C1_SEL_GREEN (2 << 10) 4920 1.8 macallan # define R300_OUT_FMT_C1_SEL_BLUE (3 << 10) 4921 1.8 macallan # define R300_OUT_FMT_C2_SEL_ALPHA (0 << 12) 4922 1.8 macallan # define R300_OUT_FMT_C2_SEL_RED (1 << 12) 4923 1.8 macallan # define R300_OUT_FMT_C2_SEL_GREEN (2 << 12) 4924 1.8 macallan # define R300_OUT_FMT_C2_SEL_BLUE (3 << 12) 4925 1.8 macallan # define R300_OUT_FMT_C3_SEL_ALPHA (0 << 14) 4926 1.8 macallan # define R300_OUT_FMT_C3_SEL_RED (1 << 14) 4927 1.8 macallan # define R300_OUT_FMT_C3_SEL_GREEN (2 << 14) 4928 1.8 macallan # define R300_OUT_FMT_C3_SEL_BLUE (3 << 14) 4929 1.8 macallan #define R300_US_CONFIG 0x4600 4930 1.8 macallan # define R300_NLEVEL_SHIFT 0 4931 1.8 macallan # define R300_FIRST_TEX (1 << 3) 4932 1.8 macallan # define R500_ZERO_TIMES_ANYTHING_EQUALS_ZERO (1 << 1) 4933 1.8 macallan #define R300_US_PIXSIZE 0x4604 4934 1.8 macallan #define R300_US_CODE_OFFSET 0x4608 4935 1.8 macallan # define R300_ALU_CODE_OFFSET(x) ((x) << 0) 4936 1.8 macallan # define R300_ALU_CODE_SIZE(x) ((x) << 6) 4937 1.8 macallan # define R300_TEX_CODE_OFFSET(x) ((x) << 13) 4938 1.8 macallan # define R300_TEX_CODE_SIZE(x) ((x) << 18) 4939 1.8 macallan #define R300_US_CODE_ADDR_0 0x4610 4940 1.8 macallan # define R300_ALU_START(x) ((x) << 0) 4941 1.8 macallan # define R300_ALU_SIZE(x) ((x) << 6) 4942 1.8 macallan # define R300_TEX_START(x) ((x) << 12) 4943 1.8 macallan # define R300_TEX_SIZE(x) ((x) << 17) 4944 1.8 macallan # define R300_RGBA_OUT (1 << 22) 4945 1.8 macallan # define R300_W_OUT (1 << 23) 4946 1.8 macallan #define R300_US_CODE_ADDR_1 0x4614 4947 1.8 macallan #define R300_US_CODE_ADDR_2 0x4618 4948 1.8 macallan #define R300_US_CODE_ADDR_3 0x461c 4949 1.8 macallan #define R300_US_TEX_INST_0 0x4620 4950 1.8 macallan #define R300_US_TEX_INST_1 0x4624 4951 1.8 macallan #define R300_US_TEX_INST_2 0x4628 4952 1.8 macallan #define R300_US_TEX_INST(x) (R300_US_TEX_INST_0 + (x)*4) 4953 1.8 macallan # define R300_TEX_SRC_ADDR(x) ((x) << 0) 4954 1.8 macallan # define R300_TEX_DST_ADDR(x) ((x) << 6) 4955 1.8 macallan # define R300_TEX_ID(x) ((x) << 11) 4956 1.8 macallan # define R300_TEX_INST(x) ((x) << 15) 4957 1.8 macallan # define R300_TEX_INST_NOP 0 4958 1.8 macallan # define R300_TEX_INST_LD 1 4959 1.8 macallan # define R300_TEX_INST_TEXKILL 2 4960 1.8 macallan # define R300_TEX_INST_PROJ 3 4961 1.8 macallan # define R300_TEX_INST_LODBIAS 4 4962 1.8 macallan #define R300_US_ALU_RGB_ADDR_0 0x46c0 4963 1.8 macallan #define R300_US_ALU_RGB_ADDR_1 0x46c4 4964 1.8 macallan #define R300_US_ALU_RGB_ADDR_2 0x46c8 4965 1.8 macallan #define R300_US_ALU_RGB_ADDR(x) (R300_US_ALU_RGB_ADDR_0 + (x)*4) 4966 1.8 macallan /* for ADDR0-2, values 0-31 specify a location in the pixel stack, 4967 1.8 macallan values 32-63 specify a constant */ 4968 1.8 macallan # define R300_ALU_RGB_ADDR0(x) ((x) << 0) 4969 1.8 macallan # define R300_ALU_RGB_ADDR1(x) ((x) << 6) 4970 1.8 macallan # define R300_ALU_RGB_ADDR2(x) ((x) << 12) 4971 1.8 macallan # define R300_ALU_RGB_CONST(x) ((x) | (1 << 5)) 4972 1.8 macallan /* ADDRD - where on the pixel stack the result of this instruction 4973 1.8 macallan will be written */ 4974 1.8 macallan # define R300_ALU_RGB_ADDRD(x) ((x) << 18) 4975 1.8 macallan # define R300_ALU_RGB_WMASK(x) ((x) << 23) 4976 1.8 macallan # define R300_ALU_RGB_OMASK(x) ((x) << 26) 4977 1.8 macallan # define R300_ALU_RGB_MASK_NONE 0 4978 1.8 macallan # define R300_ALU_RGB_MASK_R 1 4979 1.8 macallan # define R300_ALU_RGB_MASK_G 2 4980 1.8 macallan # define R300_ALU_RGB_MASK_B 4 4981 1.8 macallan # define R300_ALU_RGB_MASK_RGB 7 4982 1.8 macallan # define R300_ALU_RGB_TARGET_A (0 << 29) 4983 1.8 macallan # define R300_ALU_RGB_TARGET_B (1 << 29) 4984 1.8 macallan # define R300_ALU_RGB_TARGET_C (2 << 29) 4985 1.8 macallan # define R300_ALU_RGB_TARGET_D (3 << 29) 4986 1.8 macallan #define R300_US_ALU_RGB_INST_0 0x48c0 4987 1.8 macallan #define R300_US_ALU_RGB_INST_1 0x48c4 4988 1.8 macallan #define R300_US_ALU_RGB_INST_2 0x48c8 4989 1.8 macallan #define R300_US_ALU_RGB_INST(x) (R300_US_ALU_RGB_INST_0 + (x)*4) 4990 1.8 macallan # define R300_ALU_RGB_SEL_A(x) ((x) << 0) 4991 1.8 macallan # define R300_ALU_RGB_SRC0_RGB 0 4992 1.8 macallan # define R300_ALU_RGB_SRC0_RRR 1 4993 1.8 macallan # define R300_ALU_RGB_SRC0_GGG 2 4994 1.8 macallan # define R300_ALU_RGB_SRC0_BBB 3 4995 1.8 macallan # define R300_ALU_RGB_SRC1_RGB 4 4996 1.8 macallan # define R300_ALU_RGB_SRC1_RRR 5 4997 1.8 macallan # define R300_ALU_RGB_SRC1_GGG 6 4998 1.8 macallan # define R300_ALU_RGB_SRC1_BBB 7 4999 1.8 macallan # define R300_ALU_RGB_SRC2_RGB 8 5000 1.8 macallan # define R300_ALU_RGB_SRC2_RRR 9 5001 1.8 macallan # define R300_ALU_RGB_SRC2_GGG 10 5002 1.8 macallan # define R300_ALU_RGB_SRC2_BBB 11 5003 1.8 macallan # define R300_ALU_RGB_SRC0_AAA 12 5004 1.8 macallan # define R300_ALU_RGB_SRC1_AAA 13 5005 1.8 macallan # define R300_ALU_RGB_SRC2_AAA 14 5006 1.8 macallan # define R300_ALU_RGB_SRCP_RGB 15 5007 1.8 macallan # define R300_ALU_RGB_SRCP_RRR 16 5008 1.8 macallan # define R300_ALU_RGB_SRCP_GGG 17 5009 1.8 macallan # define R300_ALU_RGB_SRCP_BBB 18 5010 1.8 macallan # define R300_ALU_RGB_SRCP_AAA 19 5011 1.8 macallan # define R300_ALU_RGB_0_0 20 5012 1.8 macallan # define R300_ALU_RGB_1_0 21 5013 1.8 macallan # define R300_ALU_RGB_0_5 22 5014 1.8 macallan # define R300_ALU_RGB_SRC0_GBR 23 5015 1.8 macallan # define R300_ALU_RGB_SRC1_GBR 24 5016 1.8 macallan # define R300_ALU_RGB_SRC2_GBR 25 5017 1.8 macallan # define R300_ALU_RGB_SRC0_BRG 26 5018 1.8 macallan # define R300_ALU_RGB_SRC1_BRG 27 5019 1.8 macallan # define R300_ALU_RGB_SRC2_BRG 28 5020 1.8 macallan # define R300_ALU_RGB_SRC0_ABG 29 5021 1.8 macallan # define R300_ALU_RGB_SRC1_ABG 30 5022 1.8 macallan # define R300_ALU_RGB_SRC2_ABG 31 5023 1.8 macallan # define R300_ALU_RGB_MOD_A(x) ((x) << 5) 5024 1.8 macallan # define R300_ALU_RGB_MOD_NOP 0 5025 1.8 macallan # define R300_ALU_RGB_MOD_NEG 1 5026 1.8 macallan # define R300_ALU_RGB_MOD_ABS 2 5027 1.8 macallan # define R300_ALU_RGB_MOD_NAB 3 5028 1.8 macallan # define R300_ALU_RGB_SEL_B(x) ((x) << 7) 5029 1.8 macallan # define R300_ALU_RGB_MOD_B(x) ((x) << 12) 5030 1.8 macallan # define R300_ALU_RGB_SEL_C(x) ((x) << 14) 5031 1.8 macallan # define R300_ALU_RGB_MOD_C(x) ((x) << 19) 5032 1.8 macallan # define R300_ALU_RGB_SRCP_OP(x) ((x) << 21) 5033 1.8 macallan # define R300_ALU_RGB_SRCP_OP_1_MINUS_2RGB0 0 5034 1.8 macallan # define R300_ALU_RGB_SRCP_OP_RGB1_MINUS_RGB0 1 5035 1.8 macallan # define R300_ALU_RGB_SRCP_OP_RGB1_PLUS_RGB0 2 5036 1.8 macallan # define R300_ALU_RGB_SRCP_OP_1_MINUS_RGB0 3 5037 1.8 macallan # define R300_ALU_RGB_OP(x) ((x) << 23) 5038 1.8 macallan # define R300_ALU_RGB_OP_MAD 0 5039 1.8 macallan # define R300_ALU_RGB_OP_DP3 1 5040 1.8 macallan # define R300_ALU_RGB_OP_DP4 2 5041 1.8 macallan # define R300_ALU_RGB_OP_D2A 3 5042 1.8 macallan # define R300_ALU_RGB_OP_MIN 4 5043 1.8 macallan # define R300_ALU_RGB_OP_MAX 5 5044 1.8 macallan # define R300_ALU_RGB_OP_CND 7 5045 1.8 macallan # define R300_ALU_RGB_OP_CMP 8 5046 1.8 macallan # define R300_ALU_RGB_OP_FRC 9 5047 1.8 macallan # define R300_ALU_RGB_OP_SOP 10 5048 1.8 macallan # define R300_ALU_RGB_OMOD(x) ((x) << 27) 5049 1.8 macallan # define R300_ALU_RGB_OMOD_NONE 0 5050 1.8 macallan # define R300_ALU_RGB_OMOD_MUL_2 1 5051 1.8 macallan # define R300_ALU_RGB_OMOD_MUL_4 2 5052 1.8 macallan # define R300_ALU_RGB_OMOD_MUL_8 3 5053 1.8 macallan # define R300_ALU_RGB_OMOD_DIV_2 4 5054 1.8 macallan # define R300_ALU_RGB_OMOD_DIV_4 5 5055 1.8 macallan # define R300_ALU_RGB_OMOD_DIV_8 6 5056 1.8 macallan # define R300_ALU_RGB_CLAMP (1 << 30) 5057 1.8 macallan # define R300_ALU_RGB_INSERT_NOP (1 << 31) 5058 1.8 macallan #define R300_US_ALU_ALPHA_ADDR_0 0x47c0 5059 1.8 macallan #define R300_US_ALU_ALPHA_ADDR_1 0x47c4 5060 1.8 macallan #define R300_US_ALU_ALPHA_ADDR_2 0x47c8 5061 1.8 macallan #define R300_US_ALU_ALPHA_ADDR(x) (R300_US_ALU_ALPHA_ADDR_0 + (x)*4) 5062 1.8 macallan /* for ADDR0-2, values 0-31 specify a location in the pixel stack, 5063 1.8 macallan values 32-63 specify a constant */ 5064 1.8 macallan # define R300_ALU_ALPHA_ADDR0(x) ((x) << 0) 5065 1.8 macallan # define R300_ALU_ALPHA_ADDR1(x) ((x) << 6) 5066 1.8 macallan # define R300_ALU_ALPHA_ADDR2(x) ((x) << 12) 5067 1.8 macallan # define R300_ALU_ALPHA_CONST(x) ((x) | (1 << 5)) 5068 1.8 macallan /* ADDRD - where on the pixel stack the result of this instruction 5069 1.8 macallan will be written */ 5070 1.8 macallan # define R300_ALU_ALPHA_ADDRD(x) ((x) << 18) 5071 1.8 macallan # define R300_ALU_ALPHA_WMASK(x) ((x) << 23) 5072 1.8 macallan # define R300_ALU_ALPHA_OMASK(x) ((x) << 24) 5073 1.8 macallan # define R300_ALU_ALPHA_OMASK_W(x) ((x) << 27) 5074 1.8 macallan # define R300_ALU_ALPHA_MASK_NONE 0 5075 1.8 macallan # define R300_ALU_ALPHA_MASK_A 1 5076 1.8 macallan # define R300_ALU_ALPHA_TARGET_A (0 << 25) 5077 1.8 macallan # define R300_ALU_ALPHA_TARGET_B (1 << 25) 5078 1.8 macallan # define R300_ALU_ALPHA_TARGET_C (2 << 25) 5079 1.8 macallan # define R300_ALU_ALPHA_TARGET_D (3 << 25) 5080 1.8 macallan #define R300_US_ALU_ALPHA_INST_0 0x49c0 5081 1.8 macallan #define R300_US_ALU_ALPHA_INST_1 0x49c4 5082 1.8 macallan #define R300_US_ALU_ALPHA_INST_2 0x49c8 5083 1.8 macallan #define R300_US_ALU_ALPHA_INST(x) (R300_US_ALU_ALPHA_INST_0 + (x)*4) 5084 1.8 macallan # define R300_ALU_ALPHA_SEL_A(x) ((x) << 0) 5085 1.8 macallan # define R300_ALU_ALPHA_SRC0_R 0 5086 1.8 macallan # define R300_ALU_ALPHA_SRC0_G 1 5087 1.8 macallan # define R300_ALU_ALPHA_SRC0_B 2 5088 1.8 macallan # define R300_ALU_ALPHA_SRC1_R 3 5089 1.8 macallan # define R300_ALU_ALPHA_SRC1_G 4 5090 1.8 macallan # define R300_ALU_ALPHA_SRC1_B 5 5091 1.8 macallan # define R300_ALU_ALPHA_SRC2_R 6 5092 1.8 macallan # define R300_ALU_ALPHA_SRC2_G 7 5093 1.8 macallan # define R300_ALU_ALPHA_SRC2_B 8 5094 1.8 macallan # define R300_ALU_ALPHA_SRC0_A 9 5095 1.8 macallan # define R300_ALU_ALPHA_SRC1_A 10 5096 1.8 macallan # define R300_ALU_ALPHA_SRC2_A 11 5097 1.8 macallan # define R300_ALU_ALPHA_SRCP_R 12 5098 1.8 macallan # define R300_ALU_ALPHA_SRCP_G 13 5099 1.8 macallan # define R300_ALU_ALPHA_SRCP_B 14 5100 1.8 macallan # define R300_ALU_ALPHA_SRCP_A 15 5101 1.8 macallan # define R300_ALU_ALPHA_0_0 16 5102 1.8 macallan # define R300_ALU_ALPHA_1_0 17 5103 1.8 macallan # define R300_ALU_ALPHA_0_5 18 5104 1.8 macallan # define R300_ALU_ALPHA_MOD_A(x) ((x) << 5) 5105 1.8 macallan # define R300_ALU_ALPHA_MOD_NOP 0 5106 1.8 macallan # define R300_ALU_ALPHA_MOD_NEG 1 5107 1.8 macallan # define R300_ALU_ALPHA_MOD_ABS 2 5108 1.8 macallan # define R300_ALU_ALPHA_MOD_NAB 3 5109 1.8 macallan # define R300_ALU_ALPHA_SEL_B(x) ((x) << 7) 5110 1.8 macallan # define R300_ALU_ALPHA_MOD_B(x) ((x) << 12) 5111 1.8 macallan # define R300_ALU_ALPHA_SEL_C(x) ((x) << 14) 5112 1.8 macallan # define R300_ALU_ALPHA_MOD_C(x) ((x) << 19) 5113 1.8 macallan # define R300_ALU_ALPHA_SRCP_OP(x) ((x) << 21) 5114 1.8 macallan # define R300_ALU_ALPHA_SRCP_OP_1_MINUS_2RGB0 0 5115 1.8 macallan # define R300_ALU_ALPHA_SRCP_OP_RGB1_MINUS_RGB0 1 5116 1.8 macallan # define R300_ALU_ALPHA_SRCP_OP_RGB1_PLUS_RGB0 2 5117 1.8 macallan # define R300_ALU_ALPHA_SRCP_OP_1_MINUS_RGB0 3 5118 1.8 macallan # define R300_ALU_ALPHA_OP(x) ((x) << 23) 5119 1.8 macallan # define R300_ALU_ALPHA_OP_MAD 0 5120 1.8 macallan # define R300_ALU_ALPHA_OP_DP 1 5121 1.8 macallan # define R300_ALU_ALPHA_OP_MIN 2 5122 1.8 macallan # define R300_ALU_ALPHA_OP_MAX 3 5123 1.8 macallan # define R300_ALU_ALPHA_OP_CND 5 5124 1.8 macallan # define R300_ALU_ALPHA_OP_CMP 6 5125 1.8 macallan # define R300_ALU_ALPHA_OP_FRC 7 5126 1.8 macallan # define R300_ALU_ALPHA_OP_EX2 8 5127 1.8 macallan # define R300_ALU_ALPHA_OP_LN2 9 5128 1.8 macallan # define R300_ALU_ALPHA_OP_RCP 10 5129 1.8 macallan # define R300_ALU_ALPHA_OP_RSQ 11 5130 1.8 macallan # define R300_ALU_ALPHA_OMOD(x) ((x) << 27) 5131 1.8 macallan # define R300_ALU_ALPHA_OMOD_NONE 0 5132 1.8 macallan # define R300_ALU_ALPHA_OMOD_MUL_2 1 5133 1.8 macallan # define R300_ALU_ALPHA_OMOD_MUL_4 2 5134 1.8 macallan # define R300_ALU_ALPHA_OMOD_MUL_8 3 5135 1.8 macallan # define R300_ALU_ALPHA_OMOD_DIV_2 4 5136 1.8 macallan # define R300_ALU_ALPHA_OMOD_DIV_4 5 5137 1.8 macallan # define R300_ALU_ALPHA_OMOD_DIV_8 6 5138 1.8 macallan # define R300_ALU_ALPHA_CLAMP (1 << 30) 5139 1.8 macallan 5140 1.8 macallan #define R300_US_ALU_CONST_R_0 0x4c00 5141 1.8 macallan #define R300_US_ALU_CONST_R(x) (R300_US_ALU_CONST_R_0 + (x)*16) 5142 1.8 macallan #define R300_US_ALU_CONST_G_0 0x4c04 5143 1.8 macallan #define R300_US_ALU_CONST_G(x) (R300_US_ALU_CONST_G_0 + (x)*16) 5144 1.8 macallan #define R300_US_ALU_CONST_B_0 0x4c08 5145 1.8 macallan #define R300_US_ALU_CONST_B(x) (R300_US_ALU_CONST_B_0 + (x)*16) 5146 1.8 macallan #define R300_US_ALU_CONST_A_0 0x4c0c 5147 1.8 macallan #define R300_US_ALU_CONST_A(x) (R300_US_ALU_CONST_A_0 + (x)*16) 5148 1.8 macallan 5149 1.8 macallan #define R300_FG_DEPTH_SRC 0x4bd8 5150 1.8 macallan #define R300_FG_FOG_BLEND 0x4bc0 5151 1.8 macallan #define R300_FG_ALPHA_FUNC 0x4bd4 5152 1.8 macallan 5153 1.8 macallan #define R300_DST_PIPE_CONFIG 0x170c 5154 1.8 macallan # define R300_PIPE_AUTO_CONFIG (1 << 31) 5155 1.8 macallan #define R300_RB2D_DSTCACHE_MODE 0x3428 5156 1.8 macallan #define R300_RB2D_DSTCACHE_MODE 0x3428 5157 1.8 macallan # define R300_DC_AUTOFLUSH_ENABLE (1 << 8) 5158 1.8 macallan # define R300_DC_DC_DISABLE_IGNORE_PE (1 << 17) 5159 1.8 macallan #define R300_RB2D_DSTCACHE_CTLSTAT 0x342c /* use DSTCACHE_CTLSTAT instead */ 5160 1.8 macallan #define R300_DSTCACHE_CTLSTAT 0x1714 5161 1.8 macallan # define R300_DC_FLUSH_2D (1 << 0) 5162 1.8 macallan # define R300_DC_FREE_2D (1 << 2) 5163 1.8 macallan # define R300_RB2D_DC_FLUSH_ALL (R300_DC_FLUSH_2D | R300_DC_FREE_2D) 5164 1.8 macallan # define R300_RB2D_DC_BUSY (1 << 31) 5165 1.8 macallan #define R300_RB3D_DSTCACHE_CTLSTAT 0x4e4c 5166 1.8 macallan # define R300_DC_FLUSH_3D (2 << 0) 5167 1.8 macallan # define R300_DC_FREE_3D (2 << 2) 5168 1.8 macallan # define R300_RB3D_DC_FLUSH_ALL (R300_DC_FLUSH_3D | R300_DC_FREE_3D) 5169 1.8 macallan # define R300_DC_FINISH_3D (1 << 4) 5170 1.8 macallan #define R300_RB3D_ZCACHE_CTLSTAT 0x4f18 5171 1.8 macallan # define R300_ZC_FLUSH (1 << 0) 5172 1.8 macallan # define R300_ZC_FREE (1 << 1) 5173 1.8 macallan # define R300_ZC_FLUSH_ALL 0x3 5174 1.8 macallan #define R300_RB3D_ZSTENCILCNTL 0x4f04 5175 1.8 macallan #define R300_RB3D_ZCACHE_CTLSTAT 0x4f18 5176 1.8 macallan #define R300_RB3D_BW_CNTL 0x4f1c 5177 1.8 macallan #define R300_RB3D_ZCNTL 0x4f00 5178 1.8 macallan #define R300_RB3D_ZTOP 0x4f14 5179 1.8 macallan #define R300_RB3D_ROPCNTL 0x4e18 5180 1.8 macallan #define R300_RB3D_BLENDCNTL 0x4e04 5181 1.8 macallan # define R300_ALPHA_BLEND_ENABLE (1 << 0) 5182 1.8 macallan # define R300_SEPARATE_ALPHA_ENABLE (1 << 1) 5183 1.8 macallan # define R300_READ_ENABLE (1 << 2) 5184 1.8 macallan #define R300_RB3D_ABLENDCNTL 0x4e08 5185 1.8 macallan #define R300_RB3D_DSTCACHE_CTLSTAT 0x4e4c 5186 1.8 macallan #define R300_RB3D_COLOROFFSET0 0x4e28 5187 1.8 macallan #define R300_RB3D_COLORPITCH0 0x4e38 5188 1.8 macallan # define R300_COLORTILE (1 << 16) 5189 1.8 macallan # define R300_COLORENDIAN_WORD (1 << 19) 5190 1.8 macallan # define R300_COLORENDIAN_DWORD (2 << 19) 5191 1.8 macallan # define R300_COLORENDIAN_HALF_DWORD (3 << 19) 5192 1.8 macallan # define R300_COLORFORMAT_ARGB1555 (3 << 21) 5193 1.8 macallan # define R300_COLORFORMAT_RGB565 (4 << 21) 5194 1.8 macallan # define R300_COLORFORMAT_ARGB8888 (6 << 21) 5195 1.8 macallan # define R300_COLORFORMAT_ARGB32323232 (7 << 21) 5196 1.8 macallan # define R300_COLORFORMAT_I8 (9 << 21) 5197 1.8 macallan # define R300_COLORFORMAT_ARGB16161616 (10 << 21) 5198 1.8 macallan # define R300_COLORFORMAT_VYUY (11 << 21) 5199 1.8 macallan # define R300_COLORFORMAT_YVYU (12 << 21) 5200 1.8 macallan # define R300_COLORFORMAT_UV88 (13 << 21) 5201 1.8 macallan # define R300_COLORFORMAT_ARGB4444 (15 << 21) 5202 1.8 macallan 5203 1.8 macallan #define R300_RB3D_AARESOLVE_CTL 0x4e88 5204 1.8 macallan #define R300_RB3D_COLOR_CHANNEL_MASK 0x4e0c 5205 1.8 macallan # define R300_BLUE_MASK_EN (1 << 0) 5206 1.8 macallan # define R300_GREEN_MASK_EN (1 << 1) 5207 1.8 macallan # define R300_RED_MASK_EN (1 << 2) 5208 1.8 macallan # define R300_ALPHA_MASK_EN (1 << 3) 5209 1.8 macallan #define R300_RB3D_COLOR_CLEAR_VALUE 0x4e14 5210 1.8 macallan #define R300_RB3D_DSTCACHE_CTLSTAT 0x4e4c 5211 1.8 macallan #define R300_RB3D_CCTL 0x4e00 5212 1.8 macallan #define R300_RB3D_DITHER_CTL 0x4e50 5213 1.8 macallan 5214 1.8 macallan #define R300_SC_EDGERULE 0x43a8 5215 1.8 macallan #define R300_SC_SCISSOR0 0x43e0 5216 1.8 macallan #define R300_SC_SCISSOR1 0x43e4 5217 1.8 macallan # define R300_SCISSOR_X_SHIFT 0 5218 1.8 macallan # define R300_SCISSOR_Y_SHIFT 13 5219 1.8 macallan #define R300_SC_CLIP_0_A 0x43b0 5220 1.8 macallan #define R300_SC_CLIP_0_B 0x43b4 5221 1.8 macallan # define R300_CLIP_X_SHIFT 0 5222 1.8 macallan # define R300_CLIP_Y_SHIFT 13 5223 1.8 macallan #define R300_SC_CLIP_RULE 0x43d0 5224 1.8 macallan #define R300_SC_SCREENDOOR 0x43e8 5225 1.8 macallan 5226 1.8 macallan /* R500 US has to be loaded through an index/data pair */ 5227 1.8 macallan #define R500_GA_US_VECTOR_INDEX 0x4250 5228 1.8 macallan # define R500_US_VECTOR_TYPE_INST (0 << 16) 5229 1.8 macallan # define R500_US_VECTOR_TYPE_CONST (1 << 16) 5230 1.8 macallan # define R500_US_VECTOR_CLAMP (1 << 17) 5231 1.8 macallan # define R500_US_VECTOR_INST_INDEX(x) ((x) | R500_US_VECTOR_TYPE_INST) 5232 1.8 macallan # define R500_US_VECTOR_CONST_INDEX(x) ((x) | R500_US_VECTOR_TYPE_CONST) 5233 1.8 macallan #define R500_GA_US_VECTOR_DATA 0x4254 5234 1.8 macallan 5235 1.8 macallan /* 5236 1.8 macallan * The R500 unified shader (US) registers come in banks of 512 each, one 5237 1.8 macallan * for each instruction slot in the shader. You can't touch them directly. 5238 1.8 macallan * R500_US_VECTOR_INDEX() sets the base instruction to modify; successive 5239 1.8 macallan * writes to R500_GA_US_VECTOR_DATA autoincrement the index after the 5240 1.8 macallan * instruction is fully specified. 5241 1.8 macallan */ 5242 1.8 macallan #define R500_US_ALU_ALPHA_INST_0 0xa800 5243 1.8 macallan # define R500_ALPHA_OP_MAD 0 5244 1.8 macallan # define R500_ALPHA_OP_DP 1 5245 1.8 macallan # define R500_ALPHA_OP_MIN 2 5246 1.8 macallan # define R500_ALPHA_OP_MAX 3 5247 1.8 macallan /* #define R500_ALPHA_OP_RESERVED 4 */ 5248 1.8 macallan # define R500_ALPHA_OP_CND 5 5249 1.8 macallan # define R500_ALPHA_OP_CMP 6 5250 1.8 macallan # define R500_ALPHA_OP_FRC 7 5251 1.8 macallan # define R500_ALPHA_OP_EX2 8 5252 1.8 macallan # define R500_ALPHA_OP_LN2 9 5253 1.8 macallan # define R500_ALPHA_OP_RCP 10 5254 1.8 macallan # define R500_ALPHA_OP_RSQ 11 5255 1.8 macallan # define R500_ALPHA_OP_SIN 12 5256 1.8 macallan # define R500_ALPHA_OP_COS 13 5257 1.8 macallan # define R500_ALPHA_OP_MDH 14 5258 1.8 macallan # define R500_ALPHA_OP_MDV 15 5259 1.8 macallan # define R500_ALPHA_ADDRD(x) ((x) << 4) 5260 1.8 macallan # define R500_ALPHA_ADDRD_REL (1 << 11) 5261 1.8 macallan # define R500_ALPHA_SEL_A_SRC0 (0 << 12) 5262 1.8 macallan # define R500_ALPHA_SEL_A_SRC1 (1 << 12) 5263 1.8 macallan # define R500_ALPHA_SEL_A_SRC2 (2 << 12) 5264 1.8 macallan # define R500_ALPHA_SEL_A_SRCP (3 << 12) 5265 1.8 macallan # define R500_ALPHA_SWIZ_A_R (0 << 14) 5266 1.8 macallan # define R500_ALPHA_SWIZ_A_G (1 << 14) 5267 1.8 macallan # define R500_ALPHA_SWIZ_A_B (2 << 14) 5268 1.8 macallan # define R500_ALPHA_SWIZ_A_A (3 << 14) 5269 1.8 macallan # define R500_ALPHA_SWIZ_A_0 (4 << 14) 5270 1.8 macallan # define R500_ALPHA_SWIZ_A_HALF (5 << 14) 5271 1.8 macallan # define R500_ALPHA_SWIZ_A_1 (6 << 14) 5272 1.8 macallan /* #define R500_ALPHA_SWIZ_A_UNUSED (7 << 14) */ 5273 1.8 macallan # define R500_ALPHA_MOD_A_NOP (0 << 17) 5274 1.8 macallan # define R500_ALPHA_MOD_A_NEG (1 << 17) 5275 1.8 macallan # define R500_ALPHA_MOD_A_ABS (2 << 17) 5276 1.8 macallan # define R500_ALPHA_MOD_A_NAB (3 << 17) 5277 1.8 macallan # define R500_ALPHA_SEL_B_SRC0 (0 << 19) 5278 1.8 macallan # define R500_ALPHA_SEL_B_SRC1 (1 << 19) 5279 1.8 macallan # define R500_ALPHA_SEL_B_SRC2 (2 << 19) 5280 1.8 macallan # define R500_ALPHA_SEL_B_SRCP (3 << 19) 5281 1.8 macallan # define R500_ALPHA_SWIZ_B_R (0 << 21) 5282 1.8 macallan # define R500_ALPHA_SWIZ_B_G (1 << 21) 5283 1.8 macallan # define R500_ALPHA_SWIZ_B_B (2 << 21) 5284 1.8 macallan # define R500_ALPHA_SWIZ_B_A (3 << 21) 5285 1.8 macallan # define R500_ALPHA_SWIZ_B_0 (4 << 21) 5286 1.8 macallan # define R500_ALPHA_SWIZ_B_HALF (5 << 21) 5287 1.8 macallan # define R500_ALPHA_SWIZ_B_1 (6 << 21) 5288 1.8 macallan /* #define R500_ALPHA_SWIZ_B_UNUSED (7 << 21) */ 5289 1.8 macallan # define R500_ALPHA_MOD_B_NOP (0 << 24) 5290 1.8 macallan # define R500_ALPHA_MOD_B_NEG (1 << 24) 5291 1.8 macallan # define R500_ALPHA_MOD_B_ABS (2 << 24) 5292 1.8 macallan # define R500_ALPHA_MOD_B_NAB (3 << 24) 5293 1.8 macallan # define R500_ALPHA_OMOD_IDENTITY (0 << 26) 5294 1.8 macallan # define R500_ALPHA_OMOD_MUL_2 (1 << 26) 5295 1.8 macallan # define R500_ALPHA_OMOD_MUL_4 (2 << 26) 5296 1.8 macallan # define R500_ALPHA_OMOD_MUL_8 (3 << 26) 5297 1.8 macallan # define R500_ALPHA_OMOD_DIV_2 (4 << 26) 5298 1.8 macallan # define R500_ALPHA_OMOD_DIV_4 (5 << 26) 5299 1.8 macallan # define R500_ALPHA_OMOD_DIV_8 (6 << 26) 5300 1.8 macallan # define R500_ALPHA_OMOD_DISABLE (7 << 26) 5301 1.8 macallan # define R500_ALPHA_TARGET(x) ((x) << 29) 5302 1.8 macallan # define R500_ALPHA_W_OMASK (1 << 31) 5303 1.8 macallan #define R500_US_ALU_ALPHA_ADDR_0 0x9800 5304 1.8 macallan # define R500_ALPHA_ADDR0(x) ((x) << 0) 5305 1.8 macallan # define R500_ALPHA_ADDR0_CONST (1 << 8) 5306 1.8 macallan # define R500_ALPHA_ADDR0_REL (1 << 9) 5307 1.8 macallan # define R500_ALPHA_ADDR1(x) ((x) << 10) 5308 1.8 macallan # define R500_ALPHA_ADDR1_CONST (1 << 18) 5309 1.8 macallan # define R500_ALPHA_ADDR1_REL (1 << 19) 5310 1.8 macallan # define R500_ALPHA_ADDR2(x) ((x) << 20) 5311 1.8 macallan # define R500_ALPHA_ADDR2_CONST (1 << 28) 5312 1.8 macallan # define R500_ALPHA_ADDR2_REL (1 << 29) 5313 1.8 macallan # define R500_ALPHA_SRCP_OP_1_MINUS_2A0 (0 << 30) 5314 1.8 macallan # define R500_ALPHA_SRCP_OP_A1_MINUS_A0 (1 << 30) 5315 1.8 macallan # define R500_ALPHA_SRCP_OP_A1_PLUS_A0 (2 << 30) 5316 1.8 macallan # define R500_ALPHA_SRCP_OP_1_MINUS_A0 (3 << 30) 5317 1.8 macallan #define R500_US_ALU_RGBA_INST_0 0xb000 5318 1.8 macallan # define R500_ALU_RGBA_OP_MAD (0 << 0) 5319 1.8 macallan # define R500_ALU_RGBA_OP_DP3 (1 << 0) 5320 1.8 macallan # define R500_ALU_RGBA_OP_DP4 (2 << 0) 5321 1.8 macallan # define R500_ALU_RGBA_OP_D2A (3 << 0) 5322 1.8 macallan # define R500_ALU_RGBA_OP_MIN (4 << 0) 5323 1.8 macallan # define R500_ALU_RGBA_OP_MAX (5 << 0) 5324 1.8 macallan /* #define R500_ALU_RGBA_OP_RESERVED (6 << 0) */ 5325 1.8 macallan # define R500_ALU_RGBA_OP_CND (7 << 0) 5326 1.8 macallan # define R500_ALU_RGBA_OP_CMP (8 << 0) 5327 1.8 macallan # define R500_ALU_RGBA_OP_FRC (9 << 0) 5328 1.8 macallan # define R500_ALU_RGBA_OP_SOP (10 << 0) 5329 1.8 macallan # define R500_ALU_RGBA_OP_MDH (11 << 0) 5330 1.8 macallan # define R500_ALU_RGBA_OP_MDV (12 << 0) 5331 1.8 macallan # define R500_ALU_RGBA_ADDRD(x) ((x) << 4) 5332 1.8 macallan # define R500_ALU_RGBA_ADDRD_REL (1 << 11) 5333 1.8 macallan # define R500_ALU_RGBA_SEL_C_SRC0 (0 << 12) 5334 1.8 macallan # define R500_ALU_RGBA_SEL_C_SRC1 (1 << 12) 5335 1.8 macallan # define R500_ALU_RGBA_SEL_C_SRC2 (2 << 12) 5336 1.8 macallan # define R500_ALU_RGBA_SEL_C_SRCP (3 << 12) 5337 1.8 macallan # define R500_ALU_RGBA_R_SWIZ_R (0 << 14) 5338 1.8 macallan # define R500_ALU_RGBA_R_SWIZ_G (1 << 14) 5339 1.8 macallan # define R500_ALU_RGBA_R_SWIZ_B (2 << 14) 5340 1.8 macallan # define R500_ALU_RGBA_R_SWIZ_A (3 << 14) 5341 1.8 macallan # define R500_ALU_RGBA_R_SWIZ_0 (4 << 14) 5342 1.8 macallan # define R500_ALU_RGBA_R_SWIZ_HALF (5 << 14) 5343 1.8 macallan # define R500_ALU_RGBA_R_SWIZ_1 (6 << 14) 5344 1.8 macallan /* #define R500_ALU_RGBA_R_SWIZ_UNUSED (7 << 14) */ 5345 1.8 macallan # define R500_ALU_RGBA_G_SWIZ_R (0 << 17) 5346 1.8 macallan # define R500_ALU_RGBA_G_SWIZ_G (1 << 17) 5347 1.8 macallan # define R500_ALU_RGBA_G_SWIZ_B (2 << 17) 5348 1.8 macallan # define R500_ALU_RGBA_G_SWIZ_A (3 << 17) 5349 1.8 macallan # define R500_ALU_RGBA_G_SWIZ_0 (4 << 17) 5350 1.8 macallan # define R500_ALU_RGBA_G_SWIZ_HALF (5 << 17) 5351 1.8 macallan # define R500_ALU_RGBA_G_SWIZ_1 (6 << 17) 5352 1.8 macallan /* #define R500_ALU_RGBA_G_SWIZ_UNUSED (7 << 17) */ 5353 1.8 macallan # define R500_ALU_RGBA_B_SWIZ_R (0 << 20) 5354 1.8 macallan # define R500_ALU_RGBA_B_SWIZ_G (1 << 20) 5355 1.8 macallan # define R500_ALU_RGBA_B_SWIZ_B (2 << 20) 5356 1.8 macallan # define R500_ALU_RGBA_B_SWIZ_A (3 << 20) 5357 1.8 macallan # define R500_ALU_RGBA_B_SWIZ_0 (4 << 20) 5358 1.8 macallan # define R500_ALU_RGBA_B_SWIZ_HALF (5 << 20) 5359 1.8 macallan # define R500_ALU_RGBA_B_SWIZ_1 (6 << 20) 5360 1.8 macallan /* #define R500_ALU_RGBA_B_SWIZ_UNUSED (7 << 20) */ 5361 1.8 macallan # define R500_ALU_RGBA_MOD_C_NOP (0 << 23) 5362 1.8 macallan # define R500_ALU_RGBA_MOD_C_NEG (1 << 23) 5363 1.8 macallan # define R500_ALU_RGBA_MOD_C_ABS (2 << 23) 5364 1.8 macallan # define R500_ALU_RGBA_MOD_C_NAB (3 << 23) 5365 1.8 macallan # define R500_ALU_RGBA_ALPHA_SEL_C_SRC0 (0 << 25) 5366 1.8 macallan # define R500_ALU_RGBA_ALPHA_SEL_C_SRC1 (1 << 25) 5367 1.8 macallan # define R500_ALU_RGBA_ALPHA_SEL_C_SRC2 (2 << 25) 5368 1.8 macallan # define R500_ALU_RGBA_ALPHA_SEL_C_SRCP (3 << 25) 5369 1.8 macallan # define R500_ALU_RGBA_A_SWIZ_R (0 << 27) 5370 1.8 macallan # define R500_ALU_RGBA_A_SWIZ_G (1 << 27) 5371 1.8 macallan # define R500_ALU_RGBA_A_SWIZ_B (2 << 27) 5372 1.8 macallan # define R500_ALU_RGBA_A_SWIZ_A (3 << 27) 5373 1.8 macallan # define R500_ALU_RGBA_A_SWIZ_0 (4 << 27) 5374 1.8 macallan # define R500_ALU_RGBA_A_SWIZ_HALF (5 << 27) 5375 1.8 macallan # define R500_ALU_RGBA_A_SWIZ_1 (6 << 27) 5376 1.8 macallan /* #define R500_ALU_RGBA_A_SWIZ_UNUSED (7 << 27) */ 5377 1.8 macallan # define R500_ALU_RGBA_ALPHA_MOD_C_NOP (0 << 30) 5378 1.8 macallan # define R500_ALU_RGBA_ALPHA_MOD_C_NEG (1 << 30) 5379 1.8 macallan # define R500_ALU_RGBA_ALPHA_MOD_C_ABS (2 << 30) 5380 1.8 macallan # define R500_ALU_RGBA_ALPHA_MOD_C_NAB (3 << 30) 5381 1.8 macallan #define R500_US_ALU_RGB_INST_0 0xa000 5382 1.8 macallan # define R500_ALU_RGB_SEL_A_SRC0 (0 << 0) 5383 1.8 macallan # define R500_ALU_RGB_SEL_A_SRC1 (1 << 0) 5384 1.8 macallan # define R500_ALU_RGB_SEL_A_SRC2 (2 << 0) 5385 1.8 macallan # define R500_ALU_RGB_SEL_A_SRCP (3 << 0) 5386 1.8 macallan # define R500_ALU_RGB_R_SWIZ_A_R (0 << 2) 5387 1.8 macallan # define R500_ALU_RGB_R_SWIZ_A_G (1 << 2) 5388 1.8 macallan # define R500_ALU_RGB_R_SWIZ_A_B (2 << 2) 5389 1.8 macallan # define R500_ALU_RGB_R_SWIZ_A_A (3 << 2) 5390 1.8 macallan # define R500_ALU_RGB_R_SWIZ_A_0 (4 << 2) 5391 1.8 macallan # define R500_ALU_RGB_R_SWIZ_A_HALF (5 << 2) 5392 1.8 macallan # define R500_ALU_RGB_R_SWIZ_A_1 (6 << 2) 5393 1.8 macallan /* #define R500_ALU_RGB_R_SWIZ_A_UNUSED (7 << 2) */ 5394 1.8 macallan # define R500_ALU_RGB_G_SWIZ_A_R (0 << 5) 5395 1.8 macallan # define R500_ALU_RGB_G_SWIZ_A_G (1 << 5) 5396 1.8 macallan # define R500_ALU_RGB_G_SWIZ_A_B (2 << 5) 5397 1.8 macallan # define R500_ALU_RGB_G_SWIZ_A_A (3 << 5) 5398 1.8 macallan # define R500_ALU_RGB_G_SWIZ_A_0 (4 << 5) 5399 1.8 macallan # define R500_ALU_RGB_G_SWIZ_A_HALF (5 << 5) 5400 1.8 macallan # define R500_ALU_RGB_G_SWIZ_A_1 (6 << 5) 5401 1.8 macallan /* #define R500_ALU_RGB_G_SWIZ_A_UNUSED (7 << 5) */ 5402 1.8 macallan # define R500_ALU_RGB_B_SWIZ_A_R (0 << 8) 5403 1.8 macallan # define R500_ALU_RGB_B_SWIZ_A_G (1 << 8) 5404 1.8 macallan # define R500_ALU_RGB_B_SWIZ_A_B (2 << 8) 5405 1.8 macallan # define R500_ALU_RGB_B_SWIZ_A_A (3 << 8) 5406 1.8 macallan # define R500_ALU_RGB_B_SWIZ_A_0 (4 << 8) 5407 1.8 macallan # define R500_ALU_RGB_B_SWIZ_A_HALF (5 << 8) 5408 1.8 macallan # define R500_ALU_RGB_B_SWIZ_A_1 (6 << 8) 5409 1.8 macallan /* #define R500_ALU_RGB_B_SWIZ_A_UNUSED (7 << 8) */ 5410 1.8 macallan # define R500_ALU_RGB_MOD_A_NOP (0 << 11) 5411 1.8 macallan # define R500_ALU_RGB_MOD_A_NEG (1 << 11) 5412 1.8 macallan # define R500_ALU_RGB_MOD_A_ABS (2 << 11) 5413 1.8 macallan # define R500_ALU_RGB_MOD_A_NAB (3 << 11) 5414 1.8 macallan # define R500_ALU_RGB_SEL_B_SRC0 (0 << 13) 5415 1.8 macallan # define R500_ALU_RGB_SEL_B_SRC1 (1 << 13) 5416 1.8 macallan # define R500_ALU_RGB_SEL_B_SRC2 (2 << 13) 5417 1.8 macallan # define R500_ALU_RGB_SEL_B_SRCP (3 << 13) 5418 1.8 macallan # define R500_ALU_RGB_R_SWIZ_B_R (0 << 15) 5419 1.8 macallan # define R500_ALU_RGB_R_SWIZ_B_G (1 << 15) 5420 1.8 macallan # define R500_ALU_RGB_R_SWIZ_B_B (2 << 15) 5421 1.8 macallan # define R500_ALU_RGB_R_SWIZ_B_A (3 << 15) 5422 1.8 macallan # define R500_ALU_RGB_R_SWIZ_B_0 (4 << 15) 5423 1.8 macallan # define R500_ALU_RGB_R_SWIZ_B_HALF (5 << 15) 5424 1.8 macallan # define R500_ALU_RGB_R_SWIZ_B_1 (6 << 15) 5425 1.8 macallan /* #define R500_ALU_RGB_R_SWIZ_B_UNUSED (7 << 15) */ 5426 1.8 macallan # define R500_ALU_RGB_G_SWIZ_B_R (0 << 18) 5427 1.8 macallan # define R500_ALU_RGB_G_SWIZ_B_G (1 << 18) 5428 1.8 macallan # define R500_ALU_RGB_G_SWIZ_B_B (2 << 18) 5429 1.8 macallan # define R500_ALU_RGB_G_SWIZ_B_A (3 << 18) 5430 1.8 macallan # define R500_ALU_RGB_G_SWIZ_B_0 (4 << 18) 5431 1.8 macallan # define R500_ALU_RGB_G_SWIZ_B_HALF (5 << 18) 5432 1.8 macallan # define R500_ALU_RGB_G_SWIZ_B_1 (6 << 18) 5433 1.8 macallan /* #define R500_ALU_RGB_G_SWIZ_B_UNUSED (7 << 18) */ 5434 1.8 macallan # define R500_ALU_RGB_B_SWIZ_B_R (0 << 21) 5435 1.8 macallan # define R500_ALU_RGB_B_SWIZ_B_G (1 << 21) 5436 1.8 macallan # define R500_ALU_RGB_B_SWIZ_B_B (2 << 21) 5437 1.8 macallan # define R500_ALU_RGB_B_SWIZ_B_A (3 << 21) 5438 1.8 macallan # define R500_ALU_RGB_B_SWIZ_B_0 (4 << 21) 5439 1.8 macallan # define R500_ALU_RGB_B_SWIZ_B_HALF (5 << 21) 5440 1.8 macallan # define R500_ALU_RGB_B_SWIZ_B_1 (6 << 21) 5441 1.8 macallan /* #define R500_ALU_RGB_B_SWIZ_B_UNUSED (7 << 21) */ 5442 1.8 macallan # define R500_ALU_RGB_MOD_B_NOP (0 << 24) 5443 1.8 macallan # define R500_ALU_RGB_MOD_B_NEG (1 << 24) 5444 1.8 macallan # define R500_ALU_RGB_MOD_B_ABS (2 << 24) 5445 1.8 macallan # define R500_ALU_RGB_MOD_B_NAB (3 << 24) 5446 1.8 macallan # define R500_ALU_RGB_OMOD_IDENTITY (0 << 26) 5447 1.8 macallan # define R500_ALU_RGB_OMOD_MUL_2 (1 << 26) 5448 1.8 macallan # define R500_ALU_RGB_OMOD_MUL_4 (2 << 26) 5449 1.8 macallan # define R500_ALU_RGB_OMOD_MUL_8 (3 << 26) 5450 1.8 macallan # define R500_ALU_RGB_OMOD_DIV_2 (4 << 26) 5451 1.8 macallan # define R500_ALU_RGB_OMOD_DIV_4 (5 << 26) 5452 1.8 macallan # define R500_ALU_RGB_OMOD_DIV_8 (6 << 26) 5453 1.8 macallan # define R500_ALU_RGB_OMOD_DISABLE (7 << 26) 5454 1.8 macallan # define R500_ALU_RGB_TARGET(x) ((x) << 29) 5455 1.8 macallan # define R500_ALU_RGB_WMASK (1 << 31) 5456 1.8 macallan #define R500_US_ALU_RGB_ADDR_0 0x9000 5457 1.8 macallan # define R500_RGB_ADDR0(x) ((x) << 0) 5458 1.8 macallan # define R500_RGB_ADDR0_CONST (1 << 8) 5459 1.8 macallan # define R500_RGB_ADDR0_REL (1 << 9) 5460 1.8 macallan # define R500_RGB_ADDR1(x) ((x) << 10) 5461 1.8 macallan # define R500_RGB_ADDR1_CONST (1 << 18) 5462 1.8 macallan # define R500_RGB_ADDR1_REL (1 << 19) 5463 1.8 macallan # define R500_RGB_ADDR2(x) ((x) << 20) 5464 1.8 macallan # define R500_RGB_ADDR2_CONST (1 << 28) 5465 1.8 macallan # define R500_RGB_ADDR2_REL (1 << 29) 5466 1.8 macallan # define R500_RGB_SRCP_OP_1_MINUS_2RGB0 (0 << 30) 5467 1.8 macallan # define R500_RGB_SRCP_OP_RGB1_MINUS_RGB0 (1 << 30) 5468 1.8 macallan # define R500_RGB_SRCP_OP_RGB1_PLUS_RGB0 (2 << 30) 5469 1.8 macallan # define R500_RGB_SRCP_OP_1_MINUS_RGB0 (3 << 30) 5470 1.8 macallan #define R500_US_CMN_INST_0 0xb800 5471 1.8 macallan # define R500_INST_TYPE_ALU (0 << 0) 5472 1.8 macallan # define R500_INST_TYPE_OUT (1 << 0) 5473 1.8 macallan # define R500_INST_TYPE_FC (2 << 0) 5474 1.8 macallan # define R500_INST_TYPE_TEX (3 << 0) 5475 1.8 macallan # define R500_INST_TEX_SEM_WAIT (1 << 2) 5476 1.8 macallan # define R500_INST_RGB_PRED_SEL_NONE (0 << 3) 5477 1.8 macallan # define R500_INST_RGB_PRED_SEL_RGBA (1 << 3) 5478 1.8 macallan # define R500_INST_RGB_PRED_SEL_RRRR (2 << 3) 5479 1.8 macallan # define R500_INST_RGB_PRED_SEL_GGGG (3 << 3) 5480 1.8 macallan # define R500_INST_RGB_PRED_SEL_BBBB (4 << 3) 5481 1.8 macallan # define R500_INST_RGB_PRED_SEL_AAAA (5 << 3) 5482 1.8 macallan # define R500_INST_RGB_PRED_INV (1 << 6) 5483 1.8 macallan # define R500_INST_WRITE_INACTIVE (1 << 7) 5484 1.8 macallan # define R500_INST_LAST (1 << 8) 5485 1.8 macallan # define R500_INST_NOP (1 << 9) 5486 1.8 macallan # define R500_INST_ALU_WAIT (1 << 10) 5487 1.8 macallan # define R500_INST_RGB_WMASK_R (1 << 11) 5488 1.8 macallan # define R500_INST_RGB_WMASK_G (1 << 12) 5489 1.8 macallan # define R500_INST_RGB_WMASK_B (1 << 13) 5490 1.8 macallan # define R500_INST_ALPHA_WMASK (1 << 14) 5491 1.8 macallan # define R500_INST_RGB_OMASK_R (1 << 15) 5492 1.8 macallan # define R500_INST_RGB_OMASK_G (1 << 16) 5493 1.8 macallan # define R500_INST_RGB_OMASK_B (1 << 17) 5494 1.8 macallan # define R500_INST_ALPHA_OMASK (1 << 18) 5495 1.8 macallan # define R500_INST_RGB_CLAMP (1 << 19) 5496 1.8 macallan # define R500_INST_ALPHA_CLAMP (1 << 20) 5497 1.8 macallan # define R500_INST_ALU_RESULT_SEL (1 << 21) 5498 1.8 macallan # define R500_INST_ALPHA_PRED_INV (1 << 22) 5499 1.8 macallan # define R500_INST_ALU_RESULT_OP_EQ (0 << 23) 5500 1.8 macallan # define R500_INST_ALU_RESULT_OP_LT (1 << 23) 5501 1.8 macallan # define R500_INST_ALU_RESULT_OP_GE (2 << 23) 5502 1.8 macallan # define R500_INST_ALU_RESULT_OP_NE (3 << 23) 5503 1.8 macallan # define R500_INST_ALPHA_PRED_SEL_NONE (0 << 25) 5504 1.8 macallan # define R500_INST_ALPHA_PRED_SEL_RGBA (1 << 25) 5505 1.8 macallan # define R500_INST_ALPHA_PRED_SEL_RRRR (2 << 25) 5506 1.8 macallan # define R500_INST_ALPHA_PRED_SEL_GGGG (3 << 25) 5507 1.8 macallan # define R500_INST_ALPHA_PRED_SEL_BBBB (4 << 25) 5508 1.8 macallan # define R500_INST_ALPHA_PRED_SEL_AAAA (5 << 25) 5509 1.8 macallan /* XXX next four are kind of guessed */ 5510 1.8 macallan # define R500_INST_STAT_WE_R (1 << 28) 5511 1.8 macallan # define R500_INST_STAT_WE_G (1 << 29) 5512 1.8 macallan # define R500_INST_STAT_WE_B (1 << 30) 5513 1.8 macallan # define R500_INST_STAT_WE_A (1 << 31) 5514 1.8 macallan /* note that these are 8 bit lengths, despite the offsets, at least for R500 */ 5515 1.8 macallan #define R500_US_CODE_ADDR 0x4630 5516 1.8 macallan # define R500_US_CODE_START_ADDR(x) ((x) << 0) 5517 1.8 macallan # define R500_US_CODE_END_ADDR(x) ((x) << 16) 5518 1.8 macallan #define R500_US_CODE_OFFSET 0x4638 5519 1.8 macallan # define R500_US_CODE_OFFSET_ADDR(x) ((x) << 0) 5520 1.8 macallan #define R500_US_CODE_RANGE 0x4634 5521 1.8 macallan # define R500_US_CODE_RANGE_ADDR(x) ((x) << 0) 5522 1.8 macallan # define R500_US_CODE_RANGE_SIZE(x) ((x) << 16) 5523 1.8 macallan #define R500_US_CONFIG 0x4600 5524 1.8 macallan # define R500_ZERO_TIMES_ANYTHING_EQUALS_ZERO (1 << 1) 5525 1.8 macallan #define R500_US_FC_ADDR_0 0xa000 5526 1.8 macallan # define R500_FC_BOOL_ADDR(x) ((x) << 0) 5527 1.8 macallan # define R500_FC_INT_ADDR(x) ((x) << 8) 5528 1.8 macallan # define R500_FC_JUMP_ADDR(x) ((x) << 16) 5529 1.8 macallan # define R500_FC_JUMP_GLOBAL (1 << 31) 5530 1.8 macallan #define R500_US_FC_BOOL_CONST 0x4620 5531 1.8 macallan # define R500_FC_KBOOL(x) (x) 5532 1.8 macallan #define R500_US_FC_CTRL 0x4624 5533 1.8 macallan # define R500_FC_TEST_EN (1 << 30) 5534 1.8 macallan # define R500_FC_FULL_FC_EN (1 << 31) 5535 1.8 macallan #define R500_US_FC_INST_0 0x9800 5536 1.8 macallan # define R500_FC_OP_JUMP (0 << 0) 5537 1.8 macallan # define R500_FC_OP_LOOP (1 << 0) 5538 1.8 macallan # define R500_FC_OP_ENDLOOP (2 << 0) 5539 1.8 macallan # define R500_FC_OP_REP (3 << 0) 5540 1.8 macallan # define R500_FC_OP_ENDREP (4 << 0) 5541 1.8 macallan # define R500_FC_OP_BREAKLOOP (5 << 0) 5542 1.8 macallan # define R500_FC_OP_BREAKREP (6 << 0) 5543 1.8 macallan # define R500_FC_OP_CONTINUE (7 << 0) 5544 1.8 macallan # define R500_FC_B_ELSE (1 << 4) 5545 1.8 macallan # define R500_FC_JUMP_ANY (1 << 5) 5546 1.8 macallan # define R500_FC_A_OP_NONE (0 << 6) 5547 1.8 macallan # define R500_FC_A_OP_POP (1 << 6) 5548 1.8 macallan # define R500_FC_A_OP_PUSH (2 << 6) 5549 1.8 macallan # define R500_FC_JUMP_FUNC(x) ((x) << 8) 5550 1.8 macallan # define R500_FC_B_POP_CNT(x) ((x) << 16) 5551 1.8 macallan # define R500_FC_B_OP0_NONE (0 << 24) 5552 1.8 macallan # define R500_FC_B_OP0_DECR (1 << 24) 5553 1.8 macallan # define R500_FC_B_OP0_INCR (2 << 24) 5554 1.8 macallan # define R500_FC_B_OP1_DECR (0 << 26) 5555 1.8 macallan # define R500_FC_B_OP1_NONE (1 << 26) 5556 1.8 macallan # define R500_FC_B_OP1_INCR (2 << 26) 5557 1.8 macallan # define R500_FC_IGNORE_UNCOVERED (1 << 28) 5558 1.8 macallan #define R500_US_FC_INT_CONST_0 0x4c00 5559 1.8 macallan # define R500_FC_INT_CONST_KR(x) ((x) << 0) 5560 1.8 macallan # define R500_FC_INT_CONST_KG(x) ((x) << 8) 5561 1.8 macallan # define R500_FC_INT_CONST_KB(x) ((x) << 16) 5562 1.8 macallan /* _0 through _15 */ 5563 1.8 macallan #define R500_US_FORMAT0_0 0x4640 5564 1.8 macallan # define R500_FORMAT_TXWIDTH(x) ((x) << 0) 5565 1.8 macallan # define R500_FORMAT_TXHEIGHT(x) ((x) << 11) 5566 1.8 macallan # define R500_FORMAT_TXDEPTH(x) ((x) << 22) 5567 1.8 macallan /* _0 through _3 */ 5568 1.8 macallan #define R500_US_OUT_FMT_0 0x46a4 5569 1.8 macallan # define R500_OUT_FMT_C4_8 (0 << 0) 5570 1.8 macallan # define R500_OUT_FMT_C4_10 (1 << 0) 5571 1.8 macallan # define R500_OUT_FMT_C4_10_GAMMA (2 << 0) 5572 1.8 macallan # define R500_OUT_FMT_C_16 (3 << 0) 5573 1.8 macallan # define R500_OUT_FMT_C2_16 (4 << 0) 5574 1.8 macallan # define R500_OUT_FMT_C4_16 (5 << 0) 5575 1.8 macallan # define R500_OUT_FMT_C_16_MPEG (6 << 0) 5576 1.8 macallan # define R500_OUT_FMT_C2_16_MPEG (7 << 0) 5577 1.8 macallan # define R500_OUT_FMT_C2_4 (8 << 0) 5578 1.8 macallan # define R500_OUT_FMT_C_3_3_2 (9 << 0) 5579 1.8 macallan # define R500_OUT_FMT_C_6_5_6 (10 << 0) 5580 1.8 macallan # define R500_OUT_FMT_C_11_11_10 (11 << 0) 5581 1.8 macallan # define R500_OUT_FMT_C_10_11_11 (12 << 0) 5582 1.8 macallan # define R500_OUT_FMT_C_2_10_10_10 (13 << 0) 5583 1.8 macallan /* #define R500_OUT_FMT_RESERVED (14 << 0) */ 5584 1.8 macallan # define R500_OUT_FMT_UNUSED (15 << 0) 5585 1.8 macallan # define R500_OUT_FMT_C_16_FP (16 << 0) 5586 1.8 macallan # define R500_OUT_FMT_C2_16_FP (17 << 0) 5587 1.8 macallan # define R500_OUT_FMT_C4_16_FP (18 << 0) 5588 1.8 macallan # define R500_OUT_FMT_C_32_FP (19 << 0) 5589 1.8 macallan # define R500_OUT_FMT_C2_32_FP (20 << 0) 5590 1.8 macallan # define R500_OUT_FMT_C4_32_FP (21 << 0) 5591 1.8 macallan # define R500_C0_SEL_A (0 << 8) 5592 1.8 macallan # define R500_C0_SEL_R (1 << 8) 5593 1.8 macallan # define R500_C0_SEL_G (2 << 8) 5594 1.8 macallan # define R500_C0_SEL_B (3 << 8) 5595 1.8 macallan # define R500_C1_SEL_A (0 << 10) 5596 1.8 macallan # define R500_C1_SEL_R (1 << 10) 5597 1.8 macallan # define R500_C1_SEL_G (2 << 10) 5598 1.8 macallan # define R500_C1_SEL_B (3 << 10) 5599 1.8 macallan # define R500_C2_SEL_A (0 << 12) 5600 1.8 macallan # define R500_C2_SEL_R (1 << 12) 5601 1.8 macallan # define R500_C2_SEL_G (2 << 12) 5602 1.8 macallan # define R500_C2_SEL_B (3 << 12) 5603 1.8 macallan # define R500_C3_SEL_A (0 << 14) 5604 1.8 macallan # define R500_C3_SEL_R (1 << 14) 5605 1.8 macallan # define R500_C3_SEL_G (2 << 14) 5606 1.8 macallan # define R500_C3_SEL_B (3 << 14) 5607 1.8 macallan # define R500_OUT_SIGN(x) ((x) << 16) 5608 1.8 macallan # define R500_ROUND_ADJ (1 << 20) 5609 1.8 macallan #define R500_US_PIXSIZE 0x4604 5610 1.8 macallan # define R500_PIX_SIZE(x) (x) 5611 1.8 macallan #define R500_US_TEX_ADDR_0 0x9800 5612 1.8 macallan # define R500_TEX_SRC_ADDR(x) ((x) << 0) 5613 1.8 macallan # define R500_TEX_SRC_ADDR_REL (1 << 7) 5614 1.8 macallan # define R500_TEX_SRC_S_SWIZ_R (0 << 8) 5615 1.8 macallan # define R500_TEX_SRC_S_SWIZ_G (1 << 8) 5616 1.8 macallan # define R500_TEX_SRC_S_SWIZ_B (2 << 8) 5617 1.8 macallan # define R500_TEX_SRC_S_SWIZ_A (3 << 8) 5618 1.8 macallan # define R500_TEX_SRC_T_SWIZ_R (0 << 10) 5619 1.8 macallan # define R500_TEX_SRC_T_SWIZ_G (1 << 10) 5620 1.8 macallan # define R500_TEX_SRC_T_SWIZ_B (2 << 10) 5621 1.8 macallan # define R500_TEX_SRC_T_SWIZ_A (3 << 10) 5622 1.8 macallan # define R500_TEX_SRC_R_SWIZ_R (0 << 12) 5623 1.8 macallan # define R500_TEX_SRC_R_SWIZ_G (1 << 12) 5624 1.8 macallan # define R500_TEX_SRC_R_SWIZ_B (2 << 12) 5625 1.8 macallan # define R500_TEX_SRC_R_SWIZ_A (3 << 12) 5626 1.8 macallan # define R500_TEX_SRC_Q_SWIZ_R (0 << 14) 5627 1.8 macallan # define R500_TEX_SRC_Q_SWIZ_G (1 << 14) 5628 1.8 macallan # define R500_TEX_SRC_Q_SWIZ_B (2 << 14) 5629 1.8 macallan # define R500_TEX_SRC_Q_SWIZ_A (3 << 14) 5630 1.8 macallan # define R500_TEX_DST_ADDR(x) ((x) << 16) 5631 1.8 macallan # define R500_TEX_DST_ADDR_REL (1 << 23) 5632 1.8 macallan # define R500_TEX_DST_R_SWIZ_R (0 << 24) 5633 1.8 macallan # define R500_TEX_DST_R_SWIZ_G (1 << 24) 5634 1.8 macallan # define R500_TEX_DST_R_SWIZ_B (2 << 24) 5635 1.8 macallan # define R500_TEX_DST_R_SWIZ_A (3 << 24) 5636 1.8 macallan # define R500_TEX_DST_G_SWIZ_R (0 << 26) 5637 1.8 macallan # define R500_TEX_DST_G_SWIZ_G (1 << 26) 5638 1.8 macallan # define R500_TEX_DST_G_SWIZ_B (2 << 26) 5639 1.8 macallan # define R500_TEX_DST_G_SWIZ_A (3 << 26) 5640 1.8 macallan # define R500_TEX_DST_B_SWIZ_R (0 << 28) 5641 1.8 macallan # define R500_TEX_DST_B_SWIZ_G (1 << 28) 5642 1.8 macallan # define R500_TEX_DST_B_SWIZ_B (2 << 28) 5643 1.8 macallan # define R500_TEX_DST_B_SWIZ_A (3 << 28) 5644 1.8 macallan # define R500_TEX_DST_A_SWIZ_R (0 << 30) 5645 1.8 macallan # define R500_TEX_DST_A_SWIZ_G (1 << 30) 5646 1.8 macallan # define R500_TEX_DST_A_SWIZ_B (2 << 30) 5647 1.8 macallan # define R500_TEX_DST_A_SWIZ_A (3 << 30) 5648 1.8 macallan #define R500_US_TEX_ADDR_DXDY_0 0xa000 5649 1.8 macallan # define R500_DX_ADDR(x) ((x) << 0) 5650 1.8 macallan # define R500_DX_ADDR_REL (1 << 7) 5651 1.8 macallan # define R500_DX_S_SWIZ_R (0 << 8) 5652 1.8 macallan # define R500_DX_S_SWIZ_G (1 << 8) 5653 1.8 macallan # define R500_DX_S_SWIZ_B (2 << 8) 5654 1.8 macallan # define R500_DX_S_SWIZ_A (3 << 8) 5655 1.8 macallan # define R500_DX_T_SWIZ_R (0 << 10) 5656 1.8 macallan # define R500_DX_T_SWIZ_G (1 << 10) 5657 1.8 macallan # define R500_DX_T_SWIZ_B (2 << 10) 5658 1.8 macallan # define R500_DX_T_SWIZ_A (3 << 10) 5659 1.8 macallan # define R500_DX_R_SWIZ_R (0 << 12) 5660 1.8 macallan # define R500_DX_R_SWIZ_G (1 << 12) 5661 1.8 macallan # define R500_DX_R_SWIZ_B (2 << 12) 5662 1.8 macallan # define R500_DX_R_SWIZ_A (3 << 12) 5663 1.8 macallan # define R500_DX_Q_SWIZ_R (0 << 14) 5664 1.8 macallan # define R500_DX_Q_SWIZ_G (1 << 14) 5665 1.8 macallan # define R500_DX_Q_SWIZ_B (2 << 14) 5666 1.8 macallan # define R500_DX_Q_SWIZ_A (3 << 14) 5667 1.8 macallan # define R500_DY_ADDR(x) ((x) << 16) 5668 1.8 macallan # define R500_DY_ADDR_REL (1 << 17) 5669 1.8 macallan # define R500_DY_S_SWIZ_R (0 << 24) 5670 1.8 macallan # define R500_DY_S_SWIZ_G (1 << 24) 5671 1.8 macallan # define R500_DY_S_SWIZ_B (2 << 24) 5672 1.8 macallan # define R500_DY_S_SWIZ_A (3 << 24) 5673 1.8 macallan # define R500_DY_T_SWIZ_R (0 << 26) 5674 1.8 macallan # define R500_DY_T_SWIZ_G (1 << 26) 5675 1.8 macallan # define R500_DY_T_SWIZ_B (2 << 26) 5676 1.8 macallan # define R500_DY_T_SWIZ_A (3 << 26) 5677 1.8 macallan # define R500_DY_R_SWIZ_R (0 << 28) 5678 1.8 macallan # define R500_DY_R_SWIZ_G (1 << 28) 5679 1.8 macallan # define R500_DY_R_SWIZ_B (2 << 28) 5680 1.8 macallan # define R500_DY_R_SWIZ_A (3 << 28) 5681 1.8 macallan # define R500_DY_Q_SWIZ_R (0 << 30) 5682 1.8 macallan # define R500_DY_Q_SWIZ_G (1 << 30) 5683 1.8 macallan # define R500_DY_Q_SWIZ_B (2 << 30) 5684 1.8 macallan # define R500_DY_Q_SWIZ_A (3 << 30) 5685 1.8 macallan #define R500_US_TEX_INST_0 0x9000 5686 1.8 macallan # define R500_TEX_ID(x) ((x) << 16) 5687 1.8 macallan # define R500_TEX_INST_NOP (0 << 22) 5688 1.8 macallan # define R500_TEX_INST_LD (1 << 22) 5689 1.8 macallan # define R500_TEX_INST_TEXKILL (2 << 22) 5690 1.8 macallan # define R500_TEX_INST_PROJ (3 << 22) 5691 1.8 macallan # define R500_TEX_INST_LODBIAS (4 << 22) 5692 1.8 macallan # define R500_TEX_INST_LOD (5 << 22) 5693 1.8 macallan # define R500_TEX_INST_DXDY (6 << 22) 5694 1.8 macallan # define R500_TEX_SEM_ACQUIRE (1 << 25) 5695 1.8 macallan # define R500_TEX_IGNORE_UNCOVERED (1 << 26) 5696 1.8 macallan # define R500_TEX_UNSCALED (1 << 27) 5697 1.8 macallan #define R500_US_W_FMT 0x46b4 5698 1.8 macallan # define R500_W_FMT_W0 (0 << 0) 5699 1.8 macallan # define R500_W_FMT_W24 (1 << 0) 5700 1.8 macallan # define R500_W_FMT_W24FP (2 << 0) 5701 1.8 macallan # define R500_W_SRC_US (0 << 2) 5702 1.8 macallan # define R500_W_SRC_RAS (1 << 2) 5703 1.8 macallan 5704 1.8 macallan #define R500_RS_INST_0 0x4320 5705 1.8 macallan #define R500_RS_INST_1 0x4324 5706 1.8 macallan # define R500_RS_INST_TEX_ID_SHIFT 0 5707 1.8 macallan # define R500_RS_INST_TEX_CN_WRITE (1 << 4) 5708 1.8 macallan # define R500_RS_INST_TEX_ADDR_SHIFT 5 5709 1.8 macallan # define R500_RS_INST_COL_ID_SHIFT 12 5710 1.8 macallan # define R500_RS_INST_COL_CN_NO_WRITE (0 << 16) 5711 1.8 macallan # define R500_RS_INST_COL_CN_WRITE (1 << 16) 5712 1.8 macallan # define R500_RS_INST_COL_CN_WRITE_FBUFFER (2 << 16) 5713 1.8 macallan # define R500_RS_INST_COL_CN_WRITE_BACKFACE (3 << 16) 5714 1.8 macallan # define R500_RS_INST_COL_COL_ADDR_SHIFT 18 5715 1.8 macallan # define R500_RS_INST_TEX_ADJ (1 << 25) 5716 1.8 macallan # define R500_RS_INST_W_CN (1 << 26) 5717 1.8 macallan 5718 1.8 macallan #define R500_US_FC_CTRL 0x4624 5719 1.8 macallan #define R500_US_CODE_ADDR 0x4630 5720 1.8 macallan #define R500_US_CODE_RANGE 0x4634 5721 1.8 macallan #define R500_US_CODE_OFFSET 0x4638 5722 1.8 macallan 5723 1.8 macallan #define R500_RS_IP_0 0x4074 5724 1.8 macallan #define R500_RS_IP_1 0x4078 5725 1.8 macallan # define R500_RS_IP_PTR_K0 62 5726 1.8 macallan # define R500_RS_IP_PTR_K1 63 5727 1.8 macallan # define R500_RS_IP_TEX_PTR_S_SHIFT 0 5728 1.8 macallan # define R500_RS_IP_TEX_PTR_T_SHIFT 6 5729 1.8 macallan # define R500_RS_IP_TEX_PTR_R_SHIFT 12 5730 1.8 macallan # define R500_RS_IP_TEX_PTR_Q_SHIFT 18 5731 1.8 macallan # define R500_RS_IP_COL_PTR_SHIFT 24 5732 1.8 macallan # define R500_RS_IP_COL_FMT_SHIFT 27 5733 1.8 macallan # define R500_RS_IP_COL_FMT_RGBA (0 << 27) 5734 1.8 macallan # define R500_RS_IP_OFFSET_EN (1 << 31) 5735 1.8 macallan 5736 1.8 macallan #define R500_DYN_SCLK_PWMEM_PIPE 0x000d /* PLL */ 5737 1.8 macallan 5738 1.8 macallan /* r6xx/r7xx stuff */ 5739 1.8 macallan #define R600_GRBM_STATUS 0x8010 5740 1.8 macallan # define R600_CMDFIFO_AVAIL_MASK 0x1f 5741 1.8 macallan # define R700_CMDFIFO_AVAIL_MASK 0xf 5742 1.8 macallan # define R600_GUI_ACTIVE (1 << 31) 5743 1.8 macallan 5744 1.8 macallan #define R600_GRBM_SOFT_RESET 0x8020 5745 1.8 macallan # define R600_SOFT_RESET_CP (1 << 0) 5746 1.8 macallan 5747 1.8 macallan #define R600_WAIT_UNTIL 0x8040 5748 1.8 macallan 5749 1.8 macallan #define R600_CP_ME_CNTL 0x86d8 5750 1.8 macallan # define R600_CP_ME_HALT (1 << 28) 5751 1.8 macallan 5752 1.8 macallan #define R600_CP_RB_BASE 0xc100 5753 1.8 macallan #define R600_CP_RB_CNTL 0xc104 5754 1.8 macallan # define R600_RB_NO_UPDATE (1 << 27) 5755 1.8 macallan # define R600_RB_RPTR_WR_ENA (1 << 31) 5756 1.8 macallan #define R600_CP_RB_RPTR_WR 0xc108 5757 1.8 macallan #define R600_CP_RB_RPTR_ADDR 0xc10c 5758 1.8 macallan #define R600_CP_RB_RPTR_ADDR_HI 0xc110 5759 1.8 macallan #define R600_CP_RB_WPTR 0xc114 5760 1.8 macallan #define R600_CP_RB_WPTR_ADDR 0xc118 5761 1.8 macallan #define R600_CP_RB_WPTR_ADDR_HI 0xc11c 5762 1.8 macallan 5763 1.8 macallan #define R600_CP_RB_RPTR 0x8700 5764 1.8 macallan #define R600_CP_RB_WPTR_DELAY 0x8704 5765 1.8 macallan 5766 1.1 gdamore #endif 5767