11099013bSjsg /* 21099013bSjsg * Copyright 2000 ATI Technologies Inc., Markham, Ontario, and 31099013bSjsg * VA Linux Systems Inc., Fremont, California. 41099013bSjsg * 51099013bSjsg * All Rights Reserved. 61099013bSjsg * 71099013bSjsg * Permission is hereby granted, free of charge, to any person obtaining 81099013bSjsg * a copy of this software and associated documentation files (the 91099013bSjsg * "Software"), to deal in the Software without restriction, including 101099013bSjsg * without limitation on the rights to use, copy, modify, merge, 111099013bSjsg * publish, distribute, sublicense, and/or sell copies of the Software, 121099013bSjsg * and to permit persons to whom the Software is furnished to do so, 131099013bSjsg * subject to the following conditions: 141099013bSjsg * 151099013bSjsg * The above copyright notice and this permission notice (including the 161099013bSjsg * next paragraph) shall be included in all copies or substantial 171099013bSjsg * portions of the Software. 181099013bSjsg * 191099013bSjsg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 201099013bSjsg * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 211099013bSjsg * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 221099013bSjsg * NON-INFRINGEMENT. IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR 231099013bSjsg * THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 241099013bSjsg * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 251099013bSjsg * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 261099013bSjsg * DEALINGS IN THE SOFTWARE. 271099013bSjsg */ 281099013bSjsg 291099013bSjsg /* 301099013bSjsg * Authors: 311099013bSjsg * Kevin E. Martin <martin@xfree86.org> 321099013bSjsg * Rickard E. Faith <faith@valinux.com> 331099013bSjsg * Alan Hourihane <alanh@fairlite.demon.co.uk> 341099013bSjsg * 351099013bSjsg * References: 361099013bSjsg * 371099013bSjsg * !!!! FIXME !!!! 381099013bSjsg * RAGE 128 VR/ RAGE 128 GL Register Reference Manual (Technical 391099013bSjsg * Reference Manual P/N RRG-G04100-C Rev. 0.04), ATI Technologies: April 401099013bSjsg * 1999. 411099013bSjsg * 421099013bSjsg * !!!! FIXME !!!! 431099013bSjsg * RAGE 128 Software Development Manual (Technical Reference Manual P/N 441099013bSjsg * SDK-G04000 Rev. 0.01), ATI Technologies: June 1999. 451099013bSjsg * 461099013bSjsg */ 471099013bSjsg 481099013bSjsg /* !!!! FIXME !!!! NOTE: THIS FILE HAS BEEN CONVERTED FROM r128_reg.h 491099013bSjsg * AND CONTAINS REGISTERS AND REGISTER DEFINITIONS THAT ARE NOT CORRECT 501099013bSjsg * ON THE RADEON. A FULL AUDIT OF THIS CODE IS NEEDED! */ 511099013bSjsg #ifndef _RADEON_REG_H_ 521099013bSjsg #define _RADEON_REG_H_ 531099013bSjsg 541099013bSjsg #include "r300_reg.h" 551099013bSjsg #include "r500_reg.h" 561099013bSjsg #include "r600_reg.h" 571099013bSjsg #include "evergreen_reg.h" 581099013bSjsg #include "ni_reg.h" 591099013bSjsg #include "si_reg.h" 60*7ccd5a2cSjsg #include "cik_reg.h" 611099013bSjsg 621099013bSjsg #define RADEON_MC_AGP_LOCATION 0x014c 631099013bSjsg #define RADEON_MC_AGP_START_MASK 0x0000FFFF 641099013bSjsg #define RADEON_MC_AGP_START_SHIFT 0 651099013bSjsg #define RADEON_MC_AGP_TOP_MASK 0xFFFF0000 661099013bSjsg #define RADEON_MC_AGP_TOP_SHIFT 16 671099013bSjsg #define RADEON_MC_FB_LOCATION 0x0148 681099013bSjsg #define RADEON_MC_FB_START_MASK 0x0000FFFF 691099013bSjsg #define RADEON_MC_FB_START_SHIFT 0 701099013bSjsg #define RADEON_MC_FB_TOP_MASK 0xFFFF0000 711099013bSjsg #define RADEON_MC_FB_TOP_SHIFT 16 721099013bSjsg #define RADEON_AGP_BASE_2 0x015c /* r200+ only */ 731099013bSjsg #define RADEON_AGP_BASE 0x0170 741099013bSjsg 751099013bSjsg #define ATI_DATATYPE_VQ 0 761099013bSjsg #define ATI_DATATYPE_CI4 1 771099013bSjsg #define ATI_DATATYPE_CI8 2 781099013bSjsg #define ATI_DATATYPE_ARGB1555 3 791099013bSjsg #define ATI_DATATYPE_RGB565 4 801099013bSjsg #define ATI_DATATYPE_RGB888 5 811099013bSjsg #define ATI_DATATYPE_ARGB8888 6 821099013bSjsg #define ATI_DATATYPE_RGB332 7 831099013bSjsg #define ATI_DATATYPE_Y8 8 841099013bSjsg #define ATI_DATATYPE_RGB8 9 851099013bSjsg #define ATI_DATATYPE_CI16 10 861099013bSjsg #define ATI_DATATYPE_VYUY_422 11 871099013bSjsg #define ATI_DATATYPE_YVYU_422 12 881099013bSjsg #define ATI_DATATYPE_AYUV_444 14 891099013bSjsg #define ATI_DATATYPE_ARGB4444 15 901099013bSjsg 911099013bSjsg /* Registers for 2D/Video/Overlay */ 921099013bSjsg #define RADEON_ADAPTER_ID 0x0f2c /* PCI */ 931099013bSjsg #define RADEON_AGP_BASE 0x0170 941099013bSjsg #define RADEON_AGP_CNTL 0x0174 951099013bSjsg # define RADEON_AGP_APER_SIZE_256MB (0x00 << 0) 961099013bSjsg # define RADEON_AGP_APER_SIZE_128MB (0x20 << 0) 971099013bSjsg # define RADEON_AGP_APER_SIZE_64MB (0x30 << 0) 981099013bSjsg # define RADEON_AGP_APER_SIZE_32MB (0x38 << 0) 991099013bSjsg # define RADEON_AGP_APER_SIZE_16MB (0x3c << 0) 1001099013bSjsg # define RADEON_AGP_APER_SIZE_8MB (0x3e << 0) 1011099013bSjsg # define RADEON_AGP_APER_SIZE_4MB (0x3f << 0) 1021099013bSjsg # define RADEON_AGP_APER_SIZE_MASK (0x3f << 0) 1031099013bSjsg #define RADEON_STATUS_PCI_CONFIG 0x06 1041099013bSjsg # define RADEON_CAP_LIST 0x100000 1051099013bSjsg #define RADEON_CAPABILITIES_PTR_PCI_CONFIG 0x34 /* offset in PCI config*/ 1061099013bSjsg # define RADEON_CAP_PTR_MASK 0xfc /* mask off reserved bits of CAP_PTR */ 1071099013bSjsg # define RADEON_CAP_ID_NULL 0x00 /* End of capability list */ 1081099013bSjsg # define RADEON_CAP_ID_AGP 0x02 /* AGP capability ID */ 1091099013bSjsg # define RADEON_CAP_ID_EXP 0x10 /* PCI Express */ 1101099013bSjsg #define RADEON_AGP_COMMAND 0x0f60 /* PCI */ 1111099013bSjsg #define RADEON_AGP_COMMAND_PCI_CONFIG 0x0060 /* offset in PCI config*/ 1121099013bSjsg # define RADEON_AGP_ENABLE (1<<8) 1131099013bSjsg #define RADEON_AGP_PLL_CNTL 0x000b /* PLL */ 1141099013bSjsg #define RADEON_AGP_STATUS 0x0f5c /* PCI */ 1151099013bSjsg # define RADEON_AGP_1X_MODE 0x01 1161099013bSjsg # define RADEON_AGP_2X_MODE 0x02 1171099013bSjsg # define RADEON_AGP_4X_MODE 0x04 1181099013bSjsg # define RADEON_AGP_FW_MODE 0x10 1191099013bSjsg # define RADEON_AGP_MODE_MASK 0x17 1201099013bSjsg # define RADEON_AGPv3_MODE 0x08 1211099013bSjsg # define RADEON_AGPv3_4X_MODE 0x01 1221099013bSjsg # define RADEON_AGPv3_8X_MODE 0x02 1231099013bSjsg #define RADEON_ATTRDR 0x03c1 /* VGA */ 1241099013bSjsg #define RADEON_ATTRDW 0x03c0 /* VGA */ 1251099013bSjsg #define RADEON_ATTRX 0x03c0 /* VGA */ 1261099013bSjsg #define RADEON_AUX_SC_CNTL 0x1660 1271099013bSjsg # define RADEON_AUX1_SC_EN (1 << 0) 1281099013bSjsg # define RADEON_AUX1_SC_MODE_OR (0 << 1) 1291099013bSjsg # define RADEON_AUX1_SC_MODE_NAND (1 << 1) 1301099013bSjsg # define RADEON_AUX2_SC_EN (1 << 2) 1311099013bSjsg # define RADEON_AUX2_SC_MODE_OR (0 << 3) 1321099013bSjsg # define RADEON_AUX2_SC_MODE_NAND (1 << 3) 1331099013bSjsg # define RADEON_AUX3_SC_EN (1 << 4) 1341099013bSjsg # define RADEON_AUX3_SC_MODE_OR (0 << 5) 1351099013bSjsg # define RADEON_AUX3_SC_MODE_NAND (1 << 5) 1361099013bSjsg #define RADEON_AUX1_SC_BOTTOM 0x1670 1371099013bSjsg #define RADEON_AUX1_SC_LEFT 0x1664 1381099013bSjsg #define RADEON_AUX1_SC_RIGHT 0x1668 1391099013bSjsg #define RADEON_AUX1_SC_TOP 0x166c 1401099013bSjsg #define RADEON_AUX2_SC_BOTTOM 0x1680 1411099013bSjsg #define RADEON_AUX2_SC_LEFT 0x1674 1421099013bSjsg #define RADEON_AUX2_SC_RIGHT 0x1678 1431099013bSjsg #define RADEON_AUX2_SC_TOP 0x167c 1441099013bSjsg #define RADEON_AUX3_SC_BOTTOM 0x1690 1451099013bSjsg #define RADEON_AUX3_SC_LEFT 0x1684 1461099013bSjsg #define RADEON_AUX3_SC_RIGHT 0x1688 1471099013bSjsg #define RADEON_AUX3_SC_TOP 0x168c 1481099013bSjsg #define RADEON_AUX_WINDOW_HORZ_CNTL 0x02d8 1491099013bSjsg #define RADEON_AUX_WINDOW_VERT_CNTL 0x02dc 1501099013bSjsg 1511099013bSjsg #define RADEON_BASE_CODE 0x0f0b 1521099013bSjsg #define RADEON_BIOS_0_SCRATCH 0x0010 1531099013bSjsg # define RADEON_FP_PANEL_SCALABLE (1 << 16) 1541099013bSjsg # define RADEON_FP_PANEL_SCALE_EN (1 << 17) 1551099013bSjsg # define RADEON_FP_CHIP_SCALE_EN (1 << 18) 1561099013bSjsg # define RADEON_DRIVER_BRIGHTNESS_EN (1 << 26) 1571099013bSjsg # define RADEON_DISPLAY_ROT_MASK (3 << 28) 1581099013bSjsg # define RADEON_DISPLAY_ROT_00 (0 << 28) 1591099013bSjsg # define RADEON_DISPLAY_ROT_90 (1 << 28) 1601099013bSjsg # define RADEON_DISPLAY_ROT_180 (2 << 28) 1611099013bSjsg # define RADEON_DISPLAY_ROT_270 (3 << 28) 1621099013bSjsg #define RADEON_BIOS_1_SCRATCH 0x0014 1631099013bSjsg #define RADEON_BIOS_2_SCRATCH 0x0018 1641099013bSjsg #define RADEON_BIOS_3_SCRATCH 0x001c 1651099013bSjsg #define RADEON_BIOS_4_SCRATCH 0x0020 1661099013bSjsg # define RADEON_CRT1_ATTACHED_MASK (3 << 0) 1671099013bSjsg # define RADEON_CRT1_ATTACHED_MONO (1 << 0) 1681099013bSjsg # define RADEON_CRT1_ATTACHED_COLOR (2 << 0) 1691099013bSjsg # define RADEON_LCD1_ATTACHED (1 << 2) 1701099013bSjsg # define RADEON_DFP1_ATTACHED (1 << 3) 1711099013bSjsg # define RADEON_TV1_ATTACHED_MASK (3 << 4) 1721099013bSjsg # define RADEON_TV1_ATTACHED_COMP (1 << 4) 1731099013bSjsg # define RADEON_TV1_ATTACHED_SVIDEO (2 << 4) 1741099013bSjsg # define RADEON_CRT2_ATTACHED_MASK (3 << 8) 1751099013bSjsg # define RADEON_CRT2_ATTACHED_MONO (1 << 8) 1761099013bSjsg # define RADEON_CRT2_ATTACHED_COLOR (2 << 8) 1771099013bSjsg # define RADEON_DFP2_ATTACHED (1 << 11) 1781099013bSjsg #define RADEON_BIOS_5_SCRATCH 0x0024 1791099013bSjsg # define RADEON_LCD1_ON (1 << 0) 1801099013bSjsg # define RADEON_CRT1_ON (1 << 1) 1811099013bSjsg # define RADEON_TV1_ON (1 << 2) 1821099013bSjsg # define RADEON_DFP1_ON (1 << 3) 1831099013bSjsg # define RADEON_CRT2_ON (1 << 5) 1841099013bSjsg # define RADEON_CV1_ON (1 << 6) 1851099013bSjsg # define RADEON_DFP2_ON (1 << 7) 1861099013bSjsg # define RADEON_LCD1_CRTC_MASK (1 << 8) 1871099013bSjsg # define RADEON_LCD1_CRTC_SHIFT 8 1881099013bSjsg # define RADEON_CRT1_CRTC_MASK (1 << 9) 1891099013bSjsg # define RADEON_CRT1_CRTC_SHIFT 9 1901099013bSjsg # define RADEON_TV1_CRTC_MASK (1 << 10) 1911099013bSjsg # define RADEON_TV1_CRTC_SHIFT 10 1921099013bSjsg # define RADEON_DFP1_CRTC_MASK (1 << 11) 1931099013bSjsg # define RADEON_DFP1_CRTC_SHIFT 11 1941099013bSjsg # define RADEON_CRT2_CRTC_MASK (1 << 12) 1951099013bSjsg # define RADEON_CRT2_CRTC_SHIFT 12 1961099013bSjsg # define RADEON_CV1_CRTC_MASK (1 << 13) 1971099013bSjsg # define RADEON_CV1_CRTC_SHIFT 13 1981099013bSjsg # define RADEON_DFP2_CRTC_MASK (1 << 14) 1991099013bSjsg # define RADEON_DFP2_CRTC_SHIFT 14 2001099013bSjsg # define RADEON_ACC_REQ_LCD1 (1 << 16) 2011099013bSjsg # define RADEON_ACC_REQ_CRT1 (1 << 17) 2021099013bSjsg # define RADEON_ACC_REQ_TV1 (1 << 18) 2031099013bSjsg # define RADEON_ACC_REQ_DFP1 (1 << 19) 2041099013bSjsg # define RADEON_ACC_REQ_CRT2 (1 << 21) 2051099013bSjsg # define RADEON_ACC_REQ_TV2 (1 << 22) 2061099013bSjsg # define RADEON_ACC_REQ_DFP2 (1 << 23) 2071099013bSjsg #define RADEON_BIOS_6_SCRATCH 0x0028 2081099013bSjsg # define RADEON_ACC_MODE_CHANGE (1 << 2) 2091099013bSjsg # define RADEON_EXT_DESKTOP_MODE (1 << 3) 2101099013bSjsg # define RADEON_LCD_DPMS_ON (1 << 20) 2111099013bSjsg # define RADEON_CRT_DPMS_ON (1 << 21) 2121099013bSjsg # define RADEON_TV_DPMS_ON (1 << 22) 2131099013bSjsg # define RADEON_DFP_DPMS_ON (1 << 23) 2141099013bSjsg # define RADEON_DPMS_MASK (3 << 24) 2151099013bSjsg # define RADEON_DPMS_ON (0 << 24) 2161099013bSjsg # define RADEON_DPMS_STANDBY (1 << 24) 2171099013bSjsg # define RADEON_DPMS_SUSPEND (2 << 24) 2181099013bSjsg # define RADEON_DPMS_OFF (3 << 24) 2191099013bSjsg # define RADEON_SCREEN_BLANKING (1 << 26) 2201099013bSjsg # define RADEON_DRIVER_CRITICAL (1 << 27) 2211099013bSjsg # define RADEON_DISPLAY_SWITCHING_DIS (1 << 30) 2221099013bSjsg #define RADEON_BIOS_7_SCRATCH 0x002c 2231099013bSjsg # define RADEON_SYS_HOTKEY (1 << 10) 2241099013bSjsg # define RADEON_DRV_LOADED (1 << 12) 2251099013bSjsg #define RADEON_BIOS_ROM 0x0f30 /* PCI */ 2261099013bSjsg #define RADEON_BIST 0x0f0f /* PCI */ 2271099013bSjsg #define RADEON_BRUSH_DATA0 0x1480 2281099013bSjsg #define RADEON_BRUSH_DATA1 0x1484 2291099013bSjsg #define RADEON_BRUSH_DATA10 0x14a8 2301099013bSjsg #define RADEON_BRUSH_DATA11 0x14ac 2311099013bSjsg #define RADEON_BRUSH_DATA12 0x14b0 2321099013bSjsg #define RADEON_BRUSH_DATA13 0x14b4 2331099013bSjsg #define RADEON_BRUSH_DATA14 0x14b8 2341099013bSjsg #define RADEON_BRUSH_DATA15 0x14bc 2351099013bSjsg #define RADEON_BRUSH_DATA16 0x14c0 2361099013bSjsg #define RADEON_BRUSH_DATA17 0x14c4 2371099013bSjsg #define RADEON_BRUSH_DATA18 0x14c8 2381099013bSjsg #define RADEON_BRUSH_DATA19 0x14cc 2391099013bSjsg #define RADEON_BRUSH_DATA2 0x1488 2401099013bSjsg #define RADEON_BRUSH_DATA20 0x14d0 2411099013bSjsg #define RADEON_BRUSH_DATA21 0x14d4 2421099013bSjsg #define RADEON_BRUSH_DATA22 0x14d8 2431099013bSjsg #define RADEON_BRUSH_DATA23 0x14dc 2441099013bSjsg #define RADEON_BRUSH_DATA24 0x14e0 2451099013bSjsg #define RADEON_BRUSH_DATA25 0x14e4 2461099013bSjsg #define RADEON_BRUSH_DATA26 0x14e8 2471099013bSjsg #define RADEON_BRUSH_DATA27 0x14ec 2481099013bSjsg #define RADEON_BRUSH_DATA28 0x14f0 2491099013bSjsg #define RADEON_BRUSH_DATA29 0x14f4 2501099013bSjsg #define RADEON_BRUSH_DATA3 0x148c 2511099013bSjsg #define RADEON_BRUSH_DATA30 0x14f8 2521099013bSjsg #define RADEON_BRUSH_DATA31 0x14fc 2531099013bSjsg #define RADEON_BRUSH_DATA32 0x1500 2541099013bSjsg #define RADEON_BRUSH_DATA33 0x1504 2551099013bSjsg #define RADEON_BRUSH_DATA34 0x1508 2561099013bSjsg #define RADEON_BRUSH_DATA35 0x150c 2571099013bSjsg #define RADEON_BRUSH_DATA36 0x1510 2581099013bSjsg #define RADEON_BRUSH_DATA37 0x1514 2591099013bSjsg #define RADEON_BRUSH_DATA38 0x1518 2601099013bSjsg #define RADEON_BRUSH_DATA39 0x151c 2611099013bSjsg #define RADEON_BRUSH_DATA4 0x1490 2621099013bSjsg #define RADEON_BRUSH_DATA40 0x1520 2631099013bSjsg #define RADEON_BRUSH_DATA41 0x1524 2641099013bSjsg #define RADEON_BRUSH_DATA42 0x1528 2651099013bSjsg #define RADEON_BRUSH_DATA43 0x152c 2661099013bSjsg #define RADEON_BRUSH_DATA44 0x1530 2671099013bSjsg #define RADEON_BRUSH_DATA45 0x1534 2681099013bSjsg #define RADEON_BRUSH_DATA46 0x1538 2691099013bSjsg #define RADEON_BRUSH_DATA47 0x153c 2701099013bSjsg #define RADEON_BRUSH_DATA48 0x1540 2711099013bSjsg #define RADEON_BRUSH_DATA49 0x1544 2721099013bSjsg #define RADEON_BRUSH_DATA5 0x1494 2731099013bSjsg #define RADEON_BRUSH_DATA50 0x1548 2741099013bSjsg #define RADEON_BRUSH_DATA51 0x154c 2751099013bSjsg #define RADEON_BRUSH_DATA52 0x1550 2761099013bSjsg #define RADEON_BRUSH_DATA53 0x1554 2771099013bSjsg #define RADEON_BRUSH_DATA54 0x1558 2781099013bSjsg #define RADEON_BRUSH_DATA55 0x155c 2791099013bSjsg #define RADEON_BRUSH_DATA56 0x1560 2801099013bSjsg #define RADEON_BRUSH_DATA57 0x1564 2811099013bSjsg #define RADEON_BRUSH_DATA58 0x1568 2821099013bSjsg #define RADEON_BRUSH_DATA59 0x156c 2831099013bSjsg #define RADEON_BRUSH_DATA6 0x1498 2841099013bSjsg #define RADEON_BRUSH_DATA60 0x1570 2851099013bSjsg #define RADEON_BRUSH_DATA61 0x1574 2861099013bSjsg #define RADEON_BRUSH_DATA62 0x1578 2871099013bSjsg #define RADEON_BRUSH_DATA63 0x157c 2881099013bSjsg #define RADEON_BRUSH_DATA7 0x149c 2891099013bSjsg #define RADEON_BRUSH_DATA8 0x14a0 2901099013bSjsg #define RADEON_BRUSH_DATA9 0x14a4 2911099013bSjsg #define RADEON_BRUSH_SCALE 0x1470 2921099013bSjsg #define RADEON_BRUSH_Y_X 0x1474 2931099013bSjsg #define RADEON_BUS_CNTL 0x0030 2941099013bSjsg # define RADEON_BUS_MASTER_DIS (1 << 6) 2951099013bSjsg # define RADEON_BUS_BIOS_DIS_ROM (1 << 12) 2961099013bSjsg # define RS600_BUS_MASTER_DIS (1 << 14) 2971099013bSjsg # define RS600_MSI_REARM (1 << 20) /* rs600/rs690/rs740 */ 2981099013bSjsg # define RADEON_BUS_RD_DISCARD_EN (1 << 24) 2991099013bSjsg # define RADEON_BUS_RD_ABORT_EN (1 << 25) 3001099013bSjsg # define RADEON_BUS_MSTR_DISCONNECT_EN (1 << 28) 3011099013bSjsg # define RADEON_BUS_WRT_BURST (1 << 29) 3021099013bSjsg # define RADEON_BUS_READ_BURST (1 << 30) 3031099013bSjsg #define RADEON_BUS_CNTL1 0x0034 3041099013bSjsg # define RADEON_BUS_WAIT_ON_LOCK_EN (1 << 4) 3051099013bSjsg #define RV370_BUS_CNTL 0x004c 3061099013bSjsg # define RV370_BUS_BIOS_DIS_ROM (1 << 2) 3071099013bSjsg /* rv370/rv380, rv410, r423/r430/r480, r5xx */ 3081099013bSjsg #define RADEON_MSI_REARM_EN 0x0160 3091099013bSjsg # define RV370_MSI_REARM_EN (1 << 0) 3101099013bSjsg 3111099013bSjsg /* #define RADEON_PCIE_INDEX 0x0030 */ 3121099013bSjsg /* #define RADEON_PCIE_DATA 0x0034 */ 3131099013bSjsg #define RADEON_PCIE_LC_LINK_WIDTH_CNTL 0xa2 /* PCIE */ 3141099013bSjsg # define RADEON_PCIE_LC_LINK_WIDTH_SHIFT 0 3151099013bSjsg # define RADEON_PCIE_LC_LINK_WIDTH_MASK 0x7 3161099013bSjsg # define RADEON_PCIE_LC_LINK_WIDTH_X0 0 3171099013bSjsg # define RADEON_PCIE_LC_LINK_WIDTH_X1 1 3181099013bSjsg # define RADEON_PCIE_LC_LINK_WIDTH_X2 2 3191099013bSjsg # define RADEON_PCIE_LC_LINK_WIDTH_X4 3 3201099013bSjsg # define RADEON_PCIE_LC_LINK_WIDTH_X8 4 3211099013bSjsg # define RADEON_PCIE_LC_LINK_WIDTH_X12 5 3221099013bSjsg # define RADEON_PCIE_LC_LINK_WIDTH_X16 6 3231099013bSjsg # define RADEON_PCIE_LC_LINK_WIDTH_RD_SHIFT 4 3241099013bSjsg # define RADEON_PCIE_LC_LINK_WIDTH_RD_MASK 0x70 3251099013bSjsg # define RADEON_PCIE_LC_RECONFIG_NOW (1 << 8) 3261099013bSjsg # define RADEON_PCIE_LC_RECONFIG_LATER (1 << 9) 3271099013bSjsg # define RADEON_PCIE_LC_SHORT_RECONFIG_EN (1 << 10) 3281099013bSjsg # define R600_PCIE_LC_RECONFIG_ARC_MISSING_ESCAPE (1 << 7) 3291099013bSjsg # define R600_PCIE_LC_RENEGOTIATION_SUPPORT (1 << 9) 3301099013bSjsg # define R600_PCIE_LC_RENEGOTIATE_EN (1 << 10) 3311099013bSjsg # define R600_PCIE_LC_SHORT_RECONFIG_EN (1 << 11) 3321099013bSjsg # define R600_PCIE_LC_UPCONFIGURE_SUPPORT (1 << 12) 3331099013bSjsg # define R600_PCIE_LC_UPCONFIGURE_DIS (1 << 13) 3341099013bSjsg 3351099013bSjsg #define R600_TARGET_AND_CURRENT_PROFILE_INDEX 0x70c 3361099013bSjsg #define R700_TARGET_AND_CURRENT_PROFILE_INDEX 0x66c 3371099013bSjsg 3381099013bSjsg #define RADEON_CACHE_CNTL 0x1724 3391099013bSjsg #define RADEON_CACHE_LINE 0x0f0c /* PCI */ 3401099013bSjsg #define RADEON_CAPABILITIES_ID 0x0f50 /* PCI */ 3411099013bSjsg #define RADEON_CAPABILITIES_PTR 0x0f34 /* PCI */ 3421099013bSjsg #define RADEON_CLK_PIN_CNTL 0x0001 /* PLL */ 3431099013bSjsg # define RADEON_DONT_USE_XTALIN (1 << 4) 3441099013bSjsg # define RADEON_SCLK_DYN_START_CNTL (1 << 15) 3451099013bSjsg #define RADEON_CLOCK_CNTL_DATA 0x000c 3461099013bSjsg #define RADEON_CLOCK_CNTL_INDEX 0x0008 3471099013bSjsg # define RADEON_PLL_WR_EN (1 << 7) 3481099013bSjsg # define RADEON_PLL_DIV_SEL (3 << 8) 3491099013bSjsg # define RADEON_PLL2_DIV_SEL_MASK (~(3 << 8)) 3501099013bSjsg #define RADEON_CLK_PWRMGT_CNTL 0x0014 3511099013bSjsg # define RADEON_ENGIN_DYNCLK_MODE (1 << 12) 3521099013bSjsg # define RADEON_ACTIVE_HILO_LAT_MASK (3 << 13) 3531099013bSjsg # define RADEON_ACTIVE_HILO_LAT_SHIFT 13 3541099013bSjsg # define RADEON_DISP_DYN_STOP_LAT_MASK (1 << 12) 3551099013bSjsg # define RADEON_MC_BUSY (1 << 16) 3561099013bSjsg # define RADEON_DLL_READY (1 << 19) 3571099013bSjsg # define RADEON_CG_NO1_DEBUG_0 (1 << 24) 3581099013bSjsg # define RADEON_CG_NO1_DEBUG_MASK (0x1f << 24) 3591099013bSjsg # define RADEON_DYN_STOP_MODE_MASK (7 << 21) 3601099013bSjsg # define RADEON_TVPLL_PWRMGT_OFF (1 << 30) 3611099013bSjsg # define RADEON_TVCLK_TURNOFF (1 << 31) 3621099013bSjsg #define RADEON_PLL_PWRMGT_CNTL 0x0015 /* PLL */ 3631099013bSjsg # define RADEON_PM_MODE_SEL (1 << 13) 3641099013bSjsg # define RADEON_TCL_BYPASS_DISABLE (1 << 20) 3651099013bSjsg #define RADEON_CLR_CMP_CLR_3D 0x1a24 3661099013bSjsg #define RADEON_CLR_CMP_CLR_DST 0x15c8 3671099013bSjsg #define RADEON_CLR_CMP_CLR_SRC 0x15c4 3681099013bSjsg #define RADEON_CLR_CMP_CNTL 0x15c0 3691099013bSjsg # define RADEON_SRC_CMP_EQ_COLOR (4 << 0) 3701099013bSjsg # define RADEON_SRC_CMP_NEQ_COLOR (5 << 0) 3711099013bSjsg # define RADEON_CLR_CMP_SRC_SOURCE (1 << 24) 3721099013bSjsg #define RADEON_CLR_CMP_MASK 0x15cc 3731099013bSjsg # define RADEON_CLR_CMP_MSK 0xffffffff 3741099013bSjsg #define RADEON_CLR_CMP_MASK_3D 0x1A28 3751099013bSjsg #define RADEON_COMMAND 0x0f04 /* PCI */ 3761099013bSjsg #define RADEON_COMPOSITE_SHADOW_ID 0x1a0c 3771099013bSjsg #define RADEON_CONFIG_APER_0_BASE 0x0100 3781099013bSjsg #define RADEON_CONFIG_APER_1_BASE 0x0104 3791099013bSjsg #define RADEON_CONFIG_APER_SIZE 0x0108 3801099013bSjsg #define RADEON_CONFIG_BONDS 0x00e8 3811099013bSjsg #define RADEON_CONFIG_CNTL 0x00e0 3821099013bSjsg # define RADEON_CFG_VGA_RAM_EN (1 << 8) 3831099013bSjsg # define RADEON_CFG_VGA_IO_DIS (1 << 9) 3841099013bSjsg # define RADEON_CFG_ATI_REV_A11 (0 << 16) 3851099013bSjsg # define RADEON_CFG_ATI_REV_A12 (1 << 16) 3861099013bSjsg # define RADEON_CFG_ATI_REV_A13 (2 << 16) 3871099013bSjsg # define RADEON_CFG_ATI_REV_ID_MASK (0xf << 16) 3881099013bSjsg #define RADEON_CONFIG_MEMSIZE 0x00f8 3891099013bSjsg #define RADEON_CONFIG_MEMSIZE_EMBEDDED 0x0114 3901099013bSjsg #define RADEON_CONFIG_REG_1_BASE 0x010c 3911099013bSjsg #define RADEON_CONFIG_REG_APER_SIZE 0x0110 3921099013bSjsg #define RADEON_CONFIG_XSTRAP 0x00e4 3931099013bSjsg #define RADEON_CONSTANT_COLOR_C 0x1d34 3941099013bSjsg # define RADEON_CONSTANT_COLOR_MASK 0x00ffffff 3951099013bSjsg # define RADEON_CONSTANT_COLOR_ONE 0x00ffffff 3961099013bSjsg # define RADEON_CONSTANT_COLOR_ZERO 0x00000000 3971099013bSjsg #define RADEON_CRC_CMDFIFO_ADDR 0x0740 3981099013bSjsg #define RADEON_CRC_CMDFIFO_DOUT 0x0744 3991099013bSjsg #define RADEON_GRPH_BUFFER_CNTL 0x02f0 4001099013bSjsg # define RADEON_GRPH_START_REQ_MASK (0x7f) 4011099013bSjsg # define RADEON_GRPH_START_REQ_SHIFT 0 4021099013bSjsg # define RADEON_GRPH_STOP_REQ_MASK (0x7f<<8) 4031099013bSjsg # define RADEON_GRPH_STOP_REQ_SHIFT 8 4041099013bSjsg # define RADEON_GRPH_CRITICAL_POINT_MASK (0x7f<<16) 4051099013bSjsg # define RADEON_GRPH_CRITICAL_POINT_SHIFT 16 4061099013bSjsg # define RADEON_GRPH_CRITICAL_CNTL (1<<28) 4071099013bSjsg # define RADEON_GRPH_BUFFER_SIZE (1<<29) 4081099013bSjsg # define RADEON_GRPH_CRITICAL_AT_SOF (1<<30) 4091099013bSjsg # define RADEON_GRPH_STOP_CNTL (1<<31) 4101099013bSjsg #define RADEON_GRPH2_BUFFER_CNTL 0x03f0 4111099013bSjsg # define RADEON_GRPH2_START_REQ_MASK (0x7f) 4121099013bSjsg # define RADEON_GRPH2_START_REQ_SHIFT 0 4131099013bSjsg # define RADEON_GRPH2_STOP_REQ_MASK (0x7f<<8) 4141099013bSjsg # define RADEON_GRPH2_STOP_REQ_SHIFT 8 4151099013bSjsg # define RADEON_GRPH2_CRITICAL_POINT_MASK (0x7f<<16) 4161099013bSjsg # define RADEON_GRPH2_CRITICAL_POINT_SHIFT 16 4171099013bSjsg # define RADEON_GRPH2_CRITICAL_CNTL (1<<28) 4181099013bSjsg # define RADEON_GRPH2_BUFFER_SIZE (1<<29) 4191099013bSjsg # define RADEON_GRPH2_CRITICAL_AT_SOF (1<<30) 4201099013bSjsg # define RADEON_GRPH2_STOP_CNTL (1<<31) 4211099013bSjsg #define RADEON_CRTC_CRNT_FRAME 0x0214 4221099013bSjsg #define RADEON_CRTC_EXT_CNTL 0x0054 4231099013bSjsg # define RADEON_CRTC_VGA_XOVERSCAN (1 << 0) 4241099013bSjsg # define RADEON_VGA_ATI_LINEAR (1 << 3) 4251099013bSjsg # define RADEON_XCRT_CNT_EN (1 << 6) 4261099013bSjsg # define RADEON_CRTC_HSYNC_DIS (1 << 8) 4271099013bSjsg # define RADEON_CRTC_VSYNC_DIS (1 << 9) 4281099013bSjsg # define RADEON_CRTC_DISPLAY_DIS (1 << 10) 4291099013bSjsg # define RADEON_CRTC_SYNC_TRISTAT (1 << 11) 4301099013bSjsg # define RADEON_CRTC_CRT_ON (1 << 15) 4311099013bSjsg #define RADEON_CRTC_EXT_CNTL_DPMS_BYTE 0x0055 4321099013bSjsg # define RADEON_CRTC_HSYNC_DIS_BYTE (1 << 0) 4331099013bSjsg # define RADEON_CRTC_VSYNC_DIS_BYTE (1 << 1) 4341099013bSjsg # define RADEON_CRTC_DISPLAY_DIS_BYTE (1 << 2) 4351099013bSjsg #define RADEON_CRTC_GEN_CNTL 0x0050 4361099013bSjsg # define RADEON_CRTC_DBL_SCAN_EN (1 << 0) 4371099013bSjsg # define RADEON_CRTC_INTERLACE_EN (1 << 1) 4381099013bSjsg # define RADEON_CRTC_CSYNC_EN (1 << 4) 4391099013bSjsg # define RADEON_CRTC_ICON_EN (1 << 15) 4401099013bSjsg # define RADEON_CRTC_CUR_EN (1 << 16) 4411099013bSjsg # define RADEON_CRTC_VSTAT_MODE_MASK (3 << 17) 4421099013bSjsg # define RADEON_CRTC_CUR_MODE_MASK (7 << 20) 4431099013bSjsg # define RADEON_CRTC_CUR_MODE_SHIFT 20 4441099013bSjsg # define RADEON_CRTC_CUR_MODE_MONO 0 4451099013bSjsg # define RADEON_CRTC_CUR_MODE_24BPP 2 4461099013bSjsg # define RADEON_CRTC_EXT_DISP_EN (1 << 24) 4471099013bSjsg # define RADEON_CRTC_EN (1 << 25) 4481099013bSjsg # define RADEON_CRTC_DISP_REQ_EN_B (1 << 26) 4491099013bSjsg #define RADEON_CRTC2_GEN_CNTL 0x03f8 4501099013bSjsg # define RADEON_CRTC2_DBL_SCAN_EN (1 << 0) 4511099013bSjsg # define RADEON_CRTC2_INTERLACE_EN (1 << 1) 4521099013bSjsg # define RADEON_CRTC2_SYNC_TRISTAT (1 << 4) 4531099013bSjsg # define RADEON_CRTC2_HSYNC_TRISTAT (1 << 5) 4541099013bSjsg # define RADEON_CRTC2_VSYNC_TRISTAT (1 << 6) 4551099013bSjsg # define RADEON_CRTC2_CRT2_ON (1 << 7) 4561099013bSjsg # define RADEON_CRTC2_PIX_WIDTH_SHIFT 8 4571099013bSjsg # define RADEON_CRTC2_PIX_WIDTH_MASK (0xf << 8) 4581099013bSjsg # define RADEON_CRTC2_ICON_EN (1 << 15) 4591099013bSjsg # define RADEON_CRTC2_CUR_EN (1 << 16) 4601099013bSjsg # define RADEON_CRTC2_CUR_MODE_MASK (7 << 20) 4611099013bSjsg # define RADEON_CRTC2_DISP_DIS (1 << 23) 4621099013bSjsg # define RADEON_CRTC2_EN (1 << 25) 4631099013bSjsg # define RADEON_CRTC2_DISP_REQ_EN_B (1 << 26) 4641099013bSjsg # define RADEON_CRTC2_CSYNC_EN (1 << 27) 4651099013bSjsg # define RADEON_CRTC2_HSYNC_DIS (1 << 28) 4661099013bSjsg # define RADEON_CRTC2_VSYNC_DIS (1 << 29) 4671099013bSjsg #define RADEON_CRTC_MORE_CNTL 0x27c 4681099013bSjsg # define RADEON_CRTC_AUTO_HORZ_CENTER_EN (1<<2) 4691099013bSjsg # define RADEON_CRTC_AUTO_VERT_CENTER_EN (1<<3) 4701099013bSjsg # define RADEON_CRTC_H_CUTOFF_ACTIVE_EN (1<<4) 4711099013bSjsg # define RADEON_CRTC_V_CUTOFF_ACTIVE_EN (1<<5) 4721099013bSjsg #define RADEON_CRTC_GUI_TRIG_VLINE 0x0218 4731099013bSjsg #define RADEON_CRTC_H_SYNC_STRT_WID 0x0204 4741099013bSjsg # define RADEON_CRTC_H_SYNC_STRT_PIX (0x07 << 0) 4751099013bSjsg # define RADEON_CRTC_H_SYNC_STRT_CHAR (0x3ff << 3) 4761099013bSjsg # define RADEON_CRTC_H_SYNC_STRT_CHAR_SHIFT 3 4771099013bSjsg # define RADEON_CRTC_H_SYNC_WID (0x3f << 16) 4781099013bSjsg # define RADEON_CRTC_H_SYNC_WID_SHIFT 16 4791099013bSjsg # define RADEON_CRTC_H_SYNC_POL (1 << 23) 4801099013bSjsg #define RADEON_CRTC2_H_SYNC_STRT_WID 0x0304 4811099013bSjsg # define RADEON_CRTC2_H_SYNC_STRT_PIX (0x07 << 0) 4821099013bSjsg # define RADEON_CRTC2_H_SYNC_STRT_CHAR (0x3ff << 3) 4831099013bSjsg # define RADEON_CRTC2_H_SYNC_STRT_CHAR_SHIFT 3 4841099013bSjsg # define RADEON_CRTC2_H_SYNC_WID (0x3f << 16) 4851099013bSjsg # define RADEON_CRTC2_H_SYNC_WID_SHIFT 16 4861099013bSjsg # define RADEON_CRTC2_H_SYNC_POL (1 << 23) 4871099013bSjsg #define RADEON_CRTC_H_TOTAL_DISP 0x0200 4881099013bSjsg # define RADEON_CRTC_H_TOTAL (0x03ff << 0) 4891099013bSjsg # define RADEON_CRTC_H_TOTAL_SHIFT 0 4901099013bSjsg # define RADEON_CRTC_H_DISP (0x01ff << 16) 4911099013bSjsg # define RADEON_CRTC_H_DISP_SHIFT 16 4921099013bSjsg #define RADEON_CRTC2_H_TOTAL_DISP 0x0300 4931099013bSjsg # define RADEON_CRTC2_H_TOTAL (0x03ff << 0) 4941099013bSjsg # define RADEON_CRTC2_H_TOTAL_SHIFT 0 4951099013bSjsg # define RADEON_CRTC2_H_DISP (0x01ff << 16) 4961099013bSjsg # define RADEON_CRTC2_H_DISP_SHIFT 16 4971099013bSjsg 4981099013bSjsg #define RADEON_CRTC_OFFSET_RIGHT 0x0220 4991099013bSjsg #define RADEON_CRTC_OFFSET 0x0224 5001099013bSjsg # define RADEON_CRTC_OFFSET__GUI_TRIG_OFFSET (1<<30) 5011099013bSjsg # define RADEON_CRTC_OFFSET__OFFSET_LOCK (1<<31) 5021099013bSjsg 5031099013bSjsg #define RADEON_CRTC2_OFFSET 0x0324 5041099013bSjsg # define RADEON_CRTC2_OFFSET__GUI_TRIG_OFFSET (1<<30) 5051099013bSjsg # define RADEON_CRTC2_OFFSET__OFFSET_LOCK (1<<31) 5061099013bSjsg #define RADEON_CRTC_OFFSET_CNTL 0x0228 5071099013bSjsg # define RADEON_CRTC_TILE_LINE_SHIFT 0 5081099013bSjsg # define RADEON_CRTC_TILE_LINE_RIGHT_SHIFT 4 5091099013bSjsg # define R300_CRTC_X_Y_MODE_EN_RIGHT (1 << 6) 5101099013bSjsg # define R300_CRTC_MICRO_TILE_BUFFER_RIGHT_MASK (3 << 7) 5111099013bSjsg # define R300_CRTC_MICRO_TILE_BUFFER_RIGHT_AUTO (0 << 7) 5121099013bSjsg # define R300_CRTC_MICRO_TILE_BUFFER_RIGHT_SINGLE (1 << 7) 5131099013bSjsg # define R300_CRTC_MICRO_TILE_BUFFER_RIGHT_DOUBLE (2 << 7) 5141099013bSjsg # define R300_CRTC_MICRO_TILE_BUFFER_RIGHT_DIS (3 << 7) 5151099013bSjsg # define R300_CRTC_X_Y_MODE_EN (1 << 9) 5161099013bSjsg # define R300_CRTC_MICRO_TILE_BUFFER_MASK (3 << 10) 5171099013bSjsg # define R300_CRTC_MICRO_TILE_BUFFER_AUTO (0 << 10) 5181099013bSjsg # define R300_CRTC_MICRO_TILE_BUFFER_SINGLE (1 << 10) 5191099013bSjsg # define R300_CRTC_MICRO_TILE_BUFFER_DOUBLE (2 << 10) 5201099013bSjsg # define R300_CRTC_MICRO_TILE_BUFFER_DIS (3 << 10) 5211099013bSjsg # define R300_CRTC_MICRO_TILE_EN_RIGHT (1 << 12) 5221099013bSjsg # define R300_CRTC_MICRO_TILE_EN (1 << 13) 5231099013bSjsg # define R300_CRTC_MACRO_TILE_EN_RIGHT (1 << 14) 5241099013bSjsg # define R300_CRTC_MACRO_TILE_EN (1 << 15) 5251099013bSjsg # define RADEON_CRTC_TILE_EN_RIGHT (1 << 14) 5261099013bSjsg # define RADEON_CRTC_TILE_EN (1 << 15) 5271099013bSjsg # define RADEON_CRTC_OFFSET_FLIP_CNTL (1 << 16) 5281099013bSjsg # define RADEON_CRTC_STEREO_OFFSET_EN (1 << 17) 5291099013bSjsg # define RADEON_CRTC_GUI_TRIG_OFFSET_LEFT_EN (1 << 28) 5301099013bSjsg # define RADEON_CRTC_GUI_TRIG_OFFSET_RIGHT_EN (1 << 29) 5311099013bSjsg 5321099013bSjsg #define R300_CRTC_TILE_X0_Y0 0x0350 5331099013bSjsg #define R300_CRTC2_TILE_X0_Y0 0x0358 5341099013bSjsg 5351099013bSjsg #define RADEON_CRTC2_OFFSET_CNTL 0x0328 5361099013bSjsg # define RADEON_CRTC2_OFFSET_FLIP_CNTL (1 << 16) 5371099013bSjsg # define RADEON_CRTC2_TILE_EN (1 << 15) 5381099013bSjsg #define RADEON_CRTC_PITCH 0x022c 5391099013bSjsg # define RADEON_CRTC_PITCH__SHIFT 0 5401099013bSjsg # define RADEON_CRTC_PITCH__RIGHT_SHIFT 16 5411099013bSjsg 5421099013bSjsg #define RADEON_CRTC2_PITCH 0x032c 5431099013bSjsg #define RADEON_CRTC_STATUS 0x005c 5441099013bSjsg # define RADEON_CRTC_VBLANK_CUR (1 << 0) 5451099013bSjsg # define RADEON_CRTC_VBLANK_SAVE (1 << 1) 5461099013bSjsg # define RADEON_CRTC_VBLANK_SAVE_CLEAR (1 << 1) 5471099013bSjsg #define RADEON_CRTC2_STATUS 0x03fc 5481099013bSjsg # define RADEON_CRTC2_VBLANK_CUR (1 << 0) 5491099013bSjsg # define RADEON_CRTC2_VBLANK_SAVE (1 << 1) 5501099013bSjsg # define RADEON_CRTC2_VBLANK_SAVE_CLEAR (1 << 1) 5511099013bSjsg #define RADEON_CRTC_V_SYNC_STRT_WID 0x020c 5521099013bSjsg # define RADEON_CRTC_V_SYNC_STRT (0x7ff << 0) 5531099013bSjsg # define RADEON_CRTC_V_SYNC_STRT_SHIFT 0 5541099013bSjsg # define RADEON_CRTC_V_SYNC_WID (0x1f << 16) 5551099013bSjsg # define RADEON_CRTC_V_SYNC_WID_SHIFT 16 5561099013bSjsg # define RADEON_CRTC_V_SYNC_POL (1 << 23) 5571099013bSjsg #define RADEON_CRTC2_V_SYNC_STRT_WID 0x030c 5581099013bSjsg # define RADEON_CRTC2_V_SYNC_STRT (0x7ff << 0) 5591099013bSjsg # define RADEON_CRTC2_V_SYNC_STRT_SHIFT 0 5601099013bSjsg # define RADEON_CRTC2_V_SYNC_WID (0x1f << 16) 5611099013bSjsg # define RADEON_CRTC2_V_SYNC_WID_SHIFT 16 5621099013bSjsg # define RADEON_CRTC2_V_SYNC_POL (1 << 23) 5631099013bSjsg #define RADEON_CRTC_V_TOTAL_DISP 0x0208 5641099013bSjsg # define RADEON_CRTC_V_TOTAL (0x07ff << 0) 5651099013bSjsg # define RADEON_CRTC_V_TOTAL_SHIFT 0 5661099013bSjsg # define RADEON_CRTC_V_DISP (0x07ff << 16) 5671099013bSjsg # define RADEON_CRTC_V_DISP_SHIFT 16 5681099013bSjsg #define RADEON_CRTC2_V_TOTAL_DISP 0x0308 5691099013bSjsg # define RADEON_CRTC2_V_TOTAL (0x07ff << 0) 5701099013bSjsg # define RADEON_CRTC2_V_TOTAL_SHIFT 0 5711099013bSjsg # define RADEON_CRTC2_V_DISP (0x07ff << 16) 5721099013bSjsg # define RADEON_CRTC2_V_DISP_SHIFT 16 5731099013bSjsg #define RADEON_CRTC_VLINE_CRNT_VLINE 0x0210 5741099013bSjsg # define RADEON_CRTC_CRNT_VLINE_MASK (0x7ff << 16) 5751099013bSjsg #define RADEON_CRTC2_CRNT_FRAME 0x0314 5761099013bSjsg #define RADEON_CRTC2_GUI_TRIG_VLINE 0x0318 5771099013bSjsg #define RADEON_CRTC2_VLINE_CRNT_VLINE 0x0310 5781099013bSjsg #define RADEON_CRTC8_DATA 0x03d5 /* VGA, 0x3b5 */ 5791099013bSjsg #define RADEON_CRTC8_IDX 0x03d4 /* VGA, 0x3b4 */ 5801099013bSjsg #define RADEON_CUR_CLR0 0x026c 5811099013bSjsg #define RADEON_CUR_CLR1 0x0270 5821099013bSjsg #define RADEON_CUR_HORZ_VERT_OFF 0x0268 5831099013bSjsg #define RADEON_CUR_HORZ_VERT_POSN 0x0264 5841099013bSjsg #define RADEON_CUR_OFFSET 0x0260 5851099013bSjsg # define RADEON_CUR_LOCK (1 << 31) 5861099013bSjsg #define RADEON_CUR2_CLR0 0x036c 5871099013bSjsg #define RADEON_CUR2_CLR1 0x0370 5881099013bSjsg #define RADEON_CUR2_HORZ_VERT_OFF 0x0368 5891099013bSjsg #define RADEON_CUR2_HORZ_VERT_POSN 0x0364 5901099013bSjsg #define RADEON_CUR2_OFFSET 0x0360 5911099013bSjsg # define RADEON_CUR2_LOCK (1 << 31) 5921099013bSjsg 5931099013bSjsg #define RADEON_DAC_CNTL 0x0058 5941099013bSjsg # define RADEON_DAC_RANGE_CNTL (3 << 0) 5951099013bSjsg # define RADEON_DAC_RANGE_CNTL_PS2 (2 << 0) 5961099013bSjsg # define RADEON_DAC_RANGE_CNTL_MASK 0x03 5971099013bSjsg # define RADEON_DAC_BLANKING (1 << 2) 5981099013bSjsg # define RADEON_DAC_CMP_EN (1 << 3) 5991099013bSjsg # define RADEON_DAC_CMP_OUTPUT (1 << 7) 6001099013bSjsg # define RADEON_DAC_8BIT_EN (1 << 8) 6011099013bSjsg # define RADEON_DAC_TVO_EN (1 << 10) 6021099013bSjsg # define RADEON_DAC_VGA_ADR_EN (1 << 13) 6031099013bSjsg # define RADEON_DAC_PDWN (1 << 15) 6041099013bSjsg # define RADEON_DAC_MASK_ALL (0xff << 24) 6051099013bSjsg #define RADEON_DAC_CNTL2 0x007c 6061099013bSjsg # define RADEON_DAC2_TV_CLK_SEL (0 << 1) 6071099013bSjsg # define RADEON_DAC2_DAC_CLK_SEL (1 << 0) 6081099013bSjsg # define RADEON_DAC2_DAC2_CLK_SEL (1 << 1) 6091099013bSjsg # define RADEON_DAC2_PALETTE_ACC_CTL (1 << 5) 6101099013bSjsg # define RADEON_DAC2_CMP_EN (1 << 7) 6111099013bSjsg # define RADEON_DAC2_CMP_OUT_R (1 << 8) 6121099013bSjsg # define RADEON_DAC2_CMP_OUT_G (1 << 9) 6131099013bSjsg # define RADEON_DAC2_CMP_OUT_B (1 << 10) 6141099013bSjsg # define RADEON_DAC2_CMP_OUTPUT (1 << 11) 6151099013bSjsg #define RADEON_DAC_EXT_CNTL 0x0280 6161099013bSjsg # define RADEON_DAC2_FORCE_BLANK_OFF_EN (1 << 0) 6171099013bSjsg # define RADEON_DAC2_FORCE_DATA_EN (1 << 1) 6181099013bSjsg # define RADEON_DAC_FORCE_BLANK_OFF_EN (1 << 4) 6191099013bSjsg # define RADEON_DAC_FORCE_DATA_EN (1 << 5) 6201099013bSjsg # define RADEON_DAC_FORCE_DATA_SEL_MASK (3 << 6) 6211099013bSjsg # define RADEON_DAC_FORCE_DATA_SEL_R (0 << 6) 6221099013bSjsg # define RADEON_DAC_FORCE_DATA_SEL_G (1 << 6) 6231099013bSjsg # define RADEON_DAC_FORCE_DATA_SEL_B (2 << 6) 6241099013bSjsg # define RADEON_DAC_FORCE_DATA_SEL_RGB (3 << 6) 6251099013bSjsg # define RADEON_DAC_FORCE_DATA_MASK 0x0003ff00 6261099013bSjsg # define RADEON_DAC_FORCE_DATA_SHIFT 8 6271099013bSjsg #define RADEON_DAC_MACRO_CNTL 0x0d04 6281099013bSjsg # define RADEON_DAC_PDWN_R (1 << 16) 6291099013bSjsg # define RADEON_DAC_PDWN_G (1 << 17) 6301099013bSjsg # define RADEON_DAC_PDWN_B (1 << 18) 6311099013bSjsg #define RADEON_DISP_PWR_MAN 0x0d08 6321099013bSjsg # define RADEON_DISP_PWR_MAN_D3_CRTC_EN (1 << 0) 6331099013bSjsg # define RADEON_DISP_PWR_MAN_D3_CRTC2_EN (1 << 4) 6341099013bSjsg # define RADEON_DISP_PWR_MAN_DPMS_ON (0 << 8) 6351099013bSjsg # define RADEON_DISP_PWR_MAN_DPMS_STANDBY (1 << 8) 6361099013bSjsg # define RADEON_DISP_PWR_MAN_DPMS_SUSPEND (2 << 8) 6371099013bSjsg # define RADEON_DISP_PWR_MAN_DPMS_OFF (3 << 8) 6381099013bSjsg # define RADEON_DISP_D3_RST (1 << 16) 6391099013bSjsg # define RADEON_DISP_D3_REG_RST (1 << 17) 6401099013bSjsg # define RADEON_DISP_D3_GRPH_RST (1 << 18) 6411099013bSjsg # define RADEON_DISP_D3_SUBPIC_RST (1 << 19) 6421099013bSjsg # define RADEON_DISP_D3_OV0_RST (1 << 20) 6431099013bSjsg # define RADEON_DISP_D1D2_GRPH_RST (1 << 21) 6441099013bSjsg # define RADEON_DISP_D1D2_SUBPIC_RST (1 << 22) 6451099013bSjsg # define RADEON_DISP_D1D2_OV0_RST (1 << 23) 6461099013bSjsg # define RADEON_DIG_TMDS_ENABLE_RST (1 << 24) 6471099013bSjsg # define RADEON_TV_ENABLE_RST (1 << 25) 6481099013bSjsg # define RADEON_AUTO_PWRUP_EN (1 << 26) 6491099013bSjsg #define RADEON_TV_DAC_CNTL 0x088c 6501099013bSjsg # define RADEON_TV_DAC_NBLANK (1 << 0) 6511099013bSjsg # define RADEON_TV_DAC_NHOLD (1 << 1) 6521099013bSjsg # define RADEON_TV_DAC_PEDESTAL (1 << 2) 6531099013bSjsg # define RADEON_TV_MONITOR_DETECT_EN (1 << 4) 6541099013bSjsg # define RADEON_TV_DAC_CMPOUT (1 << 5) 6551099013bSjsg # define RADEON_TV_DAC_STD_MASK (3 << 8) 6561099013bSjsg # define RADEON_TV_DAC_STD_PAL (0 << 8) 6571099013bSjsg # define RADEON_TV_DAC_STD_NTSC (1 << 8) 6581099013bSjsg # define RADEON_TV_DAC_STD_PS2 (2 << 8) 6591099013bSjsg # define RADEON_TV_DAC_STD_RS343 (3 << 8) 6601099013bSjsg # define RADEON_TV_DAC_BGSLEEP (1 << 6) 6611099013bSjsg # define RADEON_TV_DAC_BGADJ_MASK (0xf << 16) 6621099013bSjsg # define RADEON_TV_DAC_BGADJ_SHIFT 16 6631099013bSjsg # define RADEON_TV_DAC_DACADJ_MASK (0xf << 20) 6641099013bSjsg # define RADEON_TV_DAC_DACADJ_SHIFT 20 6651099013bSjsg # define RADEON_TV_DAC_RDACPD (1 << 24) 6661099013bSjsg # define RADEON_TV_DAC_GDACPD (1 << 25) 6671099013bSjsg # define RADEON_TV_DAC_BDACPD (1 << 26) 6681099013bSjsg # define RADEON_TV_DAC_RDACDET (1 << 29) 6691099013bSjsg # define RADEON_TV_DAC_GDACDET (1 << 30) 6701099013bSjsg # define RADEON_TV_DAC_BDACDET (1 << 31) 6711099013bSjsg # define R420_TV_DAC_DACADJ_MASK (0x1f << 20) 6721099013bSjsg # define R420_TV_DAC_RDACPD (1 << 25) 6731099013bSjsg # define R420_TV_DAC_GDACPD (1 << 26) 6741099013bSjsg # define R420_TV_DAC_BDACPD (1 << 27) 6751099013bSjsg # define R420_TV_DAC_TVENABLE (1 << 28) 6761099013bSjsg #define RADEON_DISP_HW_DEBUG 0x0d14 6771099013bSjsg # define RADEON_CRT2_DISP1_SEL (1 << 5) 6781099013bSjsg #define RADEON_DISP_OUTPUT_CNTL 0x0d64 6791099013bSjsg # define RADEON_DISP_DAC_SOURCE_MASK 0x03 6801099013bSjsg # define RADEON_DISP_DAC2_SOURCE_MASK 0x0c 6811099013bSjsg # define RADEON_DISP_DAC_SOURCE_CRTC2 0x01 6821099013bSjsg # define RADEON_DISP_DAC_SOURCE_RMX 0x02 6831099013bSjsg # define RADEON_DISP_DAC_SOURCE_LTU 0x03 6841099013bSjsg # define RADEON_DISP_DAC2_SOURCE_CRTC2 0x04 6851099013bSjsg # define RADEON_DISP_TVDAC_SOURCE_MASK (0x03 << 2) 6861099013bSjsg # define RADEON_DISP_TVDAC_SOURCE_CRTC 0x0 6871099013bSjsg # define RADEON_DISP_TVDAC_SOURCE_CRTC2 (0x01 << 2) 6881099013bSjsg # define RADEON_DISP_TVDAC_SOURCE_RMX (0x02 << 2) 6891099013bSjsg # define RADEON_DISP_TVDAC_SOURCE_LTU (0x03 << 2) 6901099013bSjsg # define RADEON_DISP_TRANS_MATRIX_MASK (0x03 << 4) 6911099013bSjsg # define RADEON_DISP_TRANS_MATRIX_ALPHA_MSB (0x00 << 4) 6921099013bSjsg # define RADEON_DISP_TRANS_MATRIX_GRAPHICS (0x01 << 4) 6931099013bSjsg # define RADEON_DISP_TRANS_MATRIX_VIDEO (0x02 << 4) 6941099013bSjsg # define RADEON_DISP_TV_SOURCE_CRTC (1 << 16) /* crtc1 or crtc2 */ 6951099013bSjsg # define RADEON_DISP_TV_SOURCE_LTU (0 << 16) /* linear transform unit */ 6961099013bSjsg #define RADEON_DISP_TV_OUT_CNTL 0x0d6c 6971099013bSjsg # define RADEON_DISP_TV_PATH_SRC_CRTC2 (1 << 16) 6981099013bSjsg # define RADEON_DISP_TV_PATH_SRC_CRTC1 (0 << 16) 6991099013bSjsg #define RADEON_DAC_CRC_SIG 0x02cc 7001099013bSjsg #define RADEON_DAC_DATA 0x03c9 /* VGA */ 7011099013bSjsg #define RADEON_DAC_MASK 0x03c6 /* VGA */ 7021099013bSjsg #define RADEON_DAC_R_INDEX 0x03c7 /* VGA */ 7031099013bSjsg #define RADEON_DAC_W_INDEX 0x03c8 /* VGA */ 7041099013bSjsg #define RADEON_DDA_CONFIG 0x02e0 7051099013bSjsg #define RADEON_DDA_ON_OFF 0x02e4 7061099013bSjsg #define RADEON_DEFAULT_OFFSET 0x16e0 7071099013bSjsg #define RADEON_DEFAULT_PITCH 0x16e4 7081099013bSjsg #define RADEON_DEFAULT_SC_BOTTOM_RIGHT 0x16e8 7091099013bSjsg # define RADEON_DEFAULT_SC_RIGHT_MAX (0x1fff << 0) 7101099013bSjsg # define RADEON_DEFAULT_SC_BOTTOM_MAX (0x1fff << 16) 7111099013bSjsg #define RADEON_DESTINATION_3D_CLR_CMP_VAL 0x1820 7121099013bSjsg #define RADEON_DESTINATION_3D_CLR_CMP_MSK 0x1824 7131099013bSjsg #define RADEON_DEVICE_ID 0x0f02 /* PCI */ 7141099013bSjsg #define RADEON_DISP_MISC_CNTL 0x0d00 7151099013bSjsg # define RADEON_SOFT_RESET_GRPH_PP (1 << 0) 7161099013bSjsg #define RADEON_DISP_MERGE_CNTL 0x0d60 7171099013bSjsg # define RADEON_DISP_ALPHA_MODE_MASK 0x03 7181099013bSjsg # define RADEON_DISP_ALPHA_MODE_KEY 0 7191099013bSjsg # define RADEON_DISP_ALPHA_MODE_PER_PIXEL 1 7201099013bSjsg # define RADEON_DISP_ALPHA_MODE_GLOBAL 2 7211099013bSjsg # define RADEON_DISP_RGB_OFFSET_EN (1 << 8) 7221099013bSjsg # define RADEON_DISP_GRPH_ALPHA_MASK (0xff << 16) 7231099013bSjsg # define RADEON_DISP_OV0_ALPHA_MASK (0xff << 24) 7241099013bSjsg # define RADEON_DISP_LIN_TRANS_BYPASS (0x01 << 9) 7251099013bSjsg #define RADEON_DISP2_MERGE_CNTL 0x0d68 7261099013bSjsg # define RADEON_DISP2_RGB_OFFSET_EN (1 << 8) 7271099013bSjsg #define RADEON_DISP_LIN_TRANS_GRPH_A 0x0d80 7281099013bSjsg #define RADEON_DISP_LIN_TRANS_GRPH_B 0x0d84 7291099013bSjsg #define RADEON_DISP_LIN_TRANS_GRPH_C 0x0d88 7301099013bSjsg #define RADEON_DISP_LIN_TRANS_GRPH_D 0x0d8c 7311099013bSjsg #define RADEON_DISP_LIN_TRANS_GRPH_E 0x0d90 7321099013bSjsg #define RADEON_DISP_LIN_TRANS_GRPH_F 0x0d98 7331099013bSjsg #define RADEON_DP_BRUSH_BKGD_CLR 0x1478 7341099013bSjsg #define RADEON_DP_BRUSH_FRGD_CLR 0x147c 7351099013bSjsg #define RADEON_DP_CNTL 0x16c0 7361099013bSjsg # define RADEON_DST_X_LEFT_TO_RIGHT (1 << 0) 7371099013bSjsg # define RADEON_DST_Y_TOP_TO_BOTTOM (1 << 1) 7381099013bSjsg # define RADEON_DP_DST_TILE_LINEAR (0 << 3) 7391099013bSjsg # define RADEON_DP_DST_TILE_MACRO (1 << 3) 7401099013bSjsg # define RADEON_DP_DST_TILE_MICRO (2 << 3) 7411099013bSjsg # define RADEON_DP_DST_TILE_BOTH (3 << 3) 7421099013bSjsg #define RADEON_DP_CNTL_XDIR_YDIR_YMAJOR 0x16d0 7431099013bSjsg # define RADEON_DST_Y_MAJOR (1 << 2) 7441099013bSjsg # define RADEON_DST_Y_DIR_TOP_TO_BOTTOM (1 << 15) 7451099013bSjsg # define RADEON_DST_X_DIR_LEFT_TO_RIGHT (1 << 31) 7461099013bSjsg #define RADEON_DP_DATATYPE 0x16c4 7471099013bSjsg # define RADEON_HOST_BIG_ENDIAN_EN (1 << 29) 7481099013bSjsg #define RADEON_DP_GUI_MASTER_CNTL 0x146c 7491099013bSjsg # define RADEON_GMC_SRC_PITCH_OFFSET_CNTL (1 << 0) 7501099013bSjsg # define RADEON_GMC_DST_PITCH_OFFSET_CNTL (1 << 1) 7511099013bSjsg # define RADEON_GMC_SRC_CLIPPING (1 << 2) 7521099013bSjsg # define RADEON_GMC_DST_CLIPPING (1 << 3) 7531099013bSjsg # define RADEON_GMC_BRUSH_DATATYPE_MASK (0x0f << 4) 7541099013bSjsg # define RADEON_GMC_BRUSH_8X8_MONO_FG_BG (0 << 4) 7551099013bSjsg # define RADEON_GMC_BRUSH_8X8_MONO_FG_LA (1 << 4) 7561099013bSjsg # define RADEON_GMC_BRUSH_1X8_MONO_FG_BG (4 << 4) 7571099013bSjsg # define RADEON_GMC_BRUSH_1X8_MONO_FG_LA (5 << 4) 7581099013bSjsg # define RADEON_GMC_BRUSH_32x1_MONO_FG_BG (6 << 4) 7591099013bSjsg # define RADEON_GMC_BRUSH_32x1_MONO_FG_LA (7 << 4) 7601099013bSjsg # define RADEON_GMC_BRUSH_32x32_MONO_FG_BG (8 << 4) 7611099013bSjsg # define RADEON_GMC_BRUSH_32x32_MONO_FG_LA (9 << 4) 7621099013bSjsg # define RADEON_GMC_BRUSH_8x8_COLOR (10 << 4) 7631099013bSjsg # define RADEON_GMC_BRUSH_1X8_COLOR (12 << 4) 7641099013bSjsg # define RADEON_GMC_BRUSH_SOLID_COLOR (13 << 4) 7651099013bSjsg # define RADEON_GMC_BRUSH_NONE (15 << 4) 7661099013bSjsg # define RADEON_GMC_DST_8BPP_CI (2 << 8) 7671099013bSjsg # define RADEON_GMC_DST_15BPP (3 << 8) 7681099013bSjsg # define RADEON_GMC_DST_16BPP (4 << 8) 7691099013bSjsg # define RADEON_GMC_DST_24BPP (5 << 8) 7701099013bSjsg # define RADEON_GMC_DST_32BPP (6 << 8) 7711099013bSjsg # define RADEON_GMC_DST_8BPP_RGB (7 << 8) 7721099013bSjsg # define RADEON_GMC_DST_Y8 (8 << 8) 7731099013bSjsg # define RADEON_GMC_DST_RGB8 (9 << 8) 7741099013bSjsg # define RADEON_GMC_DST_VYUY (11 << 8) 7751099013bSjsg # define RADEON_GMC_DST_YVYU (12 << 8) 7761099013bSjsg # define RADEON_GMC_DST_AYUV444 (14 << 8) 7771099013bSjsg # define RADEON_GMC_DST_ARGB4444 (15 << 8) 7781099013bSjsg # define RADEON_GMC_DST_DATATYPE_MASK (0x0f << 8) 7791099013bSjsg # define RADEON_GMC_DST_DATATYPE_SHIFT 8 7801099013bSjsg # define RADEON_GMC_SRC_DATATYPE_MASK (3 << 12) 7811099013bSjsg # define RADEON_GMC_SRC_DATATYPE_MONO_FG_BG (0 << 12) 7821099013bSjsg # define RADEON_GMC_SRC_DATATYPE_MONO_FG_LA (1 << 12) 7831099013bSjsg # define RADEON_GMC_SRC_DATATYPE_COLOR (3 << 12) 7841099013bSjsg # define RADEON_GMC_BYTE_PIX_ORDER (1 << 14) 7851099013bSjsg # define RADEON_GMC_BYTE_MSB_TO_LSB (0 << 14) 7861099013bSjsg # define RADEON_GMC_BYTE_LSB_TO_MSB (1 << 14) 7871099013bSjsg # define RADEON_GMC_CONVERSION_TEMP (1 << 15) 7881099013bSjsg # define RADEON_GMC_CONVERSION_TEMP_6500 (0 << 15) 7891099013bSjsg # define RADEON_GMC_CONVERSION_TEMP_9300 (1 << 15) 7901099013bSjsg # define RADEON_GMC_ROP3_MASK (0xff << 16) 7911099013bSjsg # define RADEON_DP_SRC_SOURCE_MASK (7 << 24) 7921099013bSjsg # define RADEON_DP_SRC_SOURCE_MEMORY (2 << 24) 7931099013bSjsg # define RADEON_DP_SRC_SOURCE_HOST_DATA (3 << 24) 7941099013bSjsg # define RADEON_GMC_3D_FCN_EN (1 << 27) 7951099013bSjsg # define RADEON_GMC_CLR_CMP_CNTL_DIS (1 << 28) 7961099013bSjsg # define RADEON_GMC_AUX_CLIP_DIS (1 << 29) 7971099013bSjsg # define RADEON_GMC_WR_MSK_DIS (1 << 30) 7981099013bSjsg # define RADEON_GMC_LD_BRUSH_Y_X (1 << 31) 7991099013bSjsg # define RADEON_ROP3_ZERO 0x00000000 8001099013bSjsg # define RADEON_ROP3_DSa 0x00880000 8011099013bSjsg # define RADEON_ROP3_SDna 0x00440000 8021099013bSjsg # define RADEON_ROP3_S 0x00cc0000 8031099013bSjsg # define RADEON_ROP3_DSna 0x00220000 8041099013bSjsg # define RADEON_ROP3_D 0x00aa0000 8051099013bSjsg # define RADEON_ROP3_DSx 0x00660000 8061099013bSjsg # define RADEON_ROP3_DSo 0x00ee0000 8071099013bSjsg # define RADEON_ROP3_DSon 0x00110000 8081099013bSjsg # define RADEON_ROP3_DSxn 0x00990000 8091099013bSjsg # define RADEON_ROP3_Dn 0x00550000 8101099013bSjsg # define RADEON_ROP3_SDno 0x00dd0000 8111099013bSjsg # define RADEON_ROP3_Sn 0x00330000 8121099013bSjsg # define RADEON_ROP3_DSno 0x00bb0000 8131099013bSjsg # define RADEON_ROP3_DSan 0x00770000 8141099013bSjsg # define RADEON_ROP3_ONE 0x00ff0000 8151099013bSjsg # define RADEON_ROP3_DPa 0x00a00000 8161099013bSjsg # define RADEON_ROP3_PDna 0x00500000 8171099013bSjsg # define RADEON_ROP3_P 0x00f00000 8181099013bSjsg # define RADEON_ROP3_DPna 0x000a0000 8191099013bSjsg # define RADEON_ROP3_D 0x00aa0000 8201099013bSjsg # define RADEON_ROP3_DPx 0x005a0000 8211099013bSjsg # define RADEON_ROP3_DPo 0x00fa0000 8221099013bSjsg # define RADEON_ROP3_DPon 0x00050000 8231099013bSjsg # define RADEON_ROP3_PDxn 0x00a50000 8241099013bSjsg # define RADEON_ROP3_PDno 0x00f50000 8251099013bSjsg # define RADEON_ROP3_Pn 0x000f0000 8261099013bSjsg # define RADEON_ROP3_DPno 0x00af0000 8271099013bSjsg # define RADEON_ROP3_DPan 0x005f0000 8281099013bSjsg #define RADEON_DP_GUI_MASTER_CNTL_C 0x1c84 8291099013bSjsg #define RADEON_DP_MIX 0x16c8 8301099013bSjsg #define RADEON_DP_SRC_BKGD_CLR 0x15dc 8311099013bSjsg #define RADEON_DP_SRC_FRGD_CLR 0x15d8 8321099013bSjsg #define RADEON_DP_WRITE_MASK 0x16cc 8331099013bSjsg #define RADEON_DST_BRES_DEC 0x1630 8341099013bSjsg #define RADEON_DST_BRES_ERR 0x1628 8351099013bSjsg #define RADEON_DST_BRES_INC 0x162c 8361099013bSjsg #define RADEON_DST_BRES_LNTH 0x1634 8371099013bSjsg #define RADEON_DST_BRES_LNTH_SUB 0x1638 8381099013bSjsg #define RADEON_DST_HEIGHT 0x1410 8391099013bSjsg #define RADEON_DST_HEIGHT_WIDTH 0x143c 8401099013bSjsg #define RADEON_DST_HEIGHT_WIDTH_8 0x158c 8411099013bSjsg #define RADEON_DST_HEIGHT_WIDTH_BW 0x15b4 8421099013bSjsg #define RADEON_DST_HEIGHT_Y 0x15a0 8431099013bSjsg #define RADEON_DST_LINE_START 0x1600 8441099013bSjsg #define RADEON_DST_LINE_END 0x1604 8451099013bSjsg #define RADEON_DST_LINE_PATCOUNT 0x1608 8461099013bSjsg # define RADEON_BRES_CNTL_SHIFT 8 8471099013bSjsg #define RADEON_DST_OFFSET 0x1404 8481099013bSjsg #define RADEON_DST_PITCH 0x1408 8491099013bSjsg #define RADEON_DST_PITCH_OFFSET 0x142c 8501099013bSjsg #define RADEON_DST_PITCH_OFFSET_C 0x1c80 8511099013bSjsg # define RADEON_PITCH_SHIFT 21 8521099013bSjsg # define RADEON_DST_TILE_LINEAR (0 << 30) 8531099013bSjsg # define RADEON_DST_TILE_MACRO (1 << 30) 8541099013bSjsg # define RADEON_DST_TILE_MICRO (2 << 30) 8551099013bSjsg # define RADEON_DST_TILE_BOTH (3 << 30) 8561099013bSjsg #define RADEON_DST_WIDTH 0x140c 8571099013bSjsg #define RADEON_DST_WIDTH_HEIGHT 0x1598 8581099013bSjsg #define RADEON_DST_WIDTH_X 0x1588 8591099013bSjsg #define RADEON_DST_WIDTH_X_INCY 0x159c 8601099013bSjsg #define RADEON_DST_X 0x141c 8611099013bSjsg #define RADEON_DST_X_SUB 0x15a4 8621099013bSjsg #define RADEON_DST_X_Y 0x1594 8631099013bSjsg #define RADEON_DST_Y 0x1420 8641099013bSjsg #define RADEON_DST_Y_SUB 0x15a8 8651099013bSjsg #define RADEON_DST_Y_X 0x1438 8661099013bSjsg 8671099013bSjsg #define RADEON_FCP_CNTL 0x0910 8681099013bSjsg # define RADEON_FCP0_SRC_PCICLK 0 8691099013bSjsg # define RADEON_FCP0_SRC_PCLK 1 8701099013bSjsg # define RADEON_FCP0_SRC_PCLKb 2 8711099013bSjsg # define RADEON_FCP0_SRC_HREF 3 8721099013bSjsg # define RADEON_FCP0_SRC_GND 4 8731099013bSjsg # define RADEON_FCP0_SRC_HREFb 5 8741099013bSjsg #define RADEON_FLUSH_1 0x1704 8751099013bSjsg #define RADEON_FLUSH_2 0x1708 8761099013bSjsg #define RADEON_FLUSH_3 0x170c 8771099013bSjsg #define RADEON_FLUSH_4 0x1710 8781099013bSjsg #define RADEON_FLUSH_5 0x1714 8791099013bSjsg #define RADEON_FLUSH_6 0x1718 8801099013bSjsg #define RADEON_FLUSH_7 0x171c 8811099013bSjsg #define RADEON_FOG_3D_TABLE_START 0x1810 8821099013bSjsg #define RADEON_FOG_3D_TABLE_END 0x1814 8831099013bSjsg #define RADEON_FOG_3D_TABLE_DENSITY 0x181c 8841099013bSjsg #define RADEON_FOG_TABLE_INDEX 0x1a14 8851099013bSjsg #define RADEON_FOG_TABLE_DATA 0x1a18 8861099013bSjsg #define RADEON_FP_CRTC_H_TOTAL_DISP 0x0250 8871099013bSjsg #define RADEON_FP_CRTC_V_TOTAL_DISP 0x0254 8881099013bSjsg # define RADEON_FP_CRTC_H_TOTAL_MASK 0x000003ff 8891099013bSjsg # define RADEON_FP_CRTC_H_DISP_MASK 0x01ff0000 8901099013bSjsg # define RADEON_FP_CRTC_V_TOTAL_MASK 0x00000fff 8911099013bSjsg # define RADEON_FP_CRTC_V_DISP_MASK 0x0fff0000 8921099013bSjsg # define RADEON_FP_H_SYNC_STRT_CHAR_MASK 0x00001ff8 8931099013bSjsg # define RADEON_FP_H_SYNC_WID_MASK 0x003f0000 8941099013bSjsg # define RADEON_FP_V_SYNC_STRT_MASK 0x00000fff 8951099013bSjsg # define RADEON_FP_V_SYNC_WID_MASK 0x001f0000 8961099013bSjsg # define RADEON_FP_CRTC_H_TOTAL_SHIFT 0x00000000 8971099013bSjsg # define RADEON_FP_CRTC_H_DISP_SHIFT 0x00000010 8981099013bSjsg # define RADEON_FP_CRTC_V_TOTAL_SHIFT 0x00000000 8991099013bSjsg # define RADEON_FP_CRTC_V_DISP_SHIFT 0x00000010 9001099013bSjsg # define RADEON_FP_H_SYNC_STRT_CHAR_SHIFT 0x00000003 9011099013bSjsg # define RADEON_FP_H_SYNC_WID_SHIFT 0x00000010 9021099013bSjsg # define RADEON_FP_V_SYNC_STRT_SHIFT 0x00000000 9031099013bSjsg # define RADEON_FP_V_SYNC_WID_SHIFT 0x00000010 9041099013bSjsg #define RADEON_FP_GEN_CNTL 0x0284 9051099013bSjsg # define RADEON_FP_FPON (1 << 0) 9061099013bSjsg # define RADEON_FP_BLANK_EN (1 << 1) 9071099013bSjsg # define RADEON_FP_TMDS_EN (1 << 2) 9081099013bSjsg # define RADEON_FP_PANEL_FORMAT (1 << 3) 9091099013bSjsg # define RADEON_FP_EN_TMDS (1 << 7) 9101099013bSjsg # define RADEON_FP_DETECT_SENSE (1 << 8) 9111099013bSjsg # define RADEON_FP_DETECT_INT_POL (1 << 9) 9121099013bSjsg # define R200_FP_SOURCE_SEL_MASK (3 << 10) 9131099013bSjsg # define R200_FP_SOURCE_SEL_CRTC1 (0 << 10) 9141099013bSjsg # define R200_FP_SOURCE_SEL_CRTC2 (1 << 10) 9151099013bSjsg # define R200_FP_SOURCE_SEL_RMX (2 << 10) 9161099013bSjsg # define R200_FP_SOURCE_SEL_TRANS (3 << 10) 9171099013bSjsg # define RADEON_FP_SEL_CRTC1 (0 << 13) 9181099013bSjsg # define RADEON_FP_SEL_CRTC2 (1 << 13) 9191099013bSjsg # define R300_HPD_SEL(x) ((x) << 13) 9201099013bSjsg # define RADEON_FP_CRTC_DONT_SHADOW_HPAR (1 << 15) 9211099013bSjsg # define RADEON_FP_CRTC_DONT_SHADOW_VPAR (1 << 16) 9221099013bSjsg # define RADEON_FP_CRTC_DONT_SHADOW_HEND (1 << 17) 9231099013bSjsg # define RADEON_FP_CRTC_USE_SHADOW_VEND (1 << 18) 9241099013bSjsg # define RADEON_FP_RMX_HVSYNC_CONTROL_EN (1 << 20) 9251099013bSjsg # define RADEON_FP_DFP_SYNC_SEL (1 << 21) 9261099013bSjsg # define RADEON_FP_CRTC_LOCK_8DOT (1 << 22) 9271099013bSjsg # define RADEON_FP_CRT_SYNC_SEL (1 << 23) 9281099013bSjsg # define RADEON_FP_USE_SHADOW_EN (1 << 24) 9291099013bSjsg # define RADEON_FP_CRT_SYNC_ALT (1 << 26) 9301099013bSjsg #define RADEON_FP2_GEN_CNTL 0x0288 9311099013bSjsg # define RADEON_FP2_BLANK_EN (1 << 1) 9321099013bSjsg # define RADEON_FP2_ON (1 << 2) 9331099013bSjsg # define RADEON_FP2_PANEL_FORMAT (1 << 3) 9341099013bSjsg # define RADEON_FP2_DETECT_SENSE (1 << 8) 9351099013bSjsg # define RADEON_FP2_DETECT_INT_POL (1 << 9) 9361099013bSjsg # define R200_FP2_SOURCE_SEL_MASK (3 << 10) 9371099013bSjsg # define R200_FP2_SOURCE_SEL_CRTC1 (0 << 10) 9381099013bSjsg # define R200_FP2_SOURCE_SEL_CRTC2 (1 << 10) 9391099013bSjsg # define R200_FP2_SOURCE_SEL_RMX (2 << 10) 9401099013bSjsg # define R200_FP2_SOURCE_SEL_TRANS_UNIT (3 << 10) 9411099013bSjsg # define RADEON_FP2_SRC_SEL_MASK (3 << 13) 9421099013bSjsg # define RADEON_FP2_SRC_SEL_CRTC2 (1 << 13) 9431099013bSjsg # define RADEON_FP2_FP_POL (1 << 16) 9441099013bSjsg # define RADEON_FP2_LP_POL (1 << 17) 9451099013bSjsg # define RADEON_FP2_SCK_POL (1 << 18) 9461099013bSjsg # define RADEON_FP2_LCD_CNTL_MASK (7 << 19) 9471099013bSjsg # define RADEON_FP2_PAD_FLOP_EN (1 << 22) 9481099013bSjsg # define RADEON_FP2_CRC_EN (1 << 23) 9491099013bSjsg # define RADEON_FP2_CRC_READ_EN (1 << 24) 9501099013bSjsg # define RADEON_FP2_DVO_EN (1 << 25) 9511099013bSjsg # define RADEON_FP2_DVO_RATE_SEL_SDR (1 << 26) 9521099013bSjsg # define R200_FP2_DVO_RATE_SEL_SDR (1 << 27) 9531099013bSjsg # define R300_FP2_DVO_CLOCK_MODE_SINGLE (1 << 28) 9541099013bSjsg # define R300_FP2_DVO_DUAL_CHANNEL_EN (1 << 29) 9551099013bSjsg #define RADEON_FP_H_SYNC_STRT_WID 0x02c4 9561099013bSjsg #define RADEON_FP_H2_SYNC_STRT_WID 0x03c4 9571099013bSjsg #define RADEON_FP_HORZ_STRETCH 0x028c 9581099013bSjsg #define RADEON_FP_HORZ2_STRETCH 0x038c 9591099013bSjsg # define RADEON_HORZ_STRETCH_RATIO_MASK 0xffff 9601099013bSjsg # define RADEON_HORZ_STRETCH_RATIO_MAX 4096 9611099013bSjsg # define RADEON_HORZ_PANEL_SIZE (0x1ff << 16) 9621099013bSjsg # define RADEON_HORZ_PANEL_SHIFT 16 9631099013bSjsg # define RADEON_HORZ_STRETCH_PIXREP (0 << 25) 9641099013bSjsg # define RADEON_HORZ_STRETCH_BLEND (1 << 26) 9651099013bSjsg # define RADEON_HORZ_STRETCH_ENABLE (1 << 25) 9661099013bSjsg # define RADEON_HORZ_AUTO_RATIO (1 << 27) 9671099013bSjsg # define RADEON_HORZ_FP_LOOP_STRETCH (0x7 << 28) 9681099013bSjsg # define RADEON_HORZ_AUTO_RATIO_INC (1 << 31) 9691099013bSjsg #define RADEON_FP_HORZ_VERT_ACTIVE 0x0278 9701099013bSjsg #define RADEON_FP_V_SYNC_STRT_WID 0x02c8 9711099013bSjsg #define RADEON_FP_VERT_STRETCH 0x0290 9721099013bSjsg #define RADEON_FP_V2_SYNC_STRT_WID 0x03c8 9731099013bSjsg #define RADEON_FP_VERT2_STRETCH 0x0390 9741099013bSjsg # define RADEON_VERT_PANEL_SIZE (0xfff << 12) 9751099013bSjsg # define RADEON_VERT_PANEL_SHIFT 12 9761099013bSjsg # define RADEON_VERT_STRETCH_RATIO_MASK 0xfff 9771099013bSjsg # define RADEON_VERT_STRETCH_RATIO_SHIFT 0 9781099013bSjsg # define RADEON_VERT_STRETCH_RATIO_MAX 4096 9791099013bSjsg # define RADEON_VERT_STRETCH_ENABLE (1 << 25) 9801099013bSjsg # define RADEON_VERT_STRETCH_LINEREP (0 << 26) 9811099013bSjsg # define RADEON_VERT_STRETCH_BLEND (1 << 26) 9821099013bSjsg # define RADEON_VERT_AUTO_RATIO_EN (1 << 27) 9831099013bSjsg # define RADEON_VERT_AUTO_RATIO_INC (1 << 31) 9841099013bSjsg # define RADEON_VERT_STRETCH_RESERVED 0x71000000 9851099013bSjsg #define RS400_FP_2ND_GEN_CNTL 0x0384 9861099013bSjsg # define RS400_FP_2ND_ON (1 << 0) 9871099013bSjsg # define RS400_FP_2ND_BLANK_EN (1 << 1) 9881099013bSjsg # define RS400_TMDS_2ND_EN (1 << 2) 9891099013bSjsg # define RS400_PANEL_FORMAT_2ND (1 << 3) 9901099013bSjsg # define RS400_FP_2ND_EN_TMDS (1 << 7) 9911099013bSjsg # define RS400_FP_2ND_DETECT_SENSE (1 << 8) 9921099013bSjsg # define RS400_FP_2ND_SOURCE_SEL_MASK (3 << 10) 9931099013bSjsg # define RS400_FP_2ND_SOURCE_SEL_CRTC1 (0 << 10) 9941099013bSjsg # define RS400_FP_2ND_SOURCE_SEL_CRTC2 (1 << 10) 9951099013bSjsg # define RS400_FP_2ND_SOURCE_SEL_RMX (2 << 10) 9961099013bSjsg # define RS400_FP_2ND_DETECT_EN (1 << 12) 9971099013bSjsg # define RS400_HPD_2ND_SEL (1 << 13) 9981099013bSjsg #define RS400_FP2_2_GEN_CNTL 0x0388 9991099013bSjsg # define RS400_FP2_2_BLANK_EN (1 << 1) 10001099013bSjsg # define RS400_FP2_2_ON (1 << 2) 10011099013bSjsg # define RS400_FP2_2_PANEL_FORMAT (1 << 3) 10021099013bSjsg # define RS400_FP2_2_DETECT_SENSE (1 << 8) 10031099013bSjsg # define RS400_FP2_2_SOURCE_SEL_MASK (3 << 10) 10041099013bSjsg # define RS400_FP2_2_SOURCE_SEL_CRTC1 (0 << 10) 10051099013bSjsg # define RS400_FP2_2_SOURCE_SEL_CRTC2 (1 << 10) 10061099013bSjsg # define RS400_FP2_2_SOURCE_SEL_RMX (2 << 10) 10071099013bSjsg # define RS400_FP2_2_DVO2_EN (1 << 25) 10081099013bSjsg #define RS400_TMDS2_CNTL 0x0394 10091099013bSjsg #define RS400_TMDS2_TRANSMITTER_CNTL 0x03a4 10101099013bSjsg # define RS400_TMDS2_PLLEN (1 << 0) 10111099013bSjsg # define RS400_TMDS2_PLLRST (1 << 1) 10121099013bSjsg 10131099013bSjsg #define RADEON_GEN_INT_CNTL 0x0040 10141099013bSjsg # define RADEON_CRTC_VBLANK_MASK (1 << 0) 10151099013bSjsg # define RADEON_FP_DETECT_MASK (1 << 4) 10161099013bSjsg # define RADEON_CRTC2_VBLANK_MASK (1 << 9) 10171099013bSjsg # define RADEON_FP2_DETECT_MASK (1 << 10) 10181099013bSjsg # define RADEON_GUI_IDLE_MASK (1 << 19) 10191099013bSjsg # define RADEON_SW_INT_ENABLE (1 << 25) 10201099013bSjsg #define RADEON_GEN_INT_STATUS 0x0044 10211099013bSjsg # define AVIVO_DISPLAY_INT_STATUS (1 << 0) 10221099013bSjsg # define RADEON_CRTC_VBLANK_STAT (1 << 0) 10231099013bSjsg # define RADEON_CRTC_VBLANK_STAT_ACK (1 << 0) 10241099013bSjsg # define RADEON_FP_DETECT_STAT (1 << 4) 10251099013bSjsg # define RADEON_FP_DETECT_STAT_ACK (1 << 4) 10261099013bSjsg # define RADEON_CRTC2_VBLANK_STAT (1 << 9) 10271099013bSjsg # define RADEON_CRTC2_VBLANK_STAT_ACK (1 << 9) 10281099013bSjsg # define RADEON_FP2_DETECT_STAT (1 << 10) 10291099013bSjsg # define RADEON_FP2_DETECT_STAT_ACK (1 << 10) 10301099013bSjsg # define RADEON_GUI_IDLE_STAT (1 << 19) 10311099013bSjsg # define RADEON_GUI_IDLE_STAT_ACK (1 << 19) 10321099013bSjsg # define RADEON_SW_INT_FIRE (1 << 26) 10331099013bSjsg # define RADEON_SW_INT_TEST (1 << 25) 10341099013bSjsg # define RADEON_SW_INT_TEST_ACK (1 << 25) 10351099013bSjsg #define RADEON_GENENB 0x03c3 /* VGA */ 10361099013bSjsg #define RADEON_GENFC_RD 0x03ca /* VGA */ 10371099013bSjsg #define RADEON_GENFC_WT 0x03da /* VGA, 0x03ba */ 10381099013bSjsg #define RADEON_GENMO_RD 0x03cc /* VGA */ 10391099013bSjsg #define RADEON_GENMO_WT 0x03c2 /* VGA */ 10401099013bSjsg #define RADEON_GENS0 0x03c2 /* VGA */ 10411099013bSjsg #define RADEON_GENS1 0x03da /* VGA, 0x03ba */ 10421099013bSjsg #define RADEON_GPIO_MONID 0x0068 /* DDC interface via I2C */ /* DDC3 */ 10431099013bSjsg #define RADEON_GPIO_MONIDB 0x006c 10441099013bSjsg #define RADEON_GPIO_CRT2_DDC 0x006c 10451099013bSjsg #define RADEON_GPIO_DVI_DDC 0x0064 /* DDC2 */ 10461099013bSjsg #define RADEON_GPIO_VGA_DDC 0x0060 /* DDC1 */ 10471099013bSjsg # define RADEON_GPIO_A_0 (1 << 0) 10481099013bSjsg # define RADEON_GPIO_A_1 (1 << 1) 10491099013bSjsg # define RADEON_GPIO_Y_0 (1 << 8) 10501099013bSjsg # define RADEON_GPIO_Y_1 (1 << 9) 10511099013bSjsg # define RADEON_GPIO_Y_SHIFT_0 8 10521099013bSjsg # define RADEON_GPIO_Y_SHIFT_1 9 10531099013bSjsg # define RADEON_GPIO_EN_0 (1 << 16) 10541099013bSjsg # define RADEON_GPIO_EN_1 (1 << 17) 10551099013bSjsg # define RADEON_GPIO_MASK_0 (1 << 24) /*??*/ 10561099013bSjsg # define RADEON_GPIO_MASK_1 (1 << 25) /*??*/ 10571099013bSjsg #define RADEON_GRPH8_DATA 0x03cf /* VGA */ 10581099013bSjsg #define RADEON_GRPH8_IDX 0x03ce /* VGA */ 10591099013bSjsg #define RADEON_GUI_SCRATCH_REG0 0x15e0 10601099013bSjsg #define RADEON_GUI_SCRATCH_REG1 0x15e4 10611099013bSjsg #define RADEON_GUI_SCRATCH_REG2 0x15e8 10621099013bSjsg #define RADEON_GUI_SCRATCH_REG3 0x15ec 10631099013bSjsg #define RADEON_GUI_SCRATCH_REG4 0x15f0 10641099013bSjsg #define RADEON_GUI_SCRATCH_REG5 0x15f4 10651099013bSjsg 10661099013bSjsg #define RADEON_HEADER 0x0f0e /* PCI */ 10671099013bSjsg #define RADEON_HOST_DATA0 0x17c0 10681099013bSjsg #define RADEON_HOST_DATA1 0x17c4 10691099013bSjsg #define RADEON_HOST_DATA2 0x17c8 10701099013bSjsg #define RADEON_HOST_DATA3 0x17cc 10711099013bSjsg #define RADEON_HOST_DATA4 0x17d0 10721099013bSjsg #define RADEON_HOST_DATA5 0x17d4 10731099013bSjsg #define RADEON_HOST_DATA6 0x17d8 10741099013bSjsg #define RADEON_HOST_DATA7 0x17dc 10751099013bSjsg #define RADEON_HOST_DATA_LAST 0x17e0 10761099013bSjsg #define RADEON_HOST_PATH_CNTL 0x0130 10771099013bSjsg # define RADEON_HP_LIN_RD_CACHE_DIS (1 << 24) 10781099013bSjsg # define RADEON_HDP_READ_BUFFER_INVALIDATE (1 << 27) 10791099013bSjsg # define RADEON_HDP_SOFT_RESET (1 << 26) 10801099013bSjsg # define RADEON_HDP_APER_CNTL (1 << 23) 10811099013bSjsg #define RADEON_HTOTAL_CNTL 0x0009 /* PLL */ 10821099013bSjsg # define RADEON_HTOT_CNTL_VGA_EN (1 << 28) 10831099013bSjsg #define RADEON_HTOTAL2_CNTL 0x002e /* PLL */ 10841099013bSjsg 10851099013bSjsg /* Multimedia I2C bus */ 10861099013bSjsg #define RADEON_I2C_CNTL_0 0x0090 10871099013bSjsg # define RADEON_I2C_DONE (1 << 0) 10881099013bSjsg # define RADEON_I2C_NACK (1 << 1) 10891099013bSjsg # define RADEON_I2C_HALT (1 << 2) 10901099013bSjsg # define RADEON_I2C_SOFT_RST (1 << 5) 10911099013bSjsg # define RADEON_I2C_DRIVE_EN (1 << 6) 10921099013bSjsg # define RADEON_I2C_DRIVE_SEL (1 << 7) 10931099013bSjsg # define RADEON_I2C_START (1 << 8) 10941099013bSjsg # define RADEON_I2C_STOP (1 << 9) 10951099013bSjsg # define RADEON_I2C_RECEIVE (1 << 10) 10961099013bSjsg # define RADEON_I2C_ABORT (1 << 11) 10971099013bSjsg # define RADEON_I2C_GO (1 << 12) 10981099013bSjsg # define RADEON_I2C_PRESCALE_SHIFT 16 10991099013bSjsg #define RADEON_I2C_CNTL_1 0x0094 11001099013bSjsg # define RADEON_I2C_DATA_COUNT_SHIFT 0 11011099013bSjsg # define RADEON_I2C_ADDR_COUNT_SHIFT 4 11021099013bSjsg # define RADEON_I2C_INTRA_BYTE_DELAY_SHIFT 8 11031099013bSjsg # define RADEON_I2C_SEL (1 << 16) 11041099013bSjsg # define RADEON_I2C_EN (1 << 17) 11051099013bSjsg # define RADEON_I2C_TIME_LIMIT_SHIFT 24 11061099013bSjsg #define RADEON_I2C_DATA 0x0098 11071099013bSjsg 11081099013bSjsg #define RADEON_DVI_I2C_CNTL_0 0x02e0 11091099013bSjsg # define R200_DVI_I2C_PIN_SEL(x) ((x) << 3) 11101099013bSjsg # define R200_SEL_DDC1 0 /* depends on asic */ 11111099013bSjsg # define R200_SEL_DDC2 1 /* depends on asic */ 11121099013bSjsg # define R200_SEL_DDC3 2 /* depends on asic */ 11131099013bSjsg # define RADEON_SW_WANTS_TO_USE_DVI_I2C (1 << 13) 11141099013bSjsg # define RADEON_SW_CAN_USE_DVI_I2C (1 << 13) 11151099013bSjsg # define RADEON_SW_DONE_USING_DVI_I2C (1 << 14) 11161099013bSjsg # define RADEON_HW_NEEDS_DVI_I2C (1 << 14) 11171099013bSjsg # define RADEON_ABORT_HW_DVI_I2C (1 << 15) 11181099013bSjsg # define RADEON_HW_USING_DVI_I2C (1 << 15) 11191099013bSjsg #define RADEON_DVI_I2C_CNTL_1 0x02e4 11201099013bSjsg #define RADEON_DVI_I2C_DATA 0x02e8 11211099013bSjsg 11221099013bSjsg #define RADEON_INTERRUPT_LINE 0x0f3c /* PCI */ 11231099013bSjsg #define RADEON_INTERRUPT_PIN 0x0f3d /* PCI */ 11241099013bSjsg #define RADEON_IO_BASE 0x0f14 /* PCI */ 11251099013bSjsg 11261099013bSjsg #define RADEON_LATENCY 0x0f0d /* PCI */ 11271099013bSjsg #define RADEON_LEAD_BRES_DEC 0x1608 11281099013bSjsg #define RADEON_LEAD_BRES_LNTH 0x161c 11291099013bSjsg #define RADEON_LEAD_BRES_LNTH_SUB 0x1624 11301099013bSjsg #define RADEON_LVDS_GEN_CNTL 0x02d0 11311099013bSjsg # define RADEON_LVDS_ON (1 << 0) 11321099013bSjsg # define RADEON_LVDS_DISPLAY_DIS (1 << 1) 11331099013bSjsg # define RADEON_LVDS_PANEL_TYPE (1 << 2) 11341099013bSjsg # define RADEON_LVDS_PANEL_FORMAT (1 << 3) 11351099013bSjsg # define RADEON_LVDS_NO_FM (0 << 4) 11361099013bSjsg # define RADEON_LVDS_2_GREY (1 << 4) 11371099013bSjsg # define RADEON_LVDS_4_GREY (2 << 4) 11381099013bSjsg # define RADEON_LVDS_RST_FM (1 << 6) 11391099013bSjsg # define RADEON_LVDS_EN (1 << 7) 11401099013bSjsg # define RADEON_LVDS_BL_MOD_LEVEL_SHIFT 8 11411099013bSjsg # define RADEON_LVDS_BL_MOD_LEVEL_MASK (0xff << 8) 11421099013bSjsg # define RADEON_LVDS_BL_MOD_EN (1 << 16) 11431099013bSjsg # define RADEON_LVDS_BL_CLK_SEL (1 << 17) 11441099013bSjsg # define RADEON_LVDS_DIGON (1 << 18) 11451099013bSjsg # define RADEON_LVDS_BLON (1 << 19) 11461099013bSjsg # define RADEON_LVDS_FP_POL_LOW (1 << 20) 11471099013bSjsg # define RADEON_LVDS_LP_POL_LOW (1 << 21) 11481099013bSjsg # define RADEON_LVDS_DTM_POL_LOW (1 << 22) 11491099013bSjsg # define RADEON_LVDS_SEL_CRTC2 (1 << 23) 11501099013bSjsg # define RADEON_LVDS_FPDI_EN (1 << 27) 11511099013bSjsg # define RADEON_LVDS_HSYNC_DELAY_SHIFT 28 11521099013bSjsg #define RADEON_LVDS_PLL_CNTL 0x02d4 11531099013bSjsg # define RADEON_HSYNC_DELAY_SHIFT 28 11541099013bSjsg # define RADEON_HSYNC_DELAY_MASK (0xf << 28) 11551099013bSjsg # define RADEON_LVDS_PLL_EN (1 << 16) 11561099013bSjsg # define RADEON_LVDS_PLL_RESET (1 << 17) 11571099013bSjsg # define R300_LVDS_SRC_SEL_MASK (3 << 18) 11581099013bSjsg # define R300_LVDS_SRC_SEL_CRTC1 (0 << 18) 11591099013bSjsg # define R300_LVDS_SRC_SEL_CRTC2 (1 << 18) 11601099013bSjsg # define R300_LVDS_SRC_SEL_RMX (2 << 18) 11611099013bSjsg #define RADEON_LVDS_SS_GEN_CNTL 0x02ec 11621099013bSjsg # define RADEON_LVDS_PWRSEQ_DELAY1_SHIFT 16 11631099013bSjsg # define RADEON_LVDS_PWRSEQ_DELAY2_SHIFT 20 11641099013bSjsg 11651099013bSjsg #define RADEON_MAX_LATENCY 0x0f3f /* PCI */ 11661099013bSjsg #define RADEON_DISPLAY_BASE_ADDR 0x23c 11671099013bSjsg #define RADEON_DISPLAY2_BASE_ADDR 0x33c 11681099013bSjsg #define RADEON_OV0_BASE_ADDR 0x43c 11691099013bSjsg #define RADEON_NB_TOM 0x15c 11701099013bSjsg #define R300_MC_INIT_MISC_LAT_TIMER 0x180 11711099013bSjsg # define R300_MC_DISP0R_INIT_LAT_SHIFT 8 11721099013bSjsg # define R300_MC_DISP0R_INIT_LAT_MASK 0xf 11731099013bSjsg # define R300_MC_DISP1R_INIT_LAT_SHIFT 12 11741099013bSjsg # define R300_MC_DISP1R_INIT_LAT_MASK 0xf 11751099013bSjsg #define RADEON_MCLK_CNTL 0x0012 /* PLL */ 11761099013bSjsg # define RADEON_MCLKA_SRC_SEL_MASK 0x7 11771099013bSjsg # define RADEON_FORCEON_MCLKA (1 << 16) 11781099013bSjsg # define RADEON_FORCEON_MCLKB (1 << 17) 11791099013bSjsg # define RADEON_FORCEON_YCLKA (1 << 18) 11801099013bSjsg # define RADEON_FORCEON_YCLKB (1 << 19) 11811099013bSjsg # define RADEON_FORCEON_MC (1 << 20) 11821099013bSjsg # define RADEON_FORCEON_AIC (1 << 21) 11831099013bSjsg # define R300_DISABLE_MC_MCLKA (1 << 21) 11841099013bSjsg # define R300_DISABLE_MC_MCLKB (1 << 21) 11851099013bSjsg #define RADEON_MCLK_MISC 0x001f /* PLL */ 11861099013bSjsg # define RADEON_MC_MCLK_MAX_DYN_STOP_LAT (1 << 12) 11871099013bSjsg # define RADEON_IO_MCLK_MAX_DYN_STOP_LAT (1 << 13) 11881099013bSjsg # define RADEON_MC_MCLK_DYN_ENABLE (1 << 14) 11891099013bSjsg # define RADEON_IO_MCLK_DYN_ENABLE (1 << 15) 11901099013bSjsg 11911099013bSjsg #define RADEON_GPIOPAD_MASK 0x0198 11921099013bSjsg #define RADEON_GPIOPAD_A 0x019c 11931099013bSjsg #define RADEON_GPIOPAD_EN 0x01a0 11941099013bSjsg #define RADEON_GPIOPAD_Y 0x01a4 11951099013bSjsg #define RADEON_MDGPIO_MASK 0x01a8 11961099013bSjsg #define RADEON_MDGPIO_A 0x01ac 11971099013bSjsg #define RADEON_MDGPIO_EN 0x01b0 11981099013bSjsg #define RADEON_MDGPIO_Y 0x01b4 11991099013bSjsg 12001099013bSjsg #define RADEON_MEM_ADDR_CONFIG 0x0148 12011099013bSjsg #define RADEON_MEM_BASE 0x0f10 /* PCI */ 12021099013bSjsg #define RADEON_MEM_CNTL 0x0140 12031099013bSjsg # define RADEON_MEM_NUM_CHANNELS_MASK 0x01 12041099013bSjsg # define RADEON_MEM_USE_B_CH_ONLY (1 << 1) 12051099013bSjsg # define RV100_HALF_MODE (1 << 3) 12061099013bSjsg # define R300_MEM_NUM_CHANNELS_MASK 0x03 12071099013bSjsg # define R300_MEM_USE_CD_CH_ONLY (1 << 2) 12081099013bSjsg #define RADEON_MEM_TIMING_CNTL 0x0144 /* EXT_MEM_CNTL */ 12091099013bSjsg #define RADEON_MEM_INIT_LAT_TIMER 0x0154 12101099013bSjsg #define RADEON_MEM_INTF_CNTL 0x014c 12111099013bSjsg #define RADEON_MEM_SDRAM_MODE_REG 0x0158 12121099013bSjsg # define RADEON_SDRAM_MODE_MASK 0xffff0000 12131099013bSjsg # define RADEON_B3MEM_RESET_MASK 0x6fffffff 12141099013bSjsg # define RADEON_MEM_CFG_TYPE_DDR (1 << 30) 12151099013bSjsg #define RADEON_MEM_STR_CNTL 0x0150 12161099013bSjsg # define RADEON_MEM_PWRUP_COMPL_A (1 << 0) 12171099013bSjsg # define RADEON_MEM_PWRUP_COMPL_B (1 << 1) 12181099013bSjsg # define R300_MEM_PWRUP_COMPL_C (1 << 2) 12191099013bSjsg # define R300_MEM_PWRUP_COMPL_D (1 << 3) 12201099013bSjsg # define RADEON_MEM_PWRUP_COMPLETE 0x03 12211099013bSjsg # define R300_MEM_PWRUP_COMPLETE 0x0f 12221099013bSjsg #define RADEON_MC_STATUS 0x0150 12231099013bSjsg # define RADEON_MC_IDLE (1 << 2) 12241099013bSjsg # define R300_MC_IDLE (1 << 4) 12251099013bSjsg #define RADEON_MEM_VGA_RP_SEL 0x003c 12261099013bSjsg #define RADEON_MEM_VGA_WP_SEL 0x0038 12271099013bSjsg #define RADEON_MIN_GRANT 0x0f3e /* PCI */ 12281099013bSjsg #define RADEON_MM_DATA 0x0004 12291099013bSjsg #define RADEON_MM_INDEX 0x0000 12301099013bSjsg # define RADEON_MM_APER (1 << 31) 12311099013bSjsg #define RADEON_MPLL_CNTL 0x000e /* PLL */ 12321099013bSjsg #define RADEON_MPP_TB_CONFIG 0x01c0 /* ? */ 12331099013bSjsg #define RADEON_MPP_GP_CONFIG 0x01c8 /* ? */ 12341099013bSjsg #define RADEON_SEPROM_CNTL1 0x01c0 12351099013bSjsg # define RADEON_SCK_PRESCALE_SHIFT 24 12361099013bSjsg # define RADEON_SCK_PRESCALE_MASK (0xff << 24) 12371099013bSjsg #define R300_MC_IND_INDEX 0x01f8 12381099013bSjsg # define R300_MC_IND_ADDR_MASK 0x3f 12391099013bSjsg # define R300_MC_IND_WR_EN (1 << 8) 12401099013bSjsg #define R300_MC_IND_DATA 0x01fc 12411099013bSjsg #define R300_MC_READ_CNTL_AB 0x017c 12421099013bSjsg # define R300_MEM_RBS_POSITION_A_MASK 0x03 12431099013bSjsg #define R300_MC_READ_CNTL_CD_mcind 0x24 12441099013bSjsg # define R300_MEM_RBS_POSITION_C_MASK 0x03 12451099013bSjsg 12461099013bSjsg #define RADEON_N_VIF_COUNT 0x0248 12471099013bSjsg 12481099013bSjsg #define RADEON_OV0_AUTO_FLIP_CNTL 0x0470 12491099013bSjsg # define RADEON_OV0_AUTO_FLIP_CNTL_SOFT_BUF_NUM 0x00000007 12501099013bSjsg # define RADEON_OV0_AUTO_FLIP_CNTL_SOFT_REPEAT_FIELD 0x00000008 12511099013bSjsg # define RADEON_OV0_AUTO_FLIP_CNTL_SOFT_BUF_ODD 0x00000010 12521099013bSjsg # define RADEON_OV0_AUTO_FLIP_CNTL_IGNORE_REPEAT_FIELD 0x00000020 12531099013bSjsg # define RADEON_OV0_AUTO_FLIP_CNTL_SOFT_EOF_TOGGLE 0x00000040 12541099013bSjsg # define RADEON_OV0_AUTO_FLIP_CNTL_VID_PORT_SELECT 0x00000300 12551099013bSjsg # define RADEON_OV0_AUTO_FLIP_CNTL_P1_FIRST_LINE_EVEN 0x00010000 12561099013bSjsg # define RADEON_OV0_AUTO_FLIP_CNTL_SHIFT_EVEN_DOWN 0x00040000 12571099013bSjsg # define RADEON_OV0_AUTO_FLIP_CNTL_SHIFT_ODD_DOWN 0x00080000 12581099013bSjsg # define RADEON_OV0_AUTO_FLIP_CNTL_FIELD_POL_SOURCE 0x00800000 12591099013bSjsg 12601099013bSjsg #define RADEON_OV0_COLOUR_CNTL 0x04E0 12611099013bSjsg #define RADEON_OV0_DEINTERLACE_PATTERN 0x0474 12621099013bSjsg #define RADEON_OV0_EXCLUSIVE_HORZ 0x0408 12631099013bSjsg # define RADEON_EXCL_HORZ_START_MASK 0x000000ff 12641099013bSjsg # define RADEON_EXCL_HORZ_END_MASK 0x0000ff00 12651099013bSjsg # define RADEON_EXCL_HORZ_BACK_PORCH_MASK 0x00ff0000 12661099013bSjsg # define RADEON_EXCL_HORZ_EXCLUSIVE_EN 0x80000000 12671099013bSjsg #define RADEON_OV0_EXCLUSIVE_VERT 0x040C 12681099013bSjsg # define RADEON_EXCL_VERT_START_MASK 0x000003ff 12691099013bSjsg # define RADEON_EXCL_VERT_END_MASK 0x03ff0000 12701099013bSjsg #define RADEON_OV0_FILTER_CNTL 0x04A0 12711099013bSjsg # define RADEON_FILTER_PROGRAMMABLE_COEF 0x0 12721099013bSjsg # define RADEON_FILTER_HC_COEF_HORZ_Y 0x1 12731099013bSjsg # define RADEON_FILTER_HC_COEF_HORZ_UV 0x2 12741099013bSjsg # define RADEON_FILTER_HC_COEF_VERT_Y 0x4 12751099013bSjsg # define RADEON_FILTER_HC_COEF_VERT_UV 0x8 12761099013bSjsg # define RADEON_FILTER_HARDCODED_COEF 0xf 12771099013bSjsg # define RADEON_FILTER_COEF_MASK 0xf 12781099013bSjsg 12791099013bSjsg #define RADEON_OV0_FOUR_TAP_COEF_0 0x04B0 12801099013bSjsg #define RADEON_OV0_FOUR_TAP_COEF_1 0x04B4 12811099013bSjsg #define RADEON_OV0_FOUR_TAP_COEF_2 0x04B8 12821099013bSjsg #define RADEON_OV0_FOUR_TAP_COEF_3 0x04BC 12831099013bSjsg #define RADEON_OV0_FOUR_TAP_COEF_4 0x04C0 12841099013bSjsg #define RADEON_OV0_FLAG_CNTL 0x04DC 12851099013bSjsg #define RADEON_OV0_GAMMA_000_00F 0x0d40 12861099013bSjsg #define RADEON_OV0_GAMMA_010_01F 0x0d44 12871099013bSjsg #define RADEON_OV0_GAMMA_020_03F 0x0d48 12881099013bSjsg #define RADEON_OV0_GAMMA_040_07F 0x0d4c 12891099013bSjsg #define RADEON_OV0_GAMMA_080_0BF 0x0e00 12901099013bSjsg #define RADEON_OV0_GAMMA_0C0_0FF 0x0e04 12911099013bSjsg #define RADEON_OV0_GAMMA_100_13F 0x0e08 12921099013bSjsg #define RADEON_OV0_GAMMA_140_17F 0x0e0c 12931099013bSjsg #define RADEON_OV0_GAMMA_180_1BF 0x0e10 12941099013bSjsg #define RADEON_OV0_GAMMA_1C0_1FF 0x0e14 12951099013bSjsg #define RADEON_OV0_GAMMA_200_23F 0x0e18 12961099013bSjsg #define RADEON_OV0_GAMMA_240_27F 0x0e1c 12971099013bSjsg #define RADEON_OV0_GAMMA_280_2BF 0x0e20 12981099013bSjsg #define RADEON_OV0_GAMMA_2C0_2FF 0x0e24 12991099013bSjsg #define RADEON_OV0_GAMMA_300_33F 0x0e28 13001099013bSjsg #define RADEON_OV0_GAMMA_340_37F 0x0e2c 13011099013bSjsg #define RADEON_OV0_GAMMA_380_3BF 0x0d50 13021099013bSjsg #define RADEON_OV0_GAMMA_3C0_3FF 0x0d54 13031099013bSjsg #define RADEON_OV0_GRAPHICS_KEY_CLR_LOW 0x04EC 13041099013bSjsg #define RADEON_OV0_GRAPHICS_KEY_CLR_HIGH 0x04F0 13051099013bSjsg #define RADEON_OV0_H_INC 0x0480 13061099013bSjsg #define RADEON_OV0_KEY_CNTL 0x04F4 13071099013bSjsg # define RADEON_VIDEO_KEY_FN_MASK 0x00000003L 13081099013bSjsg # define RADEON_VIDEO_KEY_FN_FALSE 0x00000000L 13091099013bSjsg # define RADEON_VIDEO_KEY_FN_TRUE 0x00000001L 13101099013bSjsg # define RADEON_VIDEO_KEY_FN_EQ 0x00000002L 13111099013bSjsg # define RADEON_VIDEO_KEY_FN_NE 0x00000003L 13121099013bSjsg # define RADEON_GRAPHIC_KEY_FN_MASK 0x00000030L 13131099013bSjsg # define RADEON_GRAPHIC_KEY_FN_FALSE 0x00000000L 13141099013bSjsg # define RADEON_GRAPHIC_KEY_FN_TRUE 0x00000010L 13151099013bSjsg # define RADEON_GRAPHIC_KEY_FN_EQ 0x00000020L 13161099013bSjsg # define RADEON_GRAPHIC_KEY_FN_NE 0x00000030L 13171099013bSjsg # define RADEON_CMP_MIX_MASK 0x00000100L 13181099013bSjsg # define RADEON_CMP_MIX_OR 0x00000000L 13191099013bSjsg # define RADEON_CMP_MIX_AND 0x00000100L 13201099013bSjsg #define RADEON_OV0_LIN_TRANS_A 0x0d20 13211099013bSjsg #define RADEON_OV0_LIN_TRANS_B 0x0d24 13221099013bSjsg #define RADEON_OV0_LIN_TRANS_C 0x0d28 13231099013bSjsg #define RADEON_OV0_LIN_TRANS_D 0x0d2c 13241099013bSjsg #define RADEON_OV0_LIN_TRANS_E 0x0d30 13251099013bSjsg #define RADEON_OV0_LIN_TRANS_F 0x0d34 13261099013bSjsg #define RADEON_OV0_P1_BLANK_LINES_AT_TOP 0x0430 13271099013bSjsg # define RADEON_P1_BLNK_LN_AT_TOP_M1_MASK 0x00000fffL 13281099013bSjsg # define RADEON_P1_ACTIVE_LINES_M1 0x0fff0000L 13291099013bSjsg #define RADEON_OV0_P1_H_ACCUM_INIT 0x0488 13301099013bSjsg #define RADEON_OV0_P1_V_ACCUM_INIT 0x0428 13311099013bSjsg # define RADEON_OV0_P1_MAX_LN_IN_PER_LN_OUT 0x00000003L 13321099013bSjsg # define RADEON_OV0_P1_V_ACCUM_INIT_MASK 0x01ff8000L 13331099013bSjsg #define RADEON_OV0_P1_X_START_END 0x0494 13341099013bSjsg #define RADEON_OV0_P2_X_START_END 0x0498 13351099013bSjsg #define RADEON_OV0_P23_BLANK_LINES_AT_TOP 0x0434 13361099013bSjsg # define RADEON_P23_BLNK_LN_AT_TOP_M1_MASK 0x000007ffL 13371099013bSjsg # define RADEON_P23_ACTIVE_LINES_M1 0x07ff0000L 13381099013bSjsg #define RADEON_OV0_P23_H_ACCUM_INIT 0x048C 13391099013bSjsg #define RADEON_OV0_P23_V_ACCUM_INIT 0x042C 13401099013bSjsg #define RADEON_OV0_P3_X_START_END 0x049C 13411099013bSjsg #define RADEON_OV0_REG_LOAD_CNTL 0x0410 13421099013bSjsg # define RADEON_REG_LD_CTL_LOCK 0x00000001L 13431099013bSjsg # define RADEON_REG_LD_CTL_VBLANK_DURING_LOCK 0x00000002L 13441099013bSjsg # define RADEON_REG_LD_CTL_STALL_GUI_UNTIL_FLIP 0x00000004L 13451099013bSjsg # define RADEON_REG_LD_CTL_LOCK_READBACK 0x00000008L 13461099013bSjsg # define RADEON_REG_LD_CTL_FLIP_READBACK 0x00000010L 13471099013bSjsg #define RADEON_OV0_SCALE_CNTL 0x0420 13481099013bSjsg # define RADEON_SCALER_HORZ_PICK_NEAREST 0x00000004L 13491099013bSjsg # define RADEON_SCALER_VERT_PICK_NEAREST 0x00000008L 13501099013bSjsg # define RADEON_SCALER_SIGNED_UV 0x00000010L 13511099013bSjsg # define RADEON_SCALER_GAMMA_SEL_MASK 0x00000060L 13521099013bSjsg # define RADEON_SCALER_GAMMA_SEL_BRIGHT 0x00000000L 13531099013bSjsg # define RADEON_SCALER_GAMMA_SEL_G22 0x00000020L 13541099013bSjsg # define RADEON_SCALER_GAMMA_SEL_G18 0x00000040L 13551099013bSjsg # define RADEON_SCALER_GAMMA_SEL_G14 0x00000060L 13561099013bSjsg # define RADEON_SCALER_COMCORE_SHIFT_UP_ONE 0x00000080L 13571099013bSjsg # define RADEON_SCALER_SURFAC_FORMAT 0x00000f00L 13581099013bSjsg # define RADEON_SCALER_SOURCE_15BPP 0x00000300L 13591099013bSjsg # define RADEON_SCALER_SOURCE_16BPP 0x00000400L 13601099013bSjsg # define RADEON_SCALER_SOURCE_32BPP 0x00000600L 13611099013bSjsg # define RADEON_SCALER_SOURCE_YUV9 0x00000900L 13621099013bSjsg # define RADEON_SCALER_SOURCE_YUV12 0x00000A00L 13631099013bSjsg # define RADEON_SCALER_SOURCE_VYUY422 0x00000B00L 13641099013bSjsg # define RADEON_SCALER_SOURCE_YVYU422 0x00000C00L 13651099013bSjsg # define RADEON_SCALER_ADAPTIVE_DEINT 0x00001000L 13661099013bSjsg # define RADEON_SCALER_TEMPORAL_DEINT 0x00002000L 13671099013bSjsg # define RADEON_SCALER_CRTC_SEL 0x00004000L 13681099013bSjsg # define RADEON_SCALER_SMART_SWITCH 0x00008000L 13691099013bSjsg # define RADEON_SCALER_BURST_PER_PLANE 0x007F0000L 13701099013bSjsg # define RADEON_SCALER_DOUBLE_BUFFER 0x01000000L 13711099013bSjsg # define RADEON_SCALER_DIS_LIMIT 0x08000000L 13721099013bSjsg # define RADEON_SCALER_LIN_TRANS_BYPASS 0x10000000L 13731099013bSjsg # define RADEON_SCALER_INT_EMU 0x20000000L 13741099013bSjsg # define RADEON_SCALER_ENABLE 0x40000000L 13751099013bSjsg # define RADEON_SCALER_SOFT_RESET 0x80000000L 13761099013bSjsg #define RADEON_OV0_STEP_BY 0x0484 13771099013bSjsg #define RADEON_OV0_TEST 0x04F8 13781099013bSjsg #define RADEON_OV0_V_INC 0x0424 13791099013bSjsg #define RADEON_OV0_VID_BUF_PITCH0_VALUE 0x0460 13801099013bSjsg #define RADEON_OV0_VID_BUF_PITCH1_VALUE 0x0464 13811099013bSjsg #define RADEON_OV0_VID_BUF0_BASE_ADRS 0x0440 13821099013bSjsg # define RADEON_VIF_BUF0_PITCH_SEL 0x00000001L 13831099013bSjsg # define RADEON_VIF_BUF0_TILE_ADRS 0x00000002L 13841099013bSjsg # define RADEON_VIF_BUF0_BASE_ADRS_MASK 0x03fffff0L 13851099013bSjsg # define RADEON_VIF_BUF0_1ST_LINE_LSBS_MASK 0x48000000L 13861099013bSjsg #define RADEON_OV0_VID_BUF1_BASE_ADRS 0x0444 13871099013bSjsg # define RADEON_VIF_BUF1_PITCH_SEL 0x00000001L 13881099013bSjsg # define RADEON_VIF_BUF1_TILE_ADRS 0x00000002L 13891099013bSjsg # define RADEON_VIF_BUF1_BASE_ADRS_MASK 0x03fffff0L 13901099013bSjsg # define RADEON_VIF_BUF1_1ST_LINE_LSBS_MASK 0x48000000L 13911099013bSjsg #define RADEON_OV0_VID_BUF2_BASE_ADRS 0x0448 13921099013bSjsg # define RADEON_VIF_BUF2_PITCH_SEL 0x00000001L 13931099013bSjsg # define RADEON_VIF_BUF2_TILE_ADRS 0x00000002L 13941099013bSjsg # define RADEON_VIF_BUF2_BASE_ADRS_MASK 0x03fffff0L 13951099013bSjsg # define RADEON_VIF_BUF2_1ST_LINE_LSBS_MASK 0x48000000L 13961099013bSjsg #define RADEON_OV0_VID_BUF3_BASE_ADRS 0x044C 13971099013bSjsg #define RADEON_OV0_VID_BUF4_BASE_ADRS 0x0450 13981099013bSjsg #define RADEON_OV0_VID_BUF5_BASE_ADRS 0x0454 13991099013bSjsg #define RADEON_OV0_VIDEO_KEY_CLR_HIGH 0x04E8 14001099013bSjsg #define RADEON_OV0_VIDEO_KEY_CLR_LOW 0x04E4 14011099013bSjsg #define RADEON_OV0_Y_X_START 0x0400 14021099013bSjsg #define RADEON_OV0_Y_X_END 0x0404 14031099013bSjsg #define RADEON_OV1_Y_X_START 0x0600 14041099013bSjsg #define RADEON_OV1_Y_X_END 0x0604 14051099013bSjsg #define RADEON_OVR_CLR 0x0230 14061099013bSjsg #define RADEON_OVR_WID_LEFT_RIGHT 0x0234 14071099013bSjsg #define RADEON_OVR_WID_TOP_BOTTOM 0x0238 14081099013bSjsg #define RADEON_OVR2_CLR 0x0330 14091099013bSjsg #define RADEON_OVR2_WID_LEFT_RIGHT 0x0334 14101099013bSjsg #define RADEON_OVR2_WID_TOP_BOTTOM 0x0338 14111099013bSjsg 14121099013bSjsg /* first capture unit */ 14131099013bSjsg 14141099013bSjsg #define RADEON_CAP0_BUF0_OFFSET 0x0920 14151099013bSjsg #define RADEON_CAP0_BUF1_OFFSET 0x0924 14161099013bSjsg #define RADEON_CAP0_BUF0_EVEN_OFFSET 0x0928 14171099013bSjsg #define RADEON_CAP0_BUF1_EVEN_OFFSET 0x092C 14181099013bSjsg 14191099013bSjsg #define RADEON_CAP0_BUF_PITCH 0x0930 14201099013bSjsg #define RADEON_CAP0_V_WINDOW 0x0934 14211099013bSjsg #define RADEON_CAP0_H_WINDOW 0x0938 14221099013bSjsg #define RADEON_CAP0_VBI0_OFFSET 0x093C 14231099013bSjsg #define RADEON_CAP0_VBI1_OFFSET 0x0940 14241099013bSjsg #define RADEON_CAP0_VBI_V_WINDOW 0x0944 14251099013bSjsg #define RADEON_CAP0_VBI_H_WINDOW 0x0948 14261099013bSjsg #define RADEON_CAP0_PORT_MODE_CNTL 0x094C 14271099013bSjsg #define RADEON_CAP0_TRIG_CNTL 0x0950 14281099013bSjsg #define RADEON_CAP0_DEBUG 0x0954 14291099013bSjsg #define RADEON_CAP0_CONFIG 0x0958 14301099013bSjsg # define RADEON_CAP0_CONFIG_CONTINUOS 0x00000001 14311099013bSjsg # define RADEON_CAP0_CONFIG_START_FIELD_EVEN 0x00000002 14321099013bSjsg # define RADEON_CAP0_CONFIG_START_BUF_GET 0x00000004 14331099013bSjsg # define RADEON_CAP0_CONFIG_START_BUF_SET 0x00000008 14341099013bSjsg # define RADEON_CAP0_CONFIG_BUF_TYPE_ALT 0x00000010 14351099013bSjsg # define RADEON_CAP0_CONFIG_BUF_TYPE_FRAME 0x00000020 14361099013bSjsg # define RADEON_CAP0_CONFIG_ONESHOT_MODE_FRAME 0x00000040 14371099013bSjsg # define RADEON_CAP0_CONFIG_BUF_MODE_DOUBLE 0x00000080 14381099013bSjsg # define RADEON_CAP0_CONFIG_BUF_MODE_TRIPLE 0x00000100 14391099013bSjsg # define RADEON_CAP0_CONFIG_MIRROR_EN 0x00000200 14401099013bSjsg # define RADEON_CAP0_CONFIG_ONESHOT_MIRROR_EN 0x00000400 14411099013bSjsg # define RADEON_CAP0_CONFIG_VIDEO_SIGNED_UV 0x00000800 14421099013bSjsg # define RADEON_CAP0_CONFIG_ANC_DECODE_EN 0x00001000 14431099013bSjsg # define RADEON_CAP0_CONFIG_VBI_EN 0x00002000 14441099013bSjsg # define RADEON_CAP0_CONFIG_SOFT_PULL_DOWN_EN 0x00004000 14451099013bSjsg # define RADEON_CAP0_CONFIG_VIP_EXTEND_FLAG_EN 0x00008000 14461099013bSjsg # define RADEON_CAP0_CONFIG_FAKE_FIELD_EN 0x00010000 14471099013bSjsg # define RADEON_CAP0_CONFIG_ODD_ONE_MORE_LINE 0x00020000 14481099013bSjsg # define RADEON_CAP0_CONFIG_EVEN_ONE_MORE_LINE 0x00040000 14491099013bSjsg # define RADEON_CAP0_CONFIG_HORZ_DIVIDE_2 0x00080000 14501099013bSjsg # define RADEON_CAP0_CONFIG_HORZ_DIVIDE_4 0x00100000 14511099013bSjsg # define RADEON_CAP0_CONFIG_VERT_DIVIDE_2 0x00200000 14521099013bSjsg # define RADEON_CAP0_CONFIG_VERT_DIVIDE_4 0x00400000 14531099013bSjsg # define RADEON_CAP0_CONFIG_FORMAT_BROOKTREE 0x00000000 14541099013bSjsg # define RADEON_CAP0_CONFIG_FORMAT_CCIR656 0x00800000 14551099013bSjsg # define RADEON_CAP0_CONFIG_FORMAT_ZV 0x01000000 14561099013bSjsg # define RADEON_CAP0_CONFIG_FORMAT_VIP 0x01800000 14571099013bSjsg # define RADEON_CAP0_CONFIG_FORMAT_TRANSPORT 0x02000000 14581099013bSjsg # define RADEON_CAP0_CONFIG_HORZ_DECIMATOR 0x04000000 14591099013bSjsg # define RADEON_CAP0_CONFIG_VIDEO_IN_YVYU422 0x00000000 14601099013bSjsg # define RADEON_CAP0_CONFIG_VIDEO_IN_VYUY422 0x20000000 14611099013bSjsg # define RADEON_CAP0_CONFIG_VBI_DIVIDE_2 0x40000000 14621099013bSjsg # define RADEON_CAP0_CONFIG_VBI_DIVIDE_4 0x80000000 14631099013bSjsg #define RADEON_CAP0_ANC_ODD_OFFSET 0x095C 14641099013bSjsg #define RADEON_CAP0_ANC_EVEN_OFFSET 0x0960 14651099013bSjsg #define RADEON_CAP0_ANC_H_WINDOW 0x0964 14661099013bSjsg #define RADEON_CAP0_VIDEO_SYNC_TEST 0x0968 14671099013bSjsg #define RADEON_CAP0_ONESHOT_BUF_OFFSET 0x096C 14681099013bSjsg #define RADEON_CAP0_BUF_STATUS 0x0970 14691099013bSjsg /* #define RADEON_CAP0_DWNSC_XRATIO 0x0978 */ 14701099013bSjsg /* #define RADEON_CAP0_XSHARPNESS 0x097C */ 14711099013bSjsg #define RADEON_CAP0_VBI2_OFFSET 0x0980 14721099013bSjsg #define RADEON_CAP0_VBI3_OFFSET 0x0984 14731099013bSjsg #define RADEON_CAP0_ANC2_OFFSET 0x0988 14741099013bSjsg #define RADEON_CAP0_ANC3_OFFSET 0x098C 14751099013bSjsg #define RADEON_VID_BUFFER_CONTROL 0x0900 14761099013bSjsg 14771099013bSjsg /* second capture unit */ 14781099013bSjsg 14791099013bSjsg #define RADEON_CAP1_BUF0_OFFSET 0x0990 14801099013bSjsg #define RADEON_CAP1_BUF1_OFFSET 0x0994 14811099013bSjsg #define RADEON_CAP1_BUF0_EVEN_OFFSET 0x0998 14821099013bSjsg #define RADEON_CAP1_BUF1_EVEN_OFFSET 0x099C 14831099013bSjsg 14841099013bSjsg #define RADEON_CAP1_BUF_PITCH 0x09A0 14851099013bSjsg #define RADEON_CAP1_V_WINDOW 0x09A4 14861099013bSjsg #define RADEON_CAP1_H_WINDOW 0x09A8 14871099013bSjsg #define RADEON_CAP1_VBI_ODD_OFFSET 0x09AC 14881099013bSjsg #define RADEON_CAP1_VBI_EVEN_OFFSET 0x09B0 14891099013bSjsg #define RADEON_CAP1_VBI_V_WINDOW 0x09B4 14901099013bSjsg #define RADEON_CAP1_VBI_H_WINDOW 0x09B8 14911099013bSjsg #define RADEON_CAP1_PORT_MODE_CNTL 0x09BC 14921099013bSjsg #define RADEON_CAP1_TRIG_CNTL 0x09C0 14931099013bSjsg #define RADEON_CAP1_DEBUG 0x09C4 14941099013bSjsg #define RADEON_CAP1_CONFIG 0x09C8 14951099013bSjsg #define RADEON_CAP1_ANC_ODD_OFFSET 0x09CC 14961099013bSjsg #define RADEON_CAP1_ANC_EVEN_OFFSET 0x09D0 14971099013bSjsg #define RADEON_CAP1_ANC_H_WINDOW 0x09D4 14981099013bSjsg #define RADEON_CAP1_VIDEO_SYNC_TEST 0x09D8 14991099013bSjsg #define RADEON_CAP1_ONESHOT_BUF_OFFSET 0x09DC 15001099013bSjsg #define RADEON_CAP1_BUF_STATUS 0x09E0 15011099013bSjsg #define RADEON_CAP1_DWNSC_XRATIO 0x09E8 15021099013bSjsg #define RADEON_CAP1_XSHARPNESS 0x09EC 15031099013bSjsg 15041099013bSjsg /* misc multimedia registers */ 15051099013bSjsg 15061099013bSjsg #define RADEON_IDCT_RUNS 0x1F80 15071099013bSjsg #define RADEON_IDCT_LEVELS 0x1F84 15081099013bSjsg #define RADEON_IDCT_CONTROL 0x1FBC 15091099013bSjsg #define RADEON_IDCT_AUTH_CONTROL 0x1F88 15101099013bSjsg #define RADEON_IDCT_AUTH 0x1F8C 15111099013bSjsg 15121099013bSjsg #define RADEON_P2PLL_CNTL 0x002a /* P2PLL */ 15131099013bSjsg # define RADEON_P2PLL_RESET (1 << 0) 15141099013bSjsg # define RADEON_P2PLL_SLEEP (1 << 1) 15151099013bSjsg # define RADEON_P2PLL_PVG_MASK (7 << 11) 15161099013bSjsg # define RADEON_P2PLL_PVG_SHIFT 11 15171099013bSjsg # define RADEON_P2PLL_ATOMIC_UPDATE_EN (1 << 16) 15181099013bSjsg # define RADEON_P2PLL_VGA_ATOMIC_UPDATE_EN (1 << 17) 15191099013bSjsg # define RADEON_P2PLL_ATOMIC_UPDATE_VSYNC (1 << 18) 15201099013bSjsg #define RADEON_P2PLL_DIV_0 0x002c 15211099013bSjsg # define RADEON_P2PLL_FB0_DIV_MASK 0x07ff 15221099013bSjsg # define RADEON_P2PLL_POST0_DIV_MASK 0x00070000 15231099013bSjsg #define RADEON_P2PLL_REF_DIV 0x002B /* PLL */ 15241099013bSjsg # define RADEON_P2PLL_REF_DIV_MASK 0x03ff 15251099013bSjsg # define RADEON_P2PLL_ATOMIC_UPDATE_R (1 << 15) /* same as _W */ 15261099013bSjsg # define RADEON_P2PLL_ATOMIC_UPDATE_W (1 << 15) /* same as _R */ 15271099013bSjsg # define R300_PPLL_REF_DIV_ACC_MASK (0x3ff << 18) 15281099013bSjsg # define R300_PPLL_REF_DIV_ACC_SHIFT 18 15291099013bSjsg #define RADEON_PALETTE_DATA 0x00b4 15301099013bSjsg #define RADEON_PALETTE_30_DATA 0x00b8 15311099013bSjsg #define RADEON_PALETTE_INDEX 0x00b0 15321099013bSjsg #define RADEON_PCI_GART_PAGE 0x017c 15331099013bSjsg #define RADEON_PIXCLKS_CNTL 0x002d 15341099013bSjsg # define RADEON_PIX2CLK_SRC_SEL_MASK 0x03 15351099013bSjsg # define RADEON_PIX2CLK_SRC_SEL_CPUCLK 0x00 15361099013bSjsg # define RADEON_PIX2CLK_SRC_SEL_PSCANCLK 0x01 15371099013bSjsg # define RADEON_PIX2CLK_SRC_SEL_BYTECLK 0x02 15381099013bSjsg # define RADEON_PIX2CLK_SRC_SEL_P2PLLCLK 0x03 15391099013bSjsg # define RADEON_PIX2CLK_ALWAYS_ONb (1<<6) 15401099013bSjsg # define RADEON_PIX2CLK_DAC_ALWAYS_ONb (1<<7) 15411099013bSjsg # define RADEON_PIXCLK_TV_SRC_SEL (1 << 8) 15421099013bSjsg # define RADEON_DISP_TVOUT_PIXCLK_TV_ALWAYS_ONb (1 << 9) 15431099013bSjsg # define R300_DVOCLK_ALWAYS_ONb (1 << 10) 15441099013bSjsg # define RADEON_PIXCLK_BLEND_ALWAYS_ONb (1 << 11) 15451099013bSjsg # define RADEON_PIXCLK_GV_ALWAYS_ONb (1 << 12) 15461099013bSjsg # define RADEON_PIXCLK_DIG_TMDS_ALWAYS_ONb (1 << 13) 15471099013bSjsg # define R300_PIXCLK_DVO_ALWAYS_ONb (1 << 13) 15481099013bSjsg # define RADEON_PIXCLK_LVDS_ALWAYS_ONb (1 << 14) 15491099013bSjsg # define RADEON_PIXCLK_TMDS_ALWAYS_ONb (1 << 15) 15501099013bSjsg # define R300_PIXCLK_TRANS_ALWAYS_ONb (1 << 16) 15511099013bSjsg # define R300_PIXCLK_TVO_ALWAYS_ONb (1 << 17) 15521099013bSjsg # define R300_P2G2CLK_ALWAYS_ONb (1 << 18) 15531099013bSjsg # define R300_P2G2CLK_DAC_ALWAYS_ONb (1 << 19) 15541099013bSjsg # define R300_DISP_DAC_PIXCLK_DAC2_BLANK_OFF (1 << 23) 15551099013bSjsg #define RADEON_PLANE_3D_MASK_C 0x1d44 15561099013bSjsg #define RADEON_PLL_TEST_CNTL 0x0013 /* PLL */ 15571099013bSjsg # define RADEON_PLL_MASK_READ_B (1 << 9) 15581099013bSjsg #define RADEON_PMI_CAP_ID 0x0f5c /* PCI */ 15591099013bSjsg #define RADEON_PMI_DATA 0x0f63 /* PCI */ 15601099013bSjsg #define RADEON_PMI_NXT_CAP_PTR 0x0f5d /* PCI */ 15611099013bSjsg #define RADEON_PMI_PMC_REG 0x0f5e /* PCI */ 15621099013bSjsg #define RADEON_PMI_PMCSR_REG 0x0f60 /* PCI */ 15631099013bSjsg #define RADEON_PMI_REGISTER 0x0f5c /* PCI */ 15641099013bSjsg #define RADEON_PPLL_CNTL 0x0002 /* PLL */ 15651099013bSjsg # define RADEON_PPLL_RESET (1 << 0) 15661099013bSjsg # define RADEON_PPLL_SLEEP (1 << 1) 15671099013bSjsg # define RADEON_PPLL_PVG_MASK (7 << 11) 15681099013bSjsg # define RADEON_PPLL_PVG_SHIFT 11 15691099013bSjsg # define RADEON_PPLL_ATOMIC_UPDATE_EN (1 << 16) 15701099013bSjsg # define RADEON_PPLL_VGA_ATOMIC_UPDATE_EN (1 << 17) 15711099013bSjsg # define RADEON_PPLL_ATOMIC_UPDATE_VSYNC (1 << 18) 15721099013bSjsg #define RADEON_PPLL_DIV_0 0x0004 /* PLL */ 15731099013bSjsg #define RADEON_PPLL_DIV_1 0x0005 /* PLL */ 15741099013bSjsg #define RADEON_PPLL_DIV_2 0x0006 /* PLL */ 15751099013bSjsg #define RADEON_PPLL_DIV_3 0x0007 /* PLL */ 15761099013bSjsg # define RADEON_PPLL_FB3_DIV_MASK 0x07ff 15771099013bSjsg # define RADEON_PPLL_POST3_DIV_MASK 0x00070000 15781099013bSjsg #define RADEON_PPLL_REF_DIV 0x0003 /* PLL */ 15791099013bSjsg # define RADEON_PPLL_REF_DIV_MASK 0x03ff 15801099013bSjsg # define RADEON_PPLL_ATOMIC_UPDATE_R (1 << 15) /* same as _W */ 15811099013bSjsg # define RADEON_PPLL_ATOMIC_UPDATE_W (1 << 15) /* same as _R */ 15821099013bSjsg #define RADEON_PWR_MNGMT_CNTL_STATUS 0x0f60 /* PCI */ 15831099013bSjsg 15841099013bSjsg #define RADEON_RBBM_GUICNTL 0x172c 15851099013bSjsg # define RADEON_HOST_DATA_SWAP_NONE (0 << 0) 15861099013bSjsg # define RADEON_HOST_DATA_SWAP_16BIT (1 << 0) 15871099013bSjsg # define RADEON_HOST_DATA_SWAP_32BIT (2 << 0) 15881099013bSjsg # define RADEON_HOST_DATA_SWAP_HDW (3 << 0) 15891099013bSjsg #define RADEON_RBBM_SOFT_RESET 0x00f0 15901099013bSjsg # define RADEON_SOFT_RESET_CP (1 << 0) 15911099013bSjsg # define RADEON_SOFT_RESET_HI (1 << 1) 15921099013bSjsg # define RADEON_SOFT_RESET_SE (1 << 2) 15931099013bSjsg # define RADEON_SOFT_RESET_RE (1 << 3) 15941099013bSjsg # define RADEON_SOFT_RESET_PP (1 << 4) 15951099013bSjsg # define RADEON_SOFT_RESET_E2 (1 << 5) 15961099013bSjsg # define RADEON_SOFT_RESET_RB (1 << 6) 15971099013bSjsg # define RADEON_SOFT_RESET_HDP (1 << 7) 15981099013bSjsg #define RADEON_RBBM_STATUS 0x0e40 15991099013bSjsg # define RADEON_RBBM_FIFOCNT_MASK 0x007f 16001099013bSjsg # define RADEON_RBBM_ACTIVE (1 << 31) 16011099013bSjsg #define RADEON_RB2D_DSTCACHE_CTLSTAT 0x342c 16021099013bSjsg # define RADEON_RB2D_DC_FLUSH (3 << 0) 16031099013bSjsg # define RADEON_RB2D_DC_FREE (3 << 2) 16041099013bSjsg # define RADEON_RB2D_DC_FLUSH_ALL 0xf 16051099013bSjsg # define RADEON_RB2D_DC_BUSY (1 << 31) 16061099013bSjsg #define RADEON_RB2D_DSTCACHE_MODE 0x3428 16071099013bSjsg #define RADEON_DSTCACHE_CTLSTAT 0x1714 16081099013bSjsg 16091099013bSjsg #define RADEON_RB3D_ZCACHE_MODE 0x3250 16101099013bSjsg #define RADEON_RB3D_ZCACHE_CTLSTAT 0x3254 16111099013bSjsg # define RADEON_RB3D_ZC_FLUSH_ALL 0x5 16121099013bSjsg #define RADEON_RB3D_DSTCACHE_MODE 0x3258 16131099013bSjsg # define RADEON_RB3D_DC_CACHE_ENABLE (0) 16141099013bSjsg # define RADEON_RB3D_DC_2D_CACHE_DISABLE (1) 16151099013bSjsg # define RADEON_RB3D_DC_3D_CACHE_DISABLE (2) 16161099013bSjsg # define RADEON_RB3D_DC_CACHE_DISABLE (3) 16171099013bSjsg # define RADEON_RB3D_DC_2D_CACHE_LINESIZE_128 (1 << 2) 16181099013bSjsg # define RADEON_RB3D_DC_3D_CACHE_LINESIZE_128 (2 << 2) 16191099013bSjsg # define RADEON_RB3D_DC_2D_CACHE_AUTOFLUSH (1 << 8) 16201099013bSjsg # define RADEON_RB3D_DC_3D_CACHE_AUTOFLUSH (2 << 8) 16211099013bSjsg # define R200_RB3D_DC_2D_CACHE_AUTOFREE (1 << 10) 16221099013bSjsg # define R200_RB3D_DC_3D_CACHE_AUTOFREE (2 << 10) 16231099013bSjsg # define RADEON_RB3D_DC_FORCE_RMW (1 << 16) 16241099013bSjsg # define RADEON_RB3D_DC_DISABLE_RI_FILL (1 << 24) 16251099013bSjsg # define RADEON_RB3D_DC_DISABLE_RI_READ (1 << 25) 16261099013bSjsg 16271099013bSjsg #define RADEON_RB3D_DSTCACHE_CTLSTAT 0x325C 16281099013bSjsg # define RADEON_RB3D_DC_FLUSH (3 << 0) 16291099013bSjsg # define RADEON_RB3D_DC_FREE (3 << 2) 16301099013bSjsg # define RADEON_RB3D_DC_FLUSH_ALL 0xf 16311099013bSjsg # define RADEON_RB3D_DC_BUSY (1 << 31) 16321099013bSjsg 16331099013bSjsg #define RADEON_REG_BASE 0x0f18 /* PCI */ 16341099013bSjsg #define RADEON_REGPROG_INF 0x0f09 /* PCI */ 16351099013bSjsg #define RADEON_REVISION_ID 0x0f08 /* PCI */ 16361099013bSjsg 16371099013bSjsg #define RADEON_SC_BOTTOM 0x164c 16381099013bSjsg #define RADEON_SC_BOTTOM_RIGHT 0x16f0 16391099013bSjsg #define RADEON_SC_BOTTOM_RIGHT_C 0x1c8c 16401099013bSjsg #define RADEON_SC_LEFT 0x1640 16411099013bSjsg #define RADEON_SC_RIGHT 0x1644 16421099013bSjsg #define RADEON_SC_TOP 0x1648 16431099013bSjsg #define RADEON_SC_TOP_LEFT 0x16ec 16441099013bSjsg #define RADEON_SC_TOP_LEFT_C 0x1c88 16451099013bSjsg # define RADEON_SC_SIGN_MASK_LO 0x8000 16461099013bSjsg # define RADEON_SC_SIGN_MASK_HI 0x80000000 16471099013bSjsg #define RADEON_M_SPLL_REF_FB_DIV 0x000a /* PLL */ 16481099013bSjsg # define RADEON_M_SPLL_REF_DIV_SHIFT 0 16491099013bSjsg # define RADEON_M_SPLL_REF_DIV_MASK 0xff 16501099013bSjsg # define RADEON_MPLL_FB_DIV_SHIFT 8 16511099013bSjsg # define RADEON_MPLL_FB_DIV_MASK 0xff 16521099013bSjsg # define RADEON_SPLL_FB_DIV_SHIFT 16 16531099013bSjsg # define RADEON_SPLL_FB_DIV_MASK 0xff 16541099013bSjsg #define RADEON_SPLL_CNTL 0x000c /* PLL */ 16551099013bSjsg # define RADEON_SPLL_SLEEP (1 << 0) 16561099013bSjsg # define RADEON_SPLL_RESET (1 << 1) 16571099013bSjsg # define RADEON_SPLL_PCP_MASK 0x7 16581099013bSjsg # define RADEON_SPLL_PCP_SHIFT 8 16591099013bSjsg # define RADEON_SPLL_PVG_MASK 0x7 16601099013bSjsg # define RADEON_SPLL_PVG_SHIFT 11 16611099013bSjsg # define RADEON_SPLL_PDC_MASK 0x3 16621099013bSjsg # define RADEON_SPLL_PDC_SHIFT 14 16631099013bSjsg #define RADEON_SCLK_CNTL 0x000d /* PLL */ 16641099013bSjsg # define RADEON_SCLK_SRC_SEL_MASK 0x0007 16651099013bSjsg # define RADEON_DYN_STOP_LAT_MASK 0x00007ff8 16661099013bSjsg # define RADEON_CP_MAX_DYN_STOP_LAT 0x0008 16671099013bSjsg # define RADEON_SCLK_FORCEON_MASK 0xffff8000 16681099013bSjsg # define RADEON_SCLK_FORCE_DISP2 (1<<15) 16691099013bSjsg # define RADEON_SCLK_FORCE_CP (1<<16) 16701099013bSjsg # define RADEON_SCLK_FORCE_HDP (1<<17) 16711099013bSjsg # define RADEON_SCLK_FORCE_DISP1 (1<<18) 16721099013bSjsg # define RADEON_SCLK_FORCE_TOP (1<<19) 16731099013bSjsg # define RADEON_SCLK_FORCE_E2 (1<<20) 16741099013bSjsg # define RADEON_SCLK_FORCE_SE (1<<21) 16751099013bSjsg # define RADEON_SCLK_FORCE_IDCT (1<<22) 16761099013bSjsg # define RADEON_SCLK_FORCE_VIP (1<<23) 16771099013bSjsg # define RADEON_SCLK_FORCE_RE (1<<24) 16781099013bSjsg # define RADEON_SCLK_FORCE_PB (1<<25) 16791099013bSjsg # define RADEON_SCLK_FORCE_TAM (1<<26) 16801099013bSjsg # define RADEON_SCLK_FORCE_TDM (1<<27) 16811099013bSjsg # define RADEON_SCLK_FORCE_RB (1<<28) 16821099013bSjsg # define RADEON_SCLK_FORCE_TV_SCLK (1<<29) 16831099013bSjsg # define RADEON_SCLK_FORCE_SUBPIC (1<<30) 16841099013bSjsg # define RADEON_SCLK_FORCE_OV0 (1<<31) 16851099013bSjsg # define R300_SCLK_FORCE_VAP (1<<21) 16861099013bSjsg # define R300_SCLK_FORCE_SR (1<<25) 16871099013bSjsg # define R300_SCLK_FORCE_PX (1<<26) 16881099013bSjsg # define R300_SCLK_FORCE_TX (1<<27) 16891099013bSjsg # define R300_SCLK_FORCE_US (1<<28) 16901099013bSjsg # define R300_SCLK_FORCE_SU (1<<30) 16911099013bSjsg #define R300_SCLK_CNTL2 0x1e /* PLL */ 16921099013bSjsg # define R300_SCLK_TCL_MAX_DYN_STOP_LAT (1<<10) 16931099013bSjsg # define R300_SCLK_GA_MAX_DYN_STOP_LAT (1<<11) 16941099013bSjsg # define R300_SCLK_CBA_MAX_DYN_STOP_LAT (1<<12) 16951099013bSjsg # define R300_SCLK_FORCE_TCL (1<<13) 16961099013bSjsg # define R300_SCLK_FORCE_CBA (1<<14) 16971099013bSjsg # define R300_SCLK_FORCE_GA (1<<15) 16981099013bSjsg #define RADEON_SCLK_MORE_CNTL 0x0035 /* PLL */ 16991099013bSjsg # define RADEON_SCLK_MORE_MAX_DYN_STOP_LAT 0x0007 17001099013bSjsg # define RADEON_SCLK_MORE_FORCEON 0x0700 17011099013bSjsg #define RADEON_SDRAM_MODE_REG 0x0158 17021099013bSjsg #define RADEON_SEQ8_DATA 0x03c5 /* VGA */ 17031099013bSjsg #define RADEON_SEQ8_IDX 0x03c4 /* VGA */ 17041099013bSjsg #define RADEON_SNAPSHOT_F_COUNT 0x0244 17051099013bSjsg #define RADEON_SNAPSHOT_VH_COUNTS 0x0240 17061099013bSjsg #define RADEON_SNAPSHOT_VIF_COUNT 0x024c 17071099013bSjsg #define RADEON_SRC_OFFSET 0x15ac 17081099013bSjsg #define RADEON_SRC_PITCH 0x15b0 17091099013bSjsg #define RADEON_SRC_PITCH_OFFSET 0x1428 17101099013bSjsg #define RADEON_SRC_SC_BOTTOM 0x165c 17111099013bSjsg #define RADEON_SRC_SC_BOTTOM_RIGHT 0x16f4 17121099013bSjsg #define RADEON_SRC_SC_RIGHT 0x1654 17131099013bSjsg #define RADEON_SRC_X 0x1414 17141099013bSjsg #define RADEON_SRC_X_Y 0x1590 17151099013bSjsg #define RADEON_SRC_Y 0x1418 17161099013bSjsg #define RADEON_SRC_Y_X 0x1434 17171099013bSjsg #define RADEON_STATUS 0x0f06 /* PCI */ 17181099013bSjsg #define RADEON_SUBPIC_CNTL 0x0540 /* ? */ 17191099013bSjsg #define RADEON_SUB_CLASS 0x0f0a /* PCI */ 17201099013bSjsg #define RADEON_SURFACE_CNTL 0x0b00 17211099013bSjsg # define RADEON_SURF_TRANSLATION_DIS (1 << 8) 17221099013bSjsg # define RADEON_NONSURF_AP0_SWP_16BPP (1 << 20) 17231099013bSjsg # define RADEON_NONSURF_AP0_SWP_32BPP (1 << 21) 17241099013bSjsg # define RADEON_NONSURF_AP1_SWP_16BPP (1 << 22) 17251099013bSjsg # define RADEON_NONSURF_AP1_SWP_32BPP (1 << 23) 17261099013bSjsg #define RADEON_SURFACE0_INFO 0x0b0c 17271099013bSjsg # define RADEON_SURF_TILE_COLOR_MACRO (0 << 16) 17281099013bSjsg # define RADEON_SURF_TILE_COLOR_BOTH (1 << 16) 17291099013bSjsg # define RADEON_SURF_TILE_DEPTH_32BPP (2 << 16) 17301099013bSjsg # define RADEON_SURF_TILE_DEPTH_16BPP (3 << 16) 17311099013bSjsg # define R200_SURF_TILE_NONE (0 << 16) 17321099013bSjsg # define R200_SURF_TILE_COLOR_MACRO (1 << 16) 17331099013bSjsg # define R200_SURF_TILE_COLOR_MICRO (2 << 16) 17341099013bSjsg # define R200_SURF_TILE_COLOR_BOTH (3 << 16) 17351099013bSjsg # define R200_SURF_TILE_DEPTH_32BPP (4 << 16) 17361099013bSjsg # define R200_SURF_TILE_DEPTH_16BPP (5 << 16) 17371099013bSjsg # define R300_SURF_TILE_NONE (0 << 16) 17381099013bSjsg # define R300_SURF_TILE_COLOR_MACRO (1 << 16) 17391099013bSjsg # define R300_SURF_TILE_DEPTH_32BPP (2 << 16) 17401099013bSjsg # define RADEON_SURF_AP0_SWP_16BPP (1 << 20) 17411099013bSjsg # define RADEON_SURF_AP0_SWP_32BPP (1 << 21) 17421099013bSjsg # define RADEON_SURF_AP1_SWP_16BPP (1 << 22) 17431099013bSjsg # define RADEON_SURF_AP1_SWP_32BPP (1 << 23) 17441099013bSjsg #define RADEON_SURFACE0_LOWER_BOUND 0x0b04 17451099013bSjsg #define RADEON_SURFACE0_UPPER_BOUND 0x0b08 17461099013bSjsg #define RADEON_SURFACE1_INFO 0x0b1c 17471099013bSjsg #define RADEON_SURFACE1_LOWER_BOUND 0x0b14 17481099013bSjsg #define RADEON_SURFACE1_UPPER_BOUND 0x0b18 17491099013bSjsg #define RADEON_SURFACE2_INFO 0x0b2c 17501099013bSjsg #define RADEON_SURFACE2_LOWER_BOUND 0x0b24 17511099013bSjsg #define RADEON_SURFACE2_UPPER_BOUND 0x0b28 17521099013bSjsg #define RADEON_SURFACE3_INFO 0x0b3c 17531099013bSjsg #define RADEON_SURFACE3_LOWER_BOUND 0x0b34 17541099013bSjsg #define RADEON_SURFACE3_UPPER_BOUND 0x0b38 17551099013bSjsg #define RADEON_SURFACE4_INFO 0x0b4c 17561099013bSjsg #define RADEON_SURFACE4_LOWER_BOUND 0x0b44 17571099013bSjsg #define RADEON_SURFACE4_UPPER_BOUND 0x0b48 17581099013bSjsg #define RADEON_SURFACE5_INFO 0x0b5c 17591099013bSjsg #define RADEON_SURFACE5_LOWER_BOUND 0x0b54 17601099013bSjsg #define RADEON_SURFACE5_UPPER_BOUND 0x0b58 17611099013bSjsg #define RADEON_SURFACE6_INFO 0x0b6c 17621099013bSjsg #define RADEON_SURFACE6_LOWER_BOUND 0x0b64 17631099013bSjsg #define RADEON_SURFACE6_UPPER_BOUND 0x0b68 17641099013bSjsg #define RADEON_SURFACE7_INFO 0x0b7c 17651099013bSjsg #define RADEON_SURFACE7_LOWER_BOUND 0x0b74 17661099013bSjsg #define RADEON_SURFACE7_UPPER_BOUND 0x0b78 17671099013bSjsg #define RADEON_SW_SEMAPHORE 0x013c 17681099013bSjsg 17691099013bSjsg #define RADEON_TEST_DEBUG_CNTL 0x0120 17701099013bSjsg #define RADEON_TEST_DEBUG_CNTL__TEST_DEBUG_OUT_EN 0x00000001 17711099013bSjsg 17721099013bSjsg #define RADEON_TEST_DEBUG_MUX 0x0124 17731099013bSjsg #define RADEON_TEST_DEBUG_OUT 0x012c 17741099013bSjsg #define RADEON_TMDS_PLL_CNTL 0x02a8 17751099013bSjsg #define RADEON_TMDS_TRANSMITTER_CNTL 0x02a4 17761099013bSjsg # define RADEON_TMDS_TRANSMITTER_PLLEN 1 17771099013bSjsg # define RADEON_TMDS_TRANSMITTER_PLLRST 2 17781099013bSjsg #define RADEON_TRAIL_BRES_DEC 0x1614 17791099013bSjsg #define RADEON_TRAIL_BRES_ERR 0x160c 17801099013bSjsg #define RADEON_TRAIL_BRES_INC 0x1610 17811099013bSjsg #define RADEON_TRAIL_X 0x1618 17821099013bSjsg #define RADEON_TRAIL_X_SUB 0x1620 17831099013bSjsg 17841099013bSjsg #define RADEON_VCLK_ECP_CNTL 0x0008 /* PLL */ 17851099013bSjsg # define RADEON_VCLK_SRC_SEL_MASK 0x03 17861099013bSjsg # define RADEON_VCLK_SRC_SEL_CPUCLK 0x00 17871099013bSjsg # define RADEON_VCLK_SRC_SEL_PSCANCLK 0x01 17881099013bSjsg # define RADEON_VCLK_SRC_SEL_BYTECLK 0x02 17891099013bSjsg # define RADEON_VCLK_SRC_SEL_PPLLCLK 0x03 17901099013bSjsg # define RADEON_PIXCLK_ALWAYS_ONb (1<<6) 17911099013bSjsg # define RADEON_PIXCLK_DAC_ALWAYS_ONb (1<<7) 17921099013bSjsg # define R300_DISP_DAC_PIXCLK_DAC_BLANK_OFF (1<<23) 17931099013bSjsg 17941099013bSjsg #define RADEON_VENDOR_ID 0x0f00 /* PCI */ 17951099013bSjsg #define RADEON_VGA_DDA_CONFIG 0x02e8 17961099013bSjsg #define RADEON_VGA_DDA_ON_OFF 0x02ec 17971099013bSjsg #define RADEON_VID_BUFFER_CONTROL 0x0900 17981099013bSjsg #define RADEON_VIDEOMUX_CNTL 0x0190 17991099013bSjsg 18001099013bSjsg /* VIP bus */ 18011099013bSjsg #define RADEON_VIPH_CH0_DATA 0x0c00 18021099013bSjsg #define RADEON_VIPH_CH1_DATA 0x0c04 18031099013bSjsg #define RADEON_VIPH_CH2_DATA 0x0c08 18041099013bSjsg #define RADEON_VIPH_CH3_DATA 0x0c0c 18051099013bSjsg #define RADEON_VIPH_CH0_ADDR 0x0c10 18061099013bSjsg #define RADEON_VIPH_CH1_ADDR 0x0c14 18071099013bSjsg #define RADEON_VIPH_CH2_ADDR 0x0c18 18081099013bSjsg #define RADEON_VIPH_CH3_ADDR 0x0c1c 18091099013bSjsg #define RADEON_VIPH_CH0_SBCNT 0x0c20 18101099013bSjsg #define RADEON_VIPH_CH1_SBCNT 0x0c24 18111099013bSjsg #define RADEON_VIPH_CH2_SBCNT 0x0c28 18121099013bSjsg #define RADEON_VIPH_CH3_SBCNT 0x0c2c 18131099013bSjsg #define RADEON_VIPH_CH0_ABCNT 0x0c30 18141099013bSjsg #define RADEON_VIPH_CH1_ABCNT 0x0c34 18151099013bSjsg #define RADEON_VIPH_CH2_ABCNT 0x0c38 18161099013bSjsg #define RADEON_VIPH_CH3_ABCNT 0x0c3c 18171099013bSjsg #define RADEON_VIPH_CONTROL 0x0c40 18181099013bSjsg # define RADEON_VIP_BUSY 0 18191099013bSjsg # define RADEON_VIP_IDLE 1 18201099013bSjsg # define RADEON_VIP_RESET 2 18211099013bSjsg # define RADEON_VIPH_EN (1 << 21) 18221099013bSjsg #define RADEON_VIPH_DV_LAT 0x0c44 18231099013bSjsg #define RADEON_VIPH_BM_CHUNK 0x0c48 18241099013bSjsg #define RADEON_VIPH_DV_INT 0x0c4c 18251099013bSjsg #define RADEON_VIPH_TIMEOUT_STAT 0x0c50 18261099013bSjsg #define RADEON_VIPH_TIMEOUT_STAT__VIPH_REG_STAT 0x00000010 18271099013bSjsg #define RADEON_VIPH_TIMEOUT_STAT__VIPH_REG_AK 0x00000010 18281099013bSjsg #define RADEON_VIPH_TIMEOUT_STAT__VIPH_REGR_DIS 0x01000000 18291099013bSjsg 18301099013bSjsg #define RADEON_VIPH_REG_DATA 0x0084 18311099013bSjsg #define RADEON_VIPH_REG_ADDR 0x0080 18321099013bSjsg 18331099013bSjsg 18341099013bSjsg #define RADEON_WAIT_UNTIL 0x1720 18351099013bSjsg # define RADEON_WAIT_CRTC_PFLIP (1 << 0) 18361099013bSjsg # define RADEON_WAIT_RE_CRTC_VLINE (1 << 1) 18371099013bSjsg # define RADEON_WAIT_FE_CRTC_VLINE (1 << 2) 18381099013bSjsg # define RADEON_WAIT_CRTC_VLINE (1 << 3) 18391099013bSjsg # define RADEON_WAIT_DMA_VID_IDLE (1 << 8) 18401099013bSjsg # define RADEON_WAIT_DMA_GUI_IDLE (1 << 9) 18411099013bSjsg # define RADEON_WAIT_CMDFIFO (1 << 10) /* wait for CMDFIFO_ENTRIES */ 18421099013bSjsg # define RADEON_WAIT_OV0_FLIP (1 << 11) 18431099013bSjsg # define RADEON_WAIT_AGP_FLUSH (1 << 13) 18441099013bSjsg # define RADEON_WAIT_2D_IDLE (1 << 14) 18451099013bSjsg # define RADEON_WAIT_3D_IDLE (1 << 15) 18461099013bSjsg # define RADEON_WAIT_2D_IDLECLEAN (1 << 16) 18471099013bSjsg # define RADEON_WAIT_3D_IDLECLEAN (1 << 17) 18481099013bSjsg # define RADEON_WAIT_HOST_IDLECLEAN (1 << 18) 18491099013bSjsg # define RADEON_CMDFIFO_ENTRIES_SHIFT 10 18501099013bSjsg # define RADEON_CMDFIFO_ENTRIES_MASK 0x7f 18511099013bSjsg # define RADEON_WAIT_VAP_IDLE (1 << 28) 18521099013bSjsg # define RADEON_WAIT_BOTH_CRTC_PFLIP (1 << 30) 18531099013bSjsg # define RADEON_ENG_DISPLAY_SELECT_CRTC0 (0 << 31) 18541099013bSjsg # define RADEON_ENG_DISPLAY_SELECT_CRTC1 (1 << 31) 18551099013bSjsg 18561099013bSjsg #define RADEON_X_MPLL_REF_FB_DIV 0x000a /* PLL */ 18571099013bSjsg #define RADEON_XCLK_CNTL 0x000d /* PLL */ 18581099013bSjsg #define RADEON_XDLL_CNTL 0x000c /* PLL */ 18591099013bSjsg #define RADEON_XPLL_CNTL 0x000b /* PLL */ 18601099013bSjsg 18611099013bSjsg 18621099013bSjsg 18631099013bSjsg /* Registers for 3D/TCL */ 18641099013bSjsg #define RADEON_PP_BORDER_COLOR_0 0x1d40 18651099013bSjsg #define RADEON_PP_BORDER_COLOR_1 0x1d44 18661099013bSjsg #define RADEON_PP_BORDER_COLOR_2 0x1d48 18671099013bSjsg #define RADEON_PP_CNTL 0x1c38 18681099013bSjsg # define RADEON_STIPPLE_ENABLE (1 << 0) 18691099013bSjsg # define RADEON_SCISSOR_ENABLE (1 << 1) 18701099013bSjsg # define RADEON_PATTERN_ENABLE (1 << 2) 18711099013bSjsg # define RADEON_SHADOW_ENABLE (1 << 3) 18721099013bSjsg # define RADEON_TEX_ENABLE_MASK (0xf << 4) 18731099013bSjsg # define RADEON_TEX_0_ENABLE (1 << 4) 18741099013bSjsg # define RADEON_TEX_1_ENABLE (1 << 5) 18751099013bSjsg # define RADEON_TEX_2_ENABLE (1 << 6) 18761099013bSjsg # define RADEON_TEX_3_ENABLE (1 << 7) 18771099013bSjsg # define RADEON_TEX_BLEND_ENABLE_MASK (0xf << 12) 18781099013bSjsg # define RADEON_TEX_BLEND_0_ENABLE (1 << 12) 18791099013bSjsg # define RADEON_TEX_BLEND_1_ENABLE (1 << 13) 18801099013bSjsg # define RADEON_TEX_BLEND_2_ENABLE (1 << 14) 18811099013bSjsg # define RADEON_TEX_BLEND_3_ENABLE (1 << 15) 18821099013bSjsg # define RADEON_PLANAR_YUV_ENABLE (1 << 20) 18831099013bSjsg # define RADEON_SPECULAR_ENABLE (1 << 21) 18841099013bSjsg # define RADEON_FOG_ENABLE (1 << 22) 18851099013bSjsg # define RADEON_ALPHA_TEST_ENABLE (1 << 23) 18861099013bSjsg # define RADEON_ANTI_ALIAS_NONE (0 << 24) 18871099013bSjsg # define RADEON_ANTI_ALIAS_LINE (1 << 24) 18881099013bSjsg # define RADEON_ANTI_ALIAS_POLY (2 << 24) 18891099013bSjsg # define RADEON_ANTI_ALIAS_LINE_POLY (3 << 24) 18901099013bSjsg # define RADEON_BUMP_MAP_ENABLE (1 << 26) 18911099013bSjsg # define RADEON_BUMPED_MAP_T0 (0 << 27) 18921099013bSjsg # define RADEON_BUMPED_MAP_T1 (1 << 27) 18931099013bSjsg # define RADEON_BUMPED_MAP_T2 (2 << 27) 18941099013bSjsg # define RADEON_TEX_3D_ENABLE_0 (1 << 29) 18951099013bSjsg # define RADEON_TEX_3D_ENABLE_1 (1 << 30) 18961099013bSjsg # define RADEON_MC_ENABLE (1 << 31) 18971099013bSjsg #define RADEON_PP_FOG_COLOR 0x1c18 18981099013bSjsg # define RADEON_FOG_COLOR_MASK 0x00ffffff 18991099013bSjsg # define RADEON_FOG_VERTEX (0 << 24) 19001099013bSjsg # define RADEON_FOG_TABLE (1 << 24) 19011099013bSjsg # define RADEON_FOG_USE_DEPTH (0 << 25) 19021099013bSjsg # define RADEON_FOG_USE_DIFFUSE_ALPHA (2 << 25) 19031099013bSjsg # define RADEON_FOG_USE_SPEC_ALPHA (3 << 25) 19041099013bSjsg #define RADEON_PP_LUM_MATRIX 0x1d00 19051099013bSjsg #define RADEON_PP_MISC 0x1c14 19061099013bSjsg # define RADEON_REF_ALPHA_MASK 0x000000ff 19071099013bSjsg # define RADEON_ALPHA_TEST_FAIL (0 << 8) 19081099013bSjsg # define RADEON_ALPHA_TEST_LESS (1 << 8) 19091099013bSjsg # define RADEON_ALPHA_TEST_LEQUAL (2 << 8) 19101099013bSjsg # define RADEON_ALPHA_TEST_EQUAL (3 << 8) 19111099013bSjsg # define RADEON_ALPHA_TEST_GEQUAL (4 << 8) 19121099013bSjsg # define RADEON_ALPHA_TEST_GREATER (5 << 8) 19131099013bSjsg # define RADEON_ALPHA_TEST_NEQUAL (6 << 8) 19141099013bSjsg # define RADEON_ALPHA_TEST_PASS (7 << 8) 19151099013bSjsg # define RADEON_ALPHA_TEST_OP_MASK (7 << 8) 19161099013bSjsg # define RADEON_CHROMA_FUNC_FAIL (0 << 16) 19171099013bSjsg # define RADEON_CHROMA_FUNC_PASS (1 << 16) 19181099013bSjsg # define RADEON_CHROMA_FUNC_NEQUAL (2 << 16) 19191099013bSjsg # define RADEON_CHROMA_FUNC_EQUAL (3 << 16) 19201099013bSjsg # define RADEON_CHROMA_KEY_NEAREST (0 << 18) 19211099013bSjsg # define RADEON_CHROMA_KEY_ZERO (1 << 18) 19221099013bSjsg # define RADEON_SHADOW_ID_AUTO_INC (1 << 20) 19231099013bSjsg # define RADEON_SHADOW_FUNC_EQUAL (0 << 21) 19241099013bSjsg # define RADEON_SHADOW_FUNC_NEQUAL (1 << 21) 19251099013bSjsg # define RADEON_SHADOW_PASS_1 (0 << 22) 19261099013bSjsg # define RADEON_SHADOW_PASS_2 (1 << 22) 19271099013bSjsg # define RADEON_RIGHT_HAND_CUBE_D3D (0 << 24) 19281099013bSjsg # define RADEON_RIGHT_HAND_CUBE_OGL (1 << 24) 19291099013bSjsg #define RADEON_PP_ROT_MATRIX_0 0x1d58 19301099013bSjsg #define RADEON_PP_ROT_MATRIX_1 0x1d5c 19311099013bSjsg #define RADEON_PP_TXFILTER_0 0x1c54 19321099013bSjsg #define RADEON_PP_TXFILTER_1 0x1c6c 19331099013bSjsg #define RADEON_PP_TXFILTER_2 0x1c84 19341099013bSjsg # define RADEON_MAG_FILTER_NEAREST (0 << 0) 19351099013bSjsg # define RADEON_MAG_FILTER_LINEAR (1 << 0) 19361099013bSjsg # define RADEON_MAG_FILTER_MASK (1 << 0) 19371099013bSjsg # define RADEON_MIN_FILTER_NEAREST (0 << 1) 19381099013bSjsg # define RADEON_MIN_FILTER_LINEAR (1 << 1) 19391099013bSjsg # define RADEON_MIN_FILTER_NEAREST_MIP_NEAREST (2 << 1) 19401099013bSjsg # define RADEON_MIN_FILTER_NEAREST_MIP_LINEAR (3 << 1) 19411099013bSjsg # define RADEON_MIN_FILTER_LINEAR_MIP_NEAREST (6 << 1) 19421099013bSjsg # define RADEON_MIN_FILTER_LINEAR_MIP_LINEAR (7 << 1) 19431099013bSjsg # define RADEON_MIN_FILTER_ANISO_NEAREST (8 << 1) 19441099013bSjsg # define RADEON_MIN_FILTER_ANISO_LINEAR (9 << 1) 19451099013bSjsg # define RADEON_MIN_FILTER_ANISO_NEAREST_MIP_NEAREST (10 << 1) 19461099013bSjsg # define RADEON_MIN_FILTER_ANISO_NEAREST_MIP_LINEAR (11 << 1) 19471099013bSjsg # define RADEON_MIN_FILTER_MASK (15 << 1) 19481099013bSjsg # define RADEON_MAX_ANISO_1_TO_1 (0 << 5) 19491099013bSjsg # define RADEON_MAX_ANISO_2_TO_1 (1 << 5) 19501099013bSjsg # define RADEON_MAX_ANISO_4_TO_1 (2 << 5) 19511099013bSjsg # define RADEON_MAX_ANISO_8_TO_1 (3 << 5) 19521099013bSjsg # define RADEON_MAX_ANISO_16_TO_1 (4 << 5) 19531099013bSjsg # define RADEON_MAX_ANISO_MASK (7 << 5) 19541099013bSjsg # define RADEON_LOD_BIAS_MASK (0xff << 8) 19551099013bSjsg # define RADEON_LOD_BIAS_SHIFT 8 19561099013bSjsg # define RADEON_MAX_MIP_LEVEL_MASK (0x0f << 16) 19571099013bSjsg # define RADEON_MAX_MIP_LEVEL_SHIFT 16 19581099013bSjsg # define RADEON_YUV_TO_RGB (1 << 20) 19591099013bSjsg # define RADEON_YUV_TEMPERATURE_COOL (0 << 21) 19601099013bSjsg # define RADEON_YUV_TEMPERATURE_HOT (1 << 21) 19611099013bSjsg # define RADEON_YUV_TEMPERATURE_MASK (1 << 21) 19621099013bSjsg # define RADEON_WRAPEN_S (1 << 22) 19631099013bSjsg # define RADEON_CLAMP_S_WRAP (0 << 23) 19641099013bSjsg # define RADEON_CLAMP_S_MIRROR (1 << 23) 19651099013bSjsg # define RADEON_CLAMP_S_CLAMP_LAST (2 << 23) 19661099013bSjsg # define RADEON_CLAMP_S_MIRROR_CLAMP_LAST (3 << 23) 19671099013bSjsg # define RADEON_CLAMP_S_CLAMP_BORDER (4 << 23) 19681099013bSjsg # define RADEON_CLAMP_S_MIRROR_CLAMP_BORDER (5 << 23) 19691099013bSjsg # define RADEON_CLAMP_S_CLAMP_GL (6 << 23) 19701099013bSjsg # define RADEON_CLAMP_S_MIRROR_CLAMP_GL (7 << 23) 19711099013bSjsg # define RADEON_CLAMP_S_MASK (7 << 23) 19721099013bSjsg # define RADEON_WRAPEN_T (1 << 26) 19731099013bSjsg # define RADEON_CLAMP_T_WRAP (0 << 27) 19741099013bSjsg # define RADEON_CLAMP_T_MIRROR (1 << 27) 19751099013bSjsg # define RADEON_CLAMP_T_CLAMP_LAST (2 << 27) 19761099013bSjsg # define RADEON_CLAMP_T_MIRROR_CLAMP_LAST (3 << 27) 19771099013bSjsg # define RADEON_CLAMP_T_CLAMP_BORDER (4 << 27) 19781099013bSjsg # define RADEON_CLAMP_T_MIRROR_CLAMP_BORDER (5 << 27) 19791099013bSjsg # define RADEON_CLAMP_T_CLAMP_GL (6 << 27) 19801099013bSjsg # define RADEON_CLAMP_T_MIRROR_CLAMP_GL (7 << 27) 19811099013bSjsg # define RADEON_CLAMP_T_MASK (7 << 27) 19821099013bSjsg # define RADEON_BORDER_MODE_OGL (0 << 31) 19831099013bSjsg # define RADEON_BORDER_MODE_D3D (1 << 31) 19841099013bSjsg #define RADEON_PP_TXFORMAT_0 0x1c58 19851099013bSjsg #define RADEON_PP_TXFORMAT_1 0x1c70 19861099013bSjsg #define RADEON_PP_TXFORMAT_2 0x1c88 19871099013bSjsg # define RADEON_TXFORMAT_I8 (0 << 0) 19881099013bSjsg # define RADEON_TXFORMAT_AI88 (1 << 0) 19891099013bSjsg # define RADEON_TXFORMAT_RGB332 (2 << 0) 19901099013bSjsg # define RADEON_TXFORMAT_ARGB1555 (3 << 0) 19911099013bSjsg # define RADEON_TXFORMAT_RGB565 (4 << 0) 19921099013bSjsg # define RADEON_TXFORMAT_ARGB4444 (5 << 0) 19931099013bSjsg # define RADEON_TXFORMAT_ARGB8888 (6 << 0) 19941099013bSjsg # define RADEON_TXFORMAT_RGBA8888 (7 << 0) 19951099013bSjsg # define RADEON_TXFORMAT_Y8 (8 << 0) 19961099013bSjsg # define RADEON_TXFORMAT_VYUY422 (10 << 0) 19971099013bSjsg # define RADEON_TXFORMAT_YVYU422 (11 << 0) 19981099013bSjsg # define RADEON_TXFORMAT_DXT1 (12 << 0) 19991099013bSjsg # define RADEON_TXFORMAT_DXT23 (14 << 0) 20001099013bSjsg # define RADEON_TXFORMAT_DXT45 (15 << 0) 20011099013bSjsg # define RADEON_TXFORMAT_SHADOW16 (16 << 0) 20021099013bSjsg # define RADEON_TXFORMAT_SHADOW32 (17 << 0) 20031099013bSjsg # define RADEON_TXFORMAT_DUDV88 (18 << 0) 20041099013bSjsg # define RADEON_TXFORMAT_LDUDV655 (19 << 0) 20051099013bSjsg # define RADEON_TXFORMAT_LDUDUV8888 (20 << 0) 20061099013bSjsg # define RADEON_TXFORMAT_FORMAT_MASK (31 << 0) 20071099013bSjsg # define RADEON_TXFORMAT_FORMAT_SHIFT 0 20081099013bSjsg # define RADEON_TXFORMAT_APPLE_YUV_MODE (1 << 5) 20091099013bSjsg # define RADEON_TXFORMAT_ALPHA_IN_MAP (1 << 6) 20101099013bSjsg # define RADEON_TXFORMAT_NON_POWER2 (1 << 7) 20111099013bSjsg # define RADEON_TXFORMAT_WIDTH_MASK (15 << 8) 20121099013bSjsg # define RADEON_TXFORMAT_WIDTH_SHIFT 8 20131099013bSjsg # define RADEON_TXFORMAT_HEIGHT_MASK (15 << 12) 20141099013bSjsg # define RADEON_TXFORMAT_HEIGHT_SHIFT 12 20151099013bSjsg # define RADEON_TXFORMAT_F5_WIDTH_MASK (15 << 16) 20161099013bSjsg # define RADEON_TXFORMAT_F5_WIDTH_SHIFT 16 20171099013bSjsg # define RADEON_TXFORMAT_F5_HEIGHT_MASK (15 << 20) 20181099013bSjsg # define RADEON_TXFORMAT_F5_HEIGHT_SHIFT 20 20191099013bSjsg # define RADEON_TXFORMAT_ST_ROUTE_STQ0 (0 << 24) 20201099013bSjsg # define RADEON_TXFORMAT_ST_ROUTE_MASK (3 << 24) 20211099013bSjsg # define RADEON_TXFORMAT_ST_ROUTE_STQ1 (1 << 24) 20221099013bSjsg # define RADEON_TXFORMAT_ST_ROUTE_STQ2 (2 << 24) 20231099013bSjsg # define RADEON_TXFORMAT_ENDIAN_NO_SWAP (0 << 26) 20241099013bSjsg # define RADEON_TXFORMAT_ENDIAN_16BPP_SWAP (1 << 26) 20251099013bSjsg # define RADEON_TXFORMAT_ENDIAN_32BPP_SWAP (2 << 26) 20261099013bSjsg # define RADEON_TXFORMAT_ENDIAN_HALFDW_SWAP (3 << 26) 20271099013bSjsg # define RADEON_TXFORMAT_ALPHA_MASK_ENABLE (1 << 28) 20281099013bSjsg # define RADEON_TXFORMAT_CHROMA_KEY_ENABLE (1 << 29) 20291099013bSjsg # define RADEON_TXFORMAT_CUBIC_MAP_ENABLE (1 << 30) 20301099013bSjsg # define RADEON_TXFORMAT_PERSPECTIVE_ENABLE (1 << 31) 20311099013bSjsg #define RADEON_PP_CUBIC_FACES_0 0x1d24 20321099013bSjsg #define RADEON_PP_CUBIC_FACES_1 0x1d28 20331099013bSjsg #define RADEON_PP_CUBIC_FACES_2 0x1d2c 20341099013bSjsg # define RADEON_FACE_WIDTH_1_SHIFT 0 20351099013bSjsg # define RADEON_FACE_HEIGHT_1_SHIFT 4 20361099013bSjsg # define RADEON_FACE_WIDTH_1_MASK (0xf << 0) 20371099013bSjsg # define RADEON_FACE_HEIGHT_1_MASK (0xf << 4) 20381099013bSjsg # define RADEON_FACE_WIDTH_2_SHIFT 8 20391099013bSjsg # define RADEON_FACE_HEIGHT_2_SHIFT 12 20401099013bSjsg # define RADEON_FACE_WIDTH_2_MASK (0xf << 8) 20411099013bSjsg # define RADEON_FACE_HEIGHT_2_MASK (0xf << 12) 20421099013bSjsg # define RADEON_FACE_WIDTH_3_SHIFT 16 20431099013bSjsg # define RADEON_FACE_HEIGHT_3_SHIFT 20 20441099013bSjsg # define RADEON_FACE_WIDTH_3_MASK (0xf << 16) 20451099013bSjsg # define RADEON_FACE_HEIGHT_3_MASK (0xf << 20) 20461099013bSjsg # define RADEON_FACE_WIDTH_4_SHIFT 24 20471099013bSjsg # define RADEON_FACE_HEIGHT_4_SHIFT 28 20481099013bSjsg # define RADEON_FACE_WIDTH_4_MASK (0xf << 24) 20491099013bSjsg # define RADEON_FACE_HEIGHT_4_MASK (0xf << 28) 20501099013bSjsg 20511099013bSjsg #define RADEON_PP_TXOFFSET_0 0x1c5c 20521099013bSjsg #define RADEON_PP_TXOFFSET_1 0x1c74 20531099013bSjsg #define RADEON_PP_TXOFFSET_2 0x1c8c 20541099013bSjsg # define RADEON_TXO_ENDIAN_NO_SWAP (0 << 0) 20551099013bSjsg # define RADEON_TXO_ENDIAN_BYTE_SWAP (1 << 0) 20561099013bSjsg # define RADEON_TXO_ENDIAN_WORD_SWAP (2 << 0) 20571099013bSjsg # define RADEON_TXO_ENDIAN_HALFDW_SWAP (3 << 0) 20581099013bSjsg # define RADEON_TXO_MACRO_LINEAR (0 << 2) 20591099013bSjsg # define RADEON_TXO_MACRO_TILE (1 << 2) 20601099013bSjsg # define RADEON_TXO_MICRO_LINEAR (0 << 3) 20611099013bSjsg # define RADEON_TXO_MICRO_TILE_X2 (1 << 3) 20621099013bSjsg # define RADEON_TXO_MICRO_TILE_OPT (2 << 3) 20631099013bSjsg # define RADEON_TXO_OFFSET_MASK 0xffffffe0 20641099013bSjsg # define RADEON_TXO_OFFSET_SHIFT 5 20651099013bSjsg 20661099013bSjsg #define RADEON_PP_CUBIC_OFFSET_T0_0 0x1dd0 /* bits [31:5] */ 20671099013bSjsg #define RADEON_PP_CUBIC_OFFSET_T0_1 0x1dd4 20681099013bSjsg #define RADEON_PP_CUBIC_OFFSET_T0_2 0x1dd8 20691099013bSjsg #define RADEON_PP_CUBIC_OFFSET_T0_3 0x1ddc 20701099013bSjsg #define RADEON_PP_CUBIC_OFFSET_T0_4 0x1de0 20711099013bSjsg #define RADEON_PP_CUBIC_OFFSET_T1_0 0x1e00 20721099013bSjsg #define RADEON_PP_CUBIC_OFFSET_T1_1 0x1e04 20731099013bSjsg #define RADEON_PP_CUBIC_OFFSET_T1_2 0x1e08 20741099013bSjsg #define RADEON_PP_CUBIC_OFFSET_T1_3 0x1e0c 20751099013bSjsg #define RADEON_PP_CUBIC_OFFSET_T1_4 0x1e10 20761099013bSjsg #define RADEON_PP_CUBIC_OFFSET_T2_0 0x1e14 20771099013bSjsg #define RADEON_PP_CUBIC_OFFSET_T2_1 0x1e18 20781099013bSjsg #define RADEON_PP_CUBIC_OFFSET_T2_2 0x1e1c 20791099013bSjsg #define RADEON_PP_CUBIC_OFFSET_T2_3 0x1e20 20801099013bSjsg #define RADEON_PP_CUBIC_OFFSET_T2_4 0x1e24 20811099013bSjsg 20821099013bSjsg #define RADEON_PP_TEX_SIZE_0 0x1d04 /* NPOT */ 20831099013bSjsg #define RADEON_PP_TEX_SIZE_1 0x1d0c 20841099013bSjsg #define RADEON_PP_TEX_SIZE_2 0x1d14 20851099013bSjsg # define RADEON_TEX_USIZE_MASK (0x7ff << 0) 20861099013bSjsg # define RADEON_TEX_USIZE_SHIFT 0 20871099013bSjsg # define RADEON_TEX_VSIZE_MASK (0x7ff << 16) 20881099013bSjsg # define RADEON_TEX_VSIZE_SHIFT 16 20891099013bSjsg # define RADEON_SIGNED_RGB_MASK (1 << 30) 20901099013bSjsg # define RADEON_SIGNED_RGB_SHIFT 30 20911099013bSjsg # define RADEON_SIGNED_ALPHA_MASK (1 << 31) 20921099013bSjsg # define RADEON_SIGNED_ALPHA_SHIFT 31 20931099013bSjsg #define RADEON_PP_TEX_PITCH_0 0x1d08 /* NPOT */ 20941099013bSjsg #define RADEON_PP_TEX_PITCH_1 0x1d10 /* NPOT */ 20951099013bSjsg #define RADEON_PP_TEX_PITCH_2 0x1d18 /* NPOT */ 20961099013bSjsg /* note: bits 13-5: 32 byte aligned stride of texture map */ 20971099013bSjsg 20981099013bSjsg #define RADEON_PP_TXCBLEND_0 0x1c60 20991099013bSjsg #define RADEON_PP_TXCBLEND_1 0x1c78 21001099013bSjsg #define RADEON_PP_TXCBLEND_2 0x1c90 21011099013bSjsg # define RADEON_COLOR_ARG_A_SHIFT 0 21021099013bSjsg # define RADEON_COLOR_ARG_A_MASK (0x1f << 0) 21031099013bSjsg # define RADEON_COLOR_ARG_A_ZERO (0 << 0) 21041099013bSjsg # define RADEON_COLOR_ARG_A_CURRENT_COLOR (2 << 0) 21051099013bSjsg # define RADEON_COLOR_ARG_A_CURRENT_ALPHA (3 << 0) 21061099013bSjsg # define RADEON_COLOR_ARG_A_DIFFUSE_COLOR (4 << 0) 21071099013bSjsg # define RADEON_COLOR_ARG_A_DIFFUSE_ALPHA (5 << 0) 21081099013bSjsg # define RADEON_COLOR_ARG_A_SPECULAR_COLOR (6 << 0) 21091099013bSjsg # define RADEON_COLOR_ARG_A_SPECULAR_ALPHA (7 << 0) 21101099013bSjsg # define RADEON_COLOR_ARG_A_TFACTOR_COLOR (8 << 0) 21111099013bSjsg # define RADEON_COLOR_ARG_A_TFACTOR_ALPHA (9 << 0) 21121099013bSjsg # define RADEON_COLOR_ARG_A_T0_COLOR (10 << 0) 21131099013bSjsg # define RADEON_COLOR_ARG_A_T0_ALPHA (11 << 0) 21141099013bSjsg # define RADEON_COLOR_ARG_A_T1_COLOR (12 << 0) 21151099013bSjsg # define RADEON_COLOR_ARG_A_T1_ALPHA (13 << 0) 21161099013bSjsg # define RADEON_COLOR_ARG_A_T2_COLOR (14 << 0) 21171099013bSjsg # define RADEON_COLOR_ARG_A_T2_ALPHA (15 << 0) 21181099013bSjsg # define RADEON_COLOR_ARG_A_T3_COLOR (16 << 0) 21191099013bSjsg # define RADEON_COLOR_ARG_A_T3_ALPHA (17 << 0) 21201099013bSjsg # define RADEON_COLOR_ARG_B_SHIFT 5 21211099013bSjsg # define RADEON_COLOR_ARG_B_MASK (0x1f << 5) 21221099013bSjsg # define RADEON_COLOR_ARG_B_ZERO (0 << 5) 21231099013bSjsg # define RADEON_COLOR_ARG_B_CURRENT_COLOR (2 << 5) 21241099013bSjsg # define RADEON_COLOR_ARG_B_CURRENT_ALPHA (3 << 5) 21251099013bSjsg # define RADEON_COLOR_ARG_B_DIFFUSE_COLOR (4 << 5) 21261099013bSjsg # define RADEON_COLOR_ARG_B_DIFFUSE_ALPHA (5 << 5) 21271099013bSjsg # define RADEON_COLOR_ARG_B_SPECULAR_COLOR (6 << 5) 21281099013bSjsg # define RADEON_COLOR_ARG_B_SPECULAR_ALPHA (7 << 5) 21291099013bSjsg # define RADEON_COLOR_ARG_B_TFACTOR_COLOR (8 << 5) 21301099013bSjsg # define RADEON_COLOR_ARG_B_TFACTOR_ALPHA (9 << 5) 21311099013bSjsg # define RADEON_COLOR_ARG_B_T0_COLOR (10 << 5) 21321099013bSjsg # define RADEON_COLOR_ARG_B_T0_ALPHA (11 << 5) 21331099013bSjsg # define RADEON_COLOR_ARG_B_T1_COLOR (12 << 5) 21341099013bSjsg # define RADEON_COLOR_ARG_B_T1_ALPHA (13 << 5) 21351099013bSjsg # define RADEON_COLOR_ARG_B_T2_COLOR (14 << 5) 21361099013bSjsg # define RADEON_COLOR_ARG_B_T2_ALPHA (15 << 5) 21371099013bSjsg # define RADEON_COLOR_ARG_B_T3_COLOR (16 << 5) 21381099013bSjsg # define RADEON_COLOR_ARG_B_T3_ALPHA (17 << 5) 21391099013bSjsg # define RADEON_COLOR_ARG_C_SHIFT 10 21401099013bSjsg # define RADEON_COLOR_ARG_C_MASK (0x1f << 10) 21411099013bSjsg # define RADEON_COLOR_ARG_C_ZERO (0 << 10) 21421099013bSjsg # define RADEON_COLOR_ARG_C_CURRENT_COLOR (2 << 10) 21431099013bSjsg # define RADEON_COLOR_ARG_C_CURRENT_ALPHA (3 << 10) 21441099013bSjsg # define RADEON_COLOR_ARG_C_DIFFUSE_COLOR (4 << 10) 21451099013bSjsg # define RADEON_COLOR_ARG_C_DIFFUSE_ALPHA (5 << 10) 21461099013bSjsg # define RADEON_COLOR_ARG_C_SPECULAR_COLOR (6 << 10) 21471099013bSjsg # define RADEON_COLOR_ARG_C_SPECULAR_ALPHA (7 << 10) 21481099013bSjsg # define RADEON_COLOR_ARG_C_TFACTOR_COLOR (8 << 10) 21491099013bSjsg # define RADEON_COLOR_ARG_C_TFACTOR_ALPHA (9 << 10) 21501099013bSjsg # define RADEON_COLOR_ARG_C_T0_COLOR (10 << 10) 21511099013bSjsg # define RADEON_COLOR_ARG_C_T0_ALPHA (11 << 10) 21521099013bSjsg # define RADEON_COLOR_ARG_C_T1_COLOR (12 << 10) 21531099013bSjsg # define RADEON_COLOR_ARG_C_T1_ALPHA (13 << 10) 21541099013bSjsg # define RADEON_COLOR_ARG_C_T2_COLOR (14 << 10) 21551099013bSjsg # define RADEON_COLOR_ARG_C_T2_ALPHA (15 << 10) 21561099013bSjsg # define RADEON_COLOR_ARG_C_T3_COLOR (16 << 10) 21571099013bSjsg # define RADEON_COLOR_ARG_C_T3_ALPHA (17 << 10) 21581099013bSjsg # define RADEON_COMP_ARG_A (1 << 15) 21591099013bSjsg # define RADEON_COMP_ARG_A_SHIFT 15 21601099013bSjsg # define RADEON_COMP_ARG_B (1 << 16) 21611099013bSjsg # define RADEON_COMP_ARG_B_SHIFT 16 21621099013bSjsg # define RADEON_COMP_ARG_C (1 << 17) 21631099013bSjsg # define RADEON_COMP_ARG_C_SHIFT 17 21641099013bSjsg # define RADEON_BLEND_CTL_MASK (7 << 18) 21651099013bSjsg # define RADEON_BLEND_CTL_ADD (0 << 18) 21661099013bSjsg # define RADEON_BLEND_CTL_SUBTRACT (1 << 18) 21671099013bSjsg # define RADEON_BLEND_CTL_ADDSIGNED (2 << 18) 21681099013bSjsg # define RADEON_BLEND_CTL_BLEND (3 << 18) 21691099013bSjsg # define RADEON_BLEND_CTL_DOT3 (4 << 18) 21701099013bSjsg # define RADEON_SCALE_SHIFT 21 21711099013bSjsg # define RADEON_SCALE_MASK (3 << 21) 21721099013bSjsg # define RADEON_SCALE_1X (0 << 21) 21731099013bSjsg # define RADEON_SCALE_2X (1 << 21) 21741099013bSjsg # define RADEON_SCALE_4X (2 << 21) 21751099013bSjsg # define RADEON_CLAMP_TX (1 << 23) 21761099013bSjsg # define RADEON_T0_EQ_TCUR (1 << 24) 21771099013bSjsg # define RADEON_T1_EQ_TCUR (1 << 25) 21781099013bSjsg # define RADEON_T2_EQ_TCUR (1 << 26) 21791099013bSjsg # define RADEON_T3_EQ_TCUR (1 << 27) 21801099013bSjsg # define RADEON_COLOR_ARG_MASK 0x1f 21811099013bSjsg # define RADEON_COMP_ARG_SHIFT 15 21821099013bSjsg #define RADEON_PP_TXABLEND_0 0x1c64 21831099013bSjsg #define RADEON_PP_TXABLEND_1 0x1c7c 21841099013bSjsg #define RADEON_PP_TXABLEND_2 0x1c94 21851099013bSjsg # define RADEON_ALPHA_ARG_A_SHIFT 0 21861099013bSjsg # define RADEON_ALPHA_ARG_A_MASK (0xf << 0) 21871099013bSjsg # define RADEON_ALPHA_ARG_A_ZERO (0 << 0) 21881099013bSjsg # define RADEON_ALPHA_ARG_A_CURRENT_ALPHA (1 << 0) 21891099013bSjsg # define RADEON_ALPHA_ARG_A_DIFFUSE_ALPHA (2 << 0) 21901099013bSjsg # define RADEON_ALPHA_ARG_A_SPECULAR_ALPHA (3 << 0) 21911099013bSjsg # define RADEON_ALPHA_ARG_A_TFACTOR_ALPHA (4 << 0) 21921099013bSjsg # define RADEON_ALPHA_ARG_A_T0_ALPHA (5 << 0) 21931099013bSjsg # define RADEON_ALPHA_ARG_A_T1_ALPHA (6 << 0) 21941099013bSjsg # define RADEON_ALPHA_ARG_A_T2_ALPHA (7 << 0) 21951099013bSjsg # define RADEON_ALPHA_ARG_A_T3_ALPHA (8 << 0) 21961099013bSjsg # define RADEON_ALPHA_ARG_B_SHIFT 4 21971099013bSjsg # define RADEON_ALPHA_ARG_B_MASK (0xf << 4) 21981099013bSjsg # define RADEON_ALPHA_ARG_B_ZERO (0 << 4) 21991099013bSjsg # define RADEON_ALPHA_ARG_B_CURRENT_ALPHA (1 << 4) 22001099013bSjsg # define RADEON_ALPHA_ARG_B_DIFFUSE_ALPHA (2 << 4) 22011099013bSjsg # define RADEON_ALPHA_ARG_B_SPECULAR_ALPHA (3 << 4) 22021099013bSjsg # define RADEON_ALPHA_ARG_B_TFACTOR_ALPHA (4 << 4) 22031099013bSjsg # define RADEON_ALPHA_ARG_B_T0_ALPHA (5 << 4) 22041099013bSjsg # define RADEON_ALPHA_ARG_B_T1_ALPHA (6 << 4) 22051099013bSjsg # define RADEON_ALPHA_ARG_B_T2_ALPHA (7 << 4) 22061099013bSjsg # define RADEON_ALPHA_ARG_B_T3_ALPHA (8 << 4) 22071099013bSjsg # define RADEON_ALPHA_ARG_C_SHIFT 8 22081099013bSjsg # define RADEON_ALPHA_ARG_C_MASK (0xf << 8) 22091099013bSjsg # define RADEON_ALPHA_ARG_C_ZERO (0 << 8) 22101099013bSjsg # define RADEON_ALPHA_ARG_C_CURRENT_ALPHA (1 << 8) 22111099013bSjsg # define RADEON_ALPHA_ARG_C_DIFFUSE_ALPHA (2 << 8) 22121099013bSjsg # define RADEON_ALPHA_ARG_C_SPECULAR_ALPHA (3 << 8) 22131099013bSjsg # define RADEON_ALPHA_ARG_C_TFACTOR_ALPHA (4 << 8) 22141099013bSjsg # define RADEON_ALPHA_ARG_C_T0_ALPHA (5 << 8) 22151099013bSjsg # define RADEON_ALPHA_ARG_C_T1_ALPHA (6 << 8) 22161099013bSjsg # define RADEON_ALPHA_ARG_C_T2_ALPHA (7 << 8) 22171099013bSjsg # define RADEON_ALPHA_ARG_C_T3_ALPHA (8 << 8) 22181099013bSjsg # define RADEON_DOT_ALPHA_DONT_REPLICATE (1 << 9) 22191099013bSjsg # define RADEON_ALPHA_ARG_MASK 0xf 22201099013bSjsg 22211099013bSjsg #define RADEON_PP_TFACTOR_0 0x1c68 22221099013bSjsg #define RADEON_PP_TFACTOR_1 0x1c80 22231099013bSjsg #define RADEON_PP_TFACTOR_2 0x1c98 22241099013bSjsg 22251099013bSjsg #define RADEON_RB3D_BLENDCNTL 0x1c20 22261099013bSjsg # define RADEON_COMB_FCN_MASK (3 << 12) 22271099013bSjsg # define RADEON_COMB_FCN_ADD_CLAMP (0 << 12) 22281099013bSjsg # define RADEON_COMB_FCN_ADD_NOCLAMP (1 << 12) 22291099013bSjsg # define RADEON_COMB_FCN_SUB_CLAMP (2 << 12) 22301099013bSjsg # define RADEON_COMB_FCN_SUB_NOCLAMP (3 << 12) 22311099013bSjsg # define RADEON_SRC_BLEND_GL_ZERO (32 << 16) 22321099013bSjsg # define RADEON_SRC_BLEND_GL_ONE (33 << 16) 22331099013bSjsg # define RADEON_SRC_BLEND_GL_SRC_COLOR (34 << 16) 22341099013bSjsg # define RADEON_SRC_BLEND_GL_ONE_MINUS_SRC_COLOR (35 << 16) 22351099013bSjsg # define RADEON_SRC_BLEND_GL_DST_COLOR (36 << 16) 22361099013bSjsg # define RADEON_SRC_BLEND_GL_ONE_MINUS_DST_COLOR (37 << 16) 22371099013bSjsg # define RADEON_SRC_BLEND_GL_SRC_ALPHA (38 << 16) 22381099013bSjsg # define RADEON_SRC_BLEND_GL_ONE_MINUS_SRC_ALPHA (39 << 16) 22391099013bSjsg # define RADEON_SRC_BLEND_GL_DST_ALPHA (40 << 16) 22401099013bSjsg # define RADEON_SRC_BLEND_GL_ONE_MINUS_DST_ALPHA (41 << 16) 22411099013bSjsg # define RADEON_SRC_BLEND_GL_SRC_ALPHA_SATURATE (42 << 16) 22421099013bSjsg # define RADEON_SRC_BLEND_MASK (63 << 16) 22431099013bSjsg # define RADEON_DST_BLEND_GL_ZERO (32 << 24) 22441099013bSjsg # define RADEON_DST_BLEND_GL_ONE (33 << 24) 22451099013bSjsg # define RADEON_DST_BLEND_GL_SRC_COLOR (34 << 24) 22461099013bSjsg # define RADEON_DST_BLEND_GL_ONE_MINUS_SRC_COLOR (35 << 24) 22471099013bSjsg # define RADEON_DST_BLEND_GL_DST_COLOR (36 << 24) 22481099013bSjsg # define RADEON_DST_BLEND_GL_ONE_MINUS_DST_COLOR (37 << 24) 22491099013bSjsg # define RADEON_DST_BLEND_GL_SRC_ALPHA (38 << 24) 22501099013bSjsg # define RADEON_DST_BLEND_GL_ONE_MINUS_SRC_ALPHA (39 << 24) 22511099013bSjsg # define RADEON_DST_BLEND_GL_DST_ALPHA (40 << 24) 22521099013bSjsg # define RADEON_DST_BLEND_GL_ONE_MINUS_DST_ALPHA (41 << 24) 22531099013bSjsg # define RADEON_DST_BLEND_MASK (63 << 24) 22541099013bSjsg #define RADEON_RB3D_CNTL 0x1c3c 22551099013bSjsg # define RADEON_ALPHA_BLEND_ENABLE (1 << 0) 22561099013bSjsg # define RADEON_PLANE_MASK_ENABLE (1 << 1) 22571099013bSjsg # define RADEON_DITHER_ENABLE (1 << 2) 22581099013bSjsg # define RADEON_ROUND_ENABLE (1 << 3) 22591099013bSjsg # define RADEON_SCALE_DITHER_ENABLE (1 << 4) 22601099013bSjsg # define RADEON_DITHER_INIT (1 << 5) 22611099013bSjsg # define RADEON_ROP_ENABLE (1 << 6) 22621099013bSjsg # define RADEON_STENCIL_ENABLE (1 << 7) 22631099013bSjsg # define RADEON_Z_ENABLE (1 << 8) 22641099013bSjsg # define RADEON_DEPTHXY_OFFSET_ENABLE (1 << 9) 22651099013bSjsg # define RADEON_RB3D_COLOR_FORMAT_SHIFT 10 22661099013bSjsg 22671099013bSjsg # define RADEON_COLOR_FORMAT_ARGB1555 3 22681099013bSjsg # define RADEON_COLOR_FORMAT_RGB565 4 22691099013bSjsg # define RADEON_COLOR_FORMAT_ARGB8888 6 22701099013bSjsg # define RADEON_COLOR_FORMAT_RGB332 7 22711099013bSjsg # define RADEON_COLOR_FORMAT_Y8 8 22721099013bSjsg # define RADEON_COLOR_FORMAT_RGB8 9 22731099013bSjsg # define RADEON_COLOR_FORMAT_YUV422_VYUY 11 22741099013bSjsg # define RADEON_COLOR_FORMAT_YUV422_YVYU 12 22751099013bSjsg # define RADEON_COLOR_FORMAT_aYUV444 14 22761099013bSjsg # define RADEON_COLOR_FORMAT_ARGB4444 15 22771099013bSjsg 22781099013bSjsg # define RADEON_CLRCMP_FLIP_ENABLE (1 << 14) 22791099013bSjsg #define RADEON_RB3D_COLOROFFSET 0x1c40 22801099013bSjsg # define RADEON_COLOROFFSET_MASK 0xfffffff0 22811099013bSjsg #define RADEON_RB3D_COLORPITCH 0x1c48 22821099013bSjsg # define RADEON_COLORPITCH_MASK 0x000001ff8 22831099013bSjsg # define RADEON_COLOR_TILE_ENABLE (1 << 16) 22841099013bSjsg # define RADEON_COLOR_MICROTILE_ENABLE (1 << 17) 22851099013bSjsg # define RADEON_COLOR_ENDIAN_NO_SWAP (0 << 18) 22861099013bSjsg # define RADEON_COLOR_ENDIAN_WORD_SWAP (1 << 18) 22871099013bSjsg # define RADEON_COLOR_ENDIAN_DWORD_SWAP (2 << 18) 22881099013bSjsg #define RADEON_RB3D_DEPTHOFFSET 0x1c24 22891099013bSjsg #define RADEON_RB3D_DEPTHPITCH 0x1c28 22901099013bSjsg # define RADEON_DEPTHPITCH_MASK 0x00001ff8 22911099013bSjsg # define RADEON_DEPTH_ENDIAN_NO_SWAP (0 << 18) 22921099013bSjsg # define RADEON_DEPTH_ENDIAN_WORD_SWAP (1 << 18) 22931099013bSjsg # define RADEON_DEPTH_ENDIAN_DWORD_SWAP (2 << 18) 22941099013bSjsg #define RADEON_RB3D_PLANEMASK 0x1d84 22951099013bSjsg #define RADEON_RB3D_ROPCNTL 0x1d80 22961099013bSjsg # define RADEON_ROP_MASK (15 << 8) 22971099013bSjsg # define RADEON_ROP_CLEAR (0 << 8) 22981099013bSjsg # define RADEON_ROP_NOR (1 << 8) 22991099013bSjsg # define RADEON_ROP_AND_INVERTED (2 << 8) 23001099013bSjsg # define RADEON_ROP_COPY_INVERTED (3 << 8) 23011099013bSjsg # define RADEON_ROP_AND_REVERSE (4 << 8) 23021099013bSjsg # define RADEON_ROP_INVERT (5 << 8) 23031099013bSjsg # define RADEON_ROP_XOR (6 << 8) 23041099013bSjsg # define RADEON_ROP_NAND (7 << 8) 23051099013bSjsg # define RADEON_ROP_AND (8 << 8) 23061099013bSjsg # define RADEON_ROP_EQUIV (9 << 8) 23071099013bSjsg # define RADEON_ROP_NOOP (10 << 8) 23081099013bSjsg # define RADEON_ROP_OR_INVERTED (11 << 8) 23091099013bSjsg # define RADEON_ROP_COPY (12 << 8) 23101099013bSjsg # define RADEON_ROP_OR_REVERSE (13 << 8) 23111099013bSjsg # define RADEON_ROP_OR (14 << 8) 23121099013bSjsg # define RADEON_ROP_SET (15 << 8) 23131099013bSjsg #define RADEON_RB3D_STENCILREFMASK 0x1d7c 23141099013bSjsg # define RADEON_STENCIL_REF_SHIFT 0 23151099013bSjsg # define RADEON_STENCIL_REF_MASK (0xff << 0) 23161099013bSjsg # define RADEON_STENCIL_MASK_SHIFT 16 23171099013bSjsg # define RADEON_STENCIL_VALUE_MASK (0xff << 16) 23181099013bSjsg # define RADEON_STENCIL_WRITEMASK_SHIFT 24 23191099013bSjsg # define RADEON_STENCIL_WRITE_MASK (0xff << 24) 23201099013bSjsg #define RADEON_RB3D_ZSTENCILCNTL 0x1c2c 23211099013bSjsg # define RADEON_DEPTH_FORMAT_MASK (0xf << 0) 23221099013bSjsg # define RADEON_DEPTH_FORMAT_16BIT_INT_Z (0 << 0) 23231099013bSjsg # define RADEON_DEPTH_FORMAT_24BIT_INT_Z (2 << 0) 23241099013bSjsg # define RADEON_DEPTH_FORMAT_24BIT_FLOAT_Z (3 << 0) 23251099013bSjsg # define RADEON_DEPTH_FORMAT_32BIT_INT_Z (4 << 0) 23261099013bSjsg # define RADEON_DEPTH_FORMAT_32BIT_FLOAT_Z (5 << 0) 23271099013bSjsg # define RADEON_DEPTH_FORMAT_16BIT_FLOAT_W (7 << 0) 23281099013bSjsg # define RADEON_DEPTH_FORMAT_24BIT_FLOAT_W (9 << 0) 23291099013bSjsg # define RADEON_DEPTH_FORMAT_32BIT_FLOAT_W (11 << 0) 23301099013bSjsg # define RADEON_Z_TEST_NEVER (0 << 4) 23311099013bSjsg # define RADEON_Z_TEST_LESS (1 << 4) 23321099013bSjsg # define RADEON_Z_TEST_LEQUAL (2 << 4) 23331099013bSjsg # define RADEON_Z_TEST_EQUAL (3 << 4) 23341099013bSjsg # define RADEON_Z_TEST_GEQUAL (4 << 4) 23351099013bSjsg # define RADEON_Z_TEST_GREATER (5 << 4) 23361099013bSjsg # define RADEON_Z_TEST_NEQUAL (6 << 4) 23371099013bSjsg # define RADEON_Z_TEST_ALWAYS (7 << 4) 23381099013bSjsg # define RADEON_Z_TEST_MASK (7 << 4) 23391099013bSjsg # define RADEON_STENCIL_TEST_NEVER (0 << 12) 23401099013bSjsg # define RADEON_STENCIL_TEST_LESS (1 << 12) 23411099013bSjsg # define RADEON_STENCIL_TEST_LEQUAL (2 << 12) 23421099013bSjsg # define RADEON_STENCIL_TEST_EQUAL (3 << 12) 23431099013bSjsg # define RADEON_STENCIL_TEST_GEQUAL (4 << 12) 23441099013bSjsg # define RADEON_STENCIL_TEST_GREATER (5 << 12) 23451099013bSjsg # define RADEON_STENCIL_TEST_NEQUAL (6 << 12) 23461099013bSjsg # define RADEON_STENCIL_TEST_ALWAYS (7 << 12) 23471099013bSjsg # define RADEON_STENCIL_TEST_MASK (0x7 << 12) 23481099013bSjsg # define RADEON_STENCIL_FAIL_KEEP (0 << 16) 23491099013bSjsg # define RADEON_STENCIL_FAIL_ZERO (1 << 16) 23501099013bSjsg # define RADEON_STENCIL_FAIL_REPLACE (2 << 16) 23511099013bSjsg # define RADEON_STENCIL_FAIL_INC (3 << 16) 23521099013bSjsg # define RADEON_STENCIL_FAIL_DEC (4 << 16) 23531099013bSjsg # define RADEON_STENCIL_FAIL_INVERT (5 << 16) 23541099013bSjsg # define RADEON_STENCIL_FAIL_MASK (0x7 << 16) 23551099013bSjsg # define RADEON_STENCIL_ZPASS_KEEP (0 << 20) 23561099013bSjsg # define RADEON_STENCIL_ZPASS_ZERO (1 << 20) 23571099013bSjsg # define RADEON_STENCIL_ZPASS_REPLACE (2 << 20) 23581099013bSjsg # define RADEON_STENCIL_ZPASS_INC (3 << 20) 23591099013bSjsg # define RADEON_STENCIL_ZPASS_DEC (4 << 20) 23601099013bSjsg # define RADEON_STENCIL_ZPASS_INVERT (5 << 20) 23611099013bSjsg # define RADEON_STENCIL_ZPASS_MASK (0x7 << 20) 23621099013bSjsg # define RADEON_STENCIL_ZFAIL_KEEP (0 << 24) 23631099013bSjsg # define RADEON_STENCIL_ZFAIL_ZERO (1 << 24) 23641099013bSjsg # define RADEON_STENCIL_ZFAIL_REPLACE (2 << 24) 23651099013bSjsg # define RADEON_STENCIL_ZFAIL_INC (3 << 24) 23661099013bSjsg # define RADEON_STENCIL_ZFAIL_DEC (4 << 24) 23671099013bSjsg # define RADEON_STENCIL_ZFAIL_INVERT (5 << 24) 23681099013bSjsg # define RADEON_STENCIL_ZFAIL_MASK (0x7 << 24) 23691099013bSjsg # define RADEON_Z_COMPRESSION_ENABLE (1 << 28) 23701099013bSjsg # define RADEON_FORCE_Z_DIRTY (1 << 29) 23711099013bSjsg # define RADEON_Z_WRITE_ENABLE (1 << 30) 23721099013bSjsg #define RADEON_RE_LINE_PATTERN 0x1cd0 23731099013bSjsg # define RADEON_LINE_PATTERN_MASK 0x0000ffff 23741099013bSjsg # define RADEON_LINE_REPEAT_COUNT_SHIFT 16 23751099013bSjsg # define RADEON_LINE_PATTERN_START_SHIFT 24 23761099013bSjsg # define RADEON_LINE_PATTERN_LITTLE_BIT_ORDER (0 << 28) 23771099013bSjsg # define RADEON_LINE_PATTERN_BIG_BIT_ORDER (1 << 28) 23781099013bSjsg # define RADEON_LINE_PATTERN_AUTO_RESET (1 << 29) 23791099013bSjsg #define RADEON_RE_LINE_STATE 0x1cd4 23801099013bSjsg # define RADEON_LINE_CURRENT_PTR_SHIFT 0 23811099013bSjsg # define RADEON_LINE_CURRENT_COUNT_SHIFT 8 23821099013bSjsg #define RADEON_RE_MISC 0x26c4 23831099013bSjsg # define RADEON_STIPPLE_COORD_MASK 0x1f 23841099013bSjsg # define RADEON_STIPPLE_X_OFFSET_SHIFT 0 23851099013bSjsg # define RADEON_STIPPLE_X_OFFSET_MASK (0x1f << 0) 23861099013bSjsg # define RADEON_STIPPLE_Y_OFFSET_SHIFT 8 23871099013bSjsg # define RADEON_STIPPLE_Y_OFFSET_MASK (0x1f << 8) 23881099013bSjsg # define RADEON_STIPPLE_LITTLE_BIT_ORDER (0 << 16) 23891099013bSjsg # define RADEON_STIPPLE_BIG_BIT_ORDER (1 << 16) 23901099013bSjsg #define RADEON_RE_SOLID_COLOR 0x1c1c 23911099013bSjsg #define RADEON_RE_TOP_LEFT 0x26c0 23921099013bSjsg # define RADEON_RE_LEFT_SHIFT 0 23931099013bSjsg # define RADEON_RE_TOP_SHIFT 16 23941099013bSjsg #define RADEON_RE_WIDTH_HEIGHT 0x1c44 23951099013bSjsg # define RADEON_RE_WIDTH_SHIFT 0 23961099013bSjsg # define RADEON_RE_HEIGHT_SHIFT 16 23971099013bSjsg 23981099013bSjsg #define RADEON_RB3D_ZPASS_DATA 0x3290 23991099013bSjsg #define RADEON_RB3D_ZPASS_ADDR 0x3294 24001099013bSjsg 24011099013bSjsg #define RADEON_SE_CNTL 0x1c4c 24021099013bSjsg # define RADEON_FFACE_CULL_CW (0 << 0) 24031099013bSjsg # define RADEON_FFACE_CULL_CCW (1 << 0) 24041099013bSjsg # define RADEON_FFACE_CULL_DIR_MASK (1 << 0) 24051099013bSjsg # define RADEON_BFACE_CULL (0 << 1) 24061099013bSjsg # define RADEON_BFACE_SOLID (3 << 1) 24071099013bSjsg # define RADEON_FFACE_CULL (0 << 3) 24081099013bSjsg # define RADEON_FFACE_SOLID (3 << 3) 24091099013bSjsg # define RADEON_FFACE_CULL_MASK (3 << 3) 24101099013bSjsg # define RADEON_BADVTX_CULL_DISABLE (1 << 5) 24111099013bSjsg # define RADEON_FLAT_SHADE_VTX_0 (0 << 6) 24121099013bSjsg # define RADEON_FLAT_SHADE_VTX_1 (1 << 6) 24131099013bSjsg # define RADEON_FLAT_SHADE_VTX_2 (2 << 6) 24141099013bSjsg # define RADEON_FLAT_SHADE_VTX_LAST (3 << 6) 24151099013bSjsg # define RADEON_DIFFUSE_SHADE_SOLID (0 << 8) 24161099013bSjsg # define RADEON_DIFFUSE_SHADE_FLAT (1 << 8) 24171099013bSjsg # define RADEON_DIFFUSE_SHADE_GOURAUD (2 << 8) 24181099013bSjsg # define RADEON_DIFFUSE_SHADE_MASK (3 << 8) 24191099013bSjsg # define RADEON_ALPHA_SHADE_SOLID (0 << 10) 24201099013bSjsg # define RADEON_ALPHA_SHADE_FLAT (1 << 10) 24211099013bSjsg # define RADEON_ALPHA_SHADE_GOURAUD (2 << 10) 24221099013bSjsg # define RADEON_ALPHA_SHADE_MASK (3 << 10) 24231099013bSjsg # define RADEON_SPECULAR_SHADE_SOLID (0 << 12) 24241099013bSjsg # define RADEON_SPECULAR_SHADE_FLAT (1 << 12) 24251099013bSjsg # define RADEON_SPECULAR_SHADE_GOURAUD (2 << 12) 24261099013bSjsg # define RADEON_SPECULAR_SHADE_MASK (3 << 12) 24271099013bSjsg # define RADEON_FOG_SHADE_SOLID (0 << 14) 24281099013bSjsg # define RADEON_FOG_SHADE_FLAT (1 << 14) 24291099013bSjsg # define RADEON_FOG_SHADE_GOURAUD (2 << 14) 24301099013bSjsg # define RADEON_FOG_SHADE_MASK (3 << 14) 24311099013bSjsg # define RADEON_ZBIAS_ENABLE_POINT (1 << 16) 24321099013bSjsg # define RADEON_ZBIAS_ENABLE_LINE (1 << 17) 24331099013bSjsg # define RADEON_ZBIAS_ENABLE_TRI (1 << 18) 24341099013bSjsg # define RADEON_WIDELINE_ENABLE (1 << 20) 24351099013bSjsg # define RADEON_VPORT_XY_XFORM_ENABLE (1 << 24) 24361099013bSjsg # define RADEON_VPORT_Z_XFORM_ENABLE (1 << 25) 24371099013bSjsg # define RADEON_VTX_PIX_CENTER_D3D (0 << 27) 24381099013bSjsg # define RADEON_VTX_PIX_CENTER_OGL (1 << 27) 24391099013bSjsg # define RADEON_ROUND_MODE_TRUNC (0 << 28) 24401099013bSjsg # define RADEON_ROUND_MODE_ROUND (1 << 28) 24411099013bSjsg # define RADEON_ROUND_MODE_ROUND_EVEN (2 << 28) 24421099013bSjsg # define RADEON_ROUND_MODE_ROUND_ODD (3 << 28) 24431099013bSjsg # define RADEON_ROUND_PREC_16TH_PIX (0 << 30) 24441099013bSjsg # define RADEON_ROUND_PREC_8TH_PIX (1 << 30) 24451099013bSjsg # define RADEON_ROUND_PREC_4TH_PIX (2 << 30) 24461099013bSjsg # define RADEON_ROUND_PREC_HALF_PIX (3 << 30) 24471099013bSjsg #define R200_RE_CNTL 0x1c50 24481099013bSjsg # define R200_STIPPLE_ENABLE 0x1 24491099013bSjsg # define R200_SCISSOR_ENABLE 0x2 24501099013bSjsg # define R200_PATTERN_ENABLE 0x4 24511099013bSjsg # define R200_PERSPECTIVE_ENABLE 0x8 24521099013bSjsg # define R200_POINT_SMOOTH 0x20 24531099013bSjsg # define R200_VTX_STQ0_D3D 0x00010000 24541099013bSjsg # define R200_VTX_STQ1_D3D 0x00040000 24551099013bSjsg # define R200_VTX_STQ2_D3D 0x00100000 24561099013bSjsg # define R200_VTX_STQ3_D3D 0x00400000 24571099013bSjsg # define R200_VTX_STQ4_D3D 0x01000000 24581099013bSjsg # define R200_VTX_STQ5_D3D 0x04000000 24591099013bSjsg #define RADEON_SE_CNTL_STATUS 0x2140 24601099013bSjsg # define RADEON_VC_NO_SWAP (0 << 0) 24611099013bSjsg # define RADEON_VC_16BIT_SWAP (1 << 0) 24621099013bSjsg # define RADEON_VC_32BIT_SWAP (2 << 0) 24631099013bSjsg # define RADEON_VC_HALF_DWORD_SWAP (3 << 0) 24641099013bSjsg # define RADEON_TCL_BYPASS (1 << 8) 24651099013bSjsg #define RADEON_SE_COORD_FMT 0x1c50 24661099013bSjsg # define RADEON_VTX_XY_PRE_MULT_1_OVER_W0 (1 << 0) 24671099013bSjsg # define RADEON_VTX_Z_PRE_MULT_1_OVER_W0 (1 << 1) 24681099013bSjsg # define RADEON_VTX_ST0_NONPARAMETRIC (1 << 8) 24691099013bSjsg # define RADEON_VTX_ST1_NONPARAMETRIC (1 << 9) 24701099013bSjsg # define RADEON_VTX_ST2_NONPARAMETRIC (1 << 10) 24711099013bSjsg # define RADEON_VTX_ST3_NONPARAMETRIC (1 << 11) 24721099013bSjsg # define RADEON_VTX_W0_NORMALIZE (1 << 12) 24731099013bSjsg # define RADEON_VTX_W0_IS_NOT_1_OVER_W0 (1 << 16) 24741099013bSjsg # define RADEON_VTX_ST0_PRE_MULT_1_OVER_W0 (1 << 17) 24751099013bSjsg # define RADEON_VTX_ST1_PRE_MULT_1_OVER_W0 (1 << 19) 24761099013bSjsg # define RADEON_VTX_ST2_PRE_MULT_1_OVER_W0 (1 << 21) 24771099013bSjsg # define RADEON_VTX_ST3_PRE_MULT_1_OVER_W0 (1 << 23) 24781099013bSjsg # define RADEON_TEX1_W_ROUTING_USE_W0 (0 << 26) 24791099013bSjsg # define RADEON_TEX1_W_ROUTING_USE_Q1 (1 << 26) 24801099013bSjsg #define RADEON_SE_LINE_WIDTH 0x1db8 24811099013bSjsg #define RADEON_SE_TCL_LIGHT_MODEL_CTL 0x226c 24821099013bSjsg # define RADEON_LIGHTING_ENABLE (1 << 0) 24831099013bSjsg # define RADEON_LIGHT_IN_MODELSPACE (1 << 1) 24841099013bSjsg # define RADEON_LOCAL_VIEWER (1 << 2) 24851099013bSjsg # define RADEON_NORMALIZE_NORMALS (1 << 3) 24861099013bSjsg # define RADEON_RESCALE_NORMALS (1 << 4) 24871099013bSjsg # define RADEON_SPECULAR_LIGHTS (1 << 5) 24881099013bSjsg # define RADEON_DIFFUSE_SPECULAR_COMBINE (1 << 6) 24891099013bSjsg # define RADEON_LIGHT_ALPHA (1 << 7) 24901099013bSjsg # define RADEON_LOCAL_LIGHT_VEC_GL (1 << 8) 24911099013bSjsg # define RADEON_LIGHT_NO_NORMAL_AMBIENT_ONLY (1 << 9) 24921099013bSjsg # define RADEON_LM_SOURCE_STATE_PREMULT 0 24931099013bSjsg # define RADEON_LM_SOURCE_STATE_MULT 1 24941099013bSjsg # define RADEON_LM_SOURCE_VERTEX_DIFFUSE 2 24951099013bSjsg # define RADEON_LM_SOURCE_VERTEX_SPECULAR 3 24961099013bSjsg # define RADEON_EMISSIVE_SOURCE_SHIFT 16 24971099013bSjsg # define RADEON_AMBIENT_SOURCE_SHIFT 18 24981099013bSjsg # define RADEON_DIFFUSE_SOURCE_SHIFT 20 24991099013bSjsg # define RADEON_SPECULAR_SOURCE_SHIFT 22 25001099013bSjsg #define RADEON_SE_TCL_MATERIAL_AMBIENT_RED 0x2220 25011099013bSjsg #define RADEON_SE_TCL_MATERIAL_AMBIENT_GREEN 0x2224 25021099013bSjsg #define RADEON_SE_TCL_MATERIAL_AMBIENT_BLUE 0x2228 25031099013bSjsg #define RADEON_SE_TCL_MATERIAL_AMBIENT_ALPHA 0x222c 25041099013bSjsg #define RADEON_SE_TCL_MATERIAL_DIFFUSE_RED 0x2230 25051099013bSjsg #define RADEON_SE_TCL_MATERIAL_DIFFUSE_GREEN 0x2234 25061099013bSjsg #define RADEON_SE_TCL_MATERIAL_DIFFUSE_BLUE 0x2238 25071099013bSjsg #define RADEON_SE_TCL_MATERIAL_DIFFUSE_ALPHA 0x223c 25081099013bSjsg #define RADEON_SE_TCL_MATERIAL_EMMISSIVE_RED 0x2210 25091099013bSjsg #define RADEON_SE_TCL_MATERIAL_EMMISSIVE_GREEN 0x2214 25101099013bSjsg #define RADEON_SE_TCL_MATERIAL_EMMISSIVE_BLUE 0x2218 25111099013bSjsg #define RADEON_SE_TCL_MATERIAL_EMMISSIVE_ALPHA 0x221c 25121099013bSjsg #define RADEON_SE_TCL_MATERIAL_SPECULAR_RED 0x2240 25131099013bSjsg #define RADEON_SE_TCL_MATERIAL_SPECULAR_GREEN 0x2244 25141099013bSjsg #define RADEON_SE_TCL_MATERIAL_SPECULAR_BLUE 0x2248 25151099013bSjsg #define RADEON_SE_TCL_MATERIAL_SPECULAR_ALPHA 0x224c 25161099013bSjsg #define RADEON_SE_TCL_MATRIX_SELECT_0 0x225c 25171099013bSjsg # define RADEON_MODELVIEW_0_SHIFT 0 25181099013bSjsg # define RADEON_MODELVIEW_1_SHIFT 4 25191099013bSjsg # define RADEON_MODELVIEW_2_SHIFT 8 25201099013bSjsg # define RADEON_MODELVIEW_3_SHIFT 12 25211099013bSjsg # define RADEON_IT_MODELVIEW_0_SHIFT 16 25221099013bSjsg # define RADEON_IT_MODELVIEW_1_SHIFT 20 25231099013bSjsg # define RADEON_IT_MODELVIEW_2_SHIFT 24 25241099013bSjsg # define RADEON_IT_MODELVIEW_3_SHIFT 28 25251099013bSjsg #define RADEON_SE_TCL_MATRIX_SELECT_1 0x2260 25261099013bSjsg # define RADEON_MODELPROJECT_0_SHIFT 0 25271099013bSjsg # define RADEON_MODELPROJECT_1_SHIFT 4 25281099013bSjsg # define RADEON_MODELPROJECT_2_SHIFT 8 25291099013bSjsg # define RADEON_MODELPROJECT_3_SHIFT 12 25301099013bSjsg # define RADEON_TEXMAT_0_SHIFT 16 25311099013bSjsg # define RADEON_TEXMAT_1_SHIFT 20 25321099013bSjsg # define RADEON_TEXMAT_2_SHIFT 24 25331099013bSjsg # define RADEON_TEXMAT_3_SHIFT 28 25341099013bSjsg 25351099013bSjsg 25361099013bSjsg #define RADEON_SE_TCL_OUTPUT_VTX_FMT 0x2254 25371099013bSjsg # define RADEON_TCL_VTX_W0 (1 << 0) 25381099013bSjsg # define RADEON_TCL_VTX_FP_DIFFUSE (1 << 1) 25391099013bSjsg # define RADEON_TCL_VTX_FP_ALPHA (1 << 2) 25401099013bSjsg # define RADEON_TCL_VTX_PK_DIFFUSE (1 << 3) 25411099013bSjsg # define RADEON_TCL_VTX_FP_SPEC (1 << 4) 25421099013bSjsg # define RADEON_TCL_VTX_FP_FOG (1 << 5) 25431099013bSjsg # define RADEON_TCL_VTX_PK_SPEC (1 << 6) 25441099013bSjsg # define RADEON_TCL_VTX_ST0 (1 << 7) 25451099013bSjsg # define RADEON_TCL_VTX_ST1 (1 << 8) 25461099013bSjsg # define RADEON_TCL_VTX_Q1 (1 << 9) 25471099013bSjsg # define RADEON_TCL_VTX_ST2 (1 << 10) 25481099013bSjsg # define RADEON_TCL_VTX_Q2 (1 << 11) 25491099013bSjsg # define RADEON_TCL_VTX_ST3 (1 << 12) 25501099013bSjsg # define RADEON_TCL_VTX_Q3 (1 << 13) 25511099013bSjsg # define RADEON_TCL_VTX_Q0 (1 << 14) 25521099013bSjsg # define RADEON_TCL_VTX_WEIGHT_COUNT_SHIFT 15 25531099013bSjsg # define RADEON_TCL_VTX_NORM0 (1 << 18) 25541099013bSjsg # define RADEON_TCL_VTX_XY1 (1 << 27) 25551099013bSjsg # define RADEON_TCL_VTX_Z1 (1 << 28) 25561099013bSjsg # define RADEON_TCL_VTX_W1 (1 << 29) 25571099013bSjsg # define RADEON_TCL_VTX_NORM1 (1 << 30) 25581099013bSjsg # define RADEON_TCL_VTX_Z0 (1 << 31) 25591099013bSjsg 25601099013bSjsg #define RADEON_SE_TCL_OUTPUT_VTX_SEL 0x2258 25611099013bSjsg # define RADEON_TCL_COMPUTE_XYZW (1 << 0) 25621099013bSjsg # define RADEON_TCL_COMPUTE_DIFFUSE (1 << 1) 25631099013bSjsg # define RADEON_TCL_COMPUTE_SPECULAR (1 << 2) 25641099013bSjsg # define RADEON_TCL_FORCE_NAN_IF_COLOR_NAN (1 << 3) 25651099013bSjsg # define RADEON_TCL_FORCE_INORDER_PROC (1 << 4) 25661099013bSjsg # define RADEON_TCL_TEX_INPUT_TEX_0 0 25671099013bSjsg # define RADEON_TCL_TEX_INPUT_TEX_1 1 25681099013bSjsg # define RADEON_TCL_TEX_INPUT_TEX_2 2 25691099013bSjsg # define RADEON_TCL_TEX_INPUT_TEX_3 3 25701099013bSjsg # define RADEON_TCL_TEX_COMPUTED_TEX_0 8 25711099013bSjsg # define RADEON_TCL_TEX_COMPUTED_TEX_1 9 25721099013bSjsg # define RADEON_TCL_TEX_COMPUTED_TEX_2 10 25731099013bSjsg # define RADEON_TCL_TEX_COMPUTED_TEX_3 11 25741099013bSjsg # define RADEON_TCL_TEX_0_OUTPUT_SHIFT 16 25751099013bSjsg # define RADEON_TCL_TEX_1_OUTPUT_SHIFT 20 25761099013bSjsg # define RADEON_TCL_TEX_2_OUTPUT_SHIFT 24 25771099013bSjsg # define RADEON_TCL_TEX_3_OUTPUT_SHIFT 28 25781099013bSjsg 25791099013bSjsg #define RADEON_SE_TCL_PER_LIGHT_CTL_0 0x2270 25801099013bSjsg # define RADEON_LIGHT_0_ENABLE (1 << 0) 25811099013bSjsg # define RADEON_LIGHT_0_ENABLE_AMBIENT (1 << 1) 25821099013bSjsg # define RADEON_LIGHT_0_ENABLE_SPECULAR (1 << 2) 25831099013bSjsg # define RADEON_LIGHT_0_IS_LOCAL (1 << 3) 25841099013bSjsg # define RADEON_LIGHT_0_IS_SPOT (1 << 4) 25851099013bSjsg # define RADEON_LIGHT_0_DUAL_CONE (1 << 5) 25861099013bSjsg # define RADEON_LIGHT_0_ENABLE_RANGE_ATTEN (1 << 6) 25871099013bSjsg # define RADEON_LIGHT_0_CONSTANT_RANGE_ATTEN (1 << 7) 25881099013bSjsg # define RADEON_LIGHT_0_SHIFT 0 25891099013bSjsg # define RADEON_LIGHT_1_ENABLE (1 << 16) 25901099013bSjsg # define RADEON_LIGHT_1_ENABLE_AMBIENT (1 << 17) 25911099013bSjsg # define RADEON_LIGHT_1_ENABLE_SPECULAR (1 << 18) 25921099013bSjsg # define RADEON_LIGHT_1_IS_LOCAL (1 << 19) 25931099013bSjsg # define RADEON_LIGHT_1_IS_SPOT (1 << 20) 25941099013bSjsg # define RADEON_LIGHT_1_DUAL_CONE (1 << 21) 25951099013bSjsg # define RADEON_LIGHT_1_ENABLE_RANGE_ATTEN (1 << 22) 25961099013bSjsg # define RADEON_LIGHT_1_CONSTANT_RANGE_ATTEN (1 << 23) 25971099013bSjsg # define RADEON_LIGHT_1_SHIFT 16 25981099013bSjsg #define RADEON_SE_TCL_PER_LIGHT_CTL_1 0x2274 25991099013bSjsg # define RADEON_LIGHT_2_SHIFT 0 26001099013bSjsg # define RADEON_LIGHT_3_SHIFT 16 26011099013bSjsg #define RADEON_SE_TCL_PER_LIGHT_CTL_2 0x2278 26021099013bSjsg # define RADEON_LIGHT_4_SHIFT 0 26031099013bSjsg # define RADEON_LIGHT_5_SHIFT 16 26041099013bSjsg #define RADEON_SE_TCL_PER_LIGHT_CTL_3 0x227c 26051099013bSjsg # define RADEON_LIGHT_6_SHIFT 0 26061099013bSjsg # define RADEON_LIGHT_7_SHIFT 16 26071099013bSjsg 26081099013bSjsg #define RADEON_SE_TCL_SHININESS 0x2250 26091099013bSjsg 26101099013bSjsg #define RADEON_SE_TCL_TEXTURE_PROC_CTL 0x2268 26111099013bSjsg # define RADEON_TEXGEN_TEXMAT_0_ENABLE (1 << 0) 26121099013bSjsg # define RADEON_TEXGEN_TEXMAT_1_ENABLE (1 << 1) 26131099013bSjsg # define RADEON_TEXGEN_TEXMAT_2_ENABLE (1 << 2) 26141099013bSjsg # define RADEON_TEXGEN_TEXMAT_3_ENABLE (1 << 3) 26151099013bSjsg # define RADEON_TEXMAT_0_ENABLE (1 << 4) 26161099013bSjsg # define RADEON_TEXMAT_1_ENABLE (1 << 5) 26171099013bSjsg # define RADEON_TEXMAT_2_ENABLE (1 << 6) 26181099013bSjsg # define RADEON_TEXMAT_3_ENABLE (1 << 7) 26191099013bSjsg # define RADEON_TEXGEN_INPUT_MASK 0xf 26201099013bSjsg # define RADEON_TEXGEN_INPUT_TEXCOORD_0 0 26211099013bSjsg # define RADEON_TEXGEN_INPUT_TEXCOORD_1 1 26221099013bSjsg # define RADEON_TEXGEN_INPUT_TEXCOORD_2 2 26231099013bSjsg # define RADEON_TEXGEN_INPUT_TEXCOORD_3 3 26241099013bSjsg # define RADEON_TEXGEN_INPUT_OBJ 4 26251099013bSjsg # define RADEON_TEXGEN_INPUT_EYE 5 26261099013bSjsg # define RADEON_TEXGEN_INPUT_EYE_NORMAL 6 26271099013bSjsg # define RADEON_TEXGEN_INPUT_EYE_REFLECT 7 26281099013bSjsg # define RADEON_TEXGEN_INPUT_EYE_NORMALIZED 8 26291099013bSjsg # define RADEON_TEXGEN_0_INPUT_SHIFT 16 26301099013bSjsg # define RADEON_TEXGEN_1_INPUT_SHIFT 20 26311099013bSjsg # define RADEON_TEXGEN_2_INPUT_SHIFT 24 26321099013bSjsg # define RADEON_TEXGEN_3_INPUT_SHIFT 28 26331099013bSjsg 26341099013bSjsg #define RADEON_SE_TCL_UCP_VERT_BLEND_CTL 0x2264 26351099013bSjsg # define RADEON_UCP_IN_CLIP_SPACE (1 << 0) 26361099013bSjsg # define RADEON_UCP_IN_MODEL_SPACE (1 << 1) 26371099013bSjsg # define RADEON_UCP_ENABLE_0 (1 << 2) 26381099013bSjsg # define RADEON_UCP_ENABLE_1 (1 << 3) 26391099013bSjsg # define RADEON_UCP_ENABLE_2 (1 << 4) 26401099013bSjsg # define RADEON_UCP_ENABLE_3 (1 << 5) 26411099013bSjsg # define RADEON_UCP_ENABLE_4 (1 << 6) 26421099013bSjsg # define RADEON_UCP_ENABLE_5 (1 << 7) 26431099013bSjsg # define RADEON_TCL_FOG_MASK (3 << 8) 26441099013bSjsg # define RADEON_TCL_FOG_DISABLE (0 << 8) 26451099013bSjsg # define RADEON_TCL_FOG_EXP (1 << 8) 26461099013bSjsg # define RADEON_TCL_FOG_EXP2 (2 << 8) 26471099013bSjsg # define RADEON_TCL_FOG_LINEAR (3 << 8) 26481099013bSjsg # define RADEON_RNG_BASED_FOG (1 << 10) 26491099013bSjsg # define RADEON_LIGHT_TWOSIDE (1 << 11) 26501099013bSjsg # define RADEON_BLEND_OP_COUNT_MASK (7 << 12) 26511099013bSjsg # define RADEON_BLEND_OP_COUNT_SHIFT 12 26521099013bSjsg # define RADEON_POSITION_BLEND_OP_ENABLE (1 << 16) 26531099013bSjsg # define RADEON_NORMAL_BLEND_OP_ENABLE (1 << 17) 26541099013bSjsg # define RADEON_VERTEX_BLEND_SRC_0_PRIMARY (1 << 18) 26551099013bSjsg # define RADEON_VERTEX_BLEND_SRC_0_SECONDARY (1 << 18) 26561099013bSjsg # define RADEON_VERTEX_BLEND_SRC_1_PRIMARY (1 << 19) 26571099013bSjsg # define RADEON_VERTEX_BLEND_SRC_1_SECONDARY (1 << 19) 26581099013bSjsg # define RADEON_VERTEX_BLEND_SRC_2_PRIMARY (1 << 20) 26591099013bSjsg # define RADEON_VERTEX_BLEND_SRC_2_SECONDARY (1 << 20) 26601099013bSjsg # define RADEON_VERTEX_BLEND_SRC_3_PRIMARY (1 << 21) 26611099013bSjsg # define RADEON_VERTEX_BLEND_SRC_3_SECONDARY (1 << 21) 26621099013bSjsg # define RADEON_VERTEX_BLEND_WGT_MINUS_ONE (1 << 22) 26631099013bSjsg # define RADEON_CULL_FRONT_IS_CW (0 << 28) 26641099013bSjsg # define RADEON_CULL_FRONT_IS_CCW (1 << 28) 26651099013bSjsg # define RADEON_CULL_FRONT (1 << 29) 26661099013bSjsg # define RADEON_CULL_BACK (1 << 30) 26671099013bSjsg # define RADEON_FORCE_W_TO_ONE (1 << 31) 26681099013bSjsg 26691099013bSjsg #define RADEON_SE_VPORT_XSCALE 0x1d98 26701099013bSjsg #define RADEON_SE_VPORT_XOFFSET 0x1d9c 26711099013bSjsg #define RADEON_SE_VPORT_YSCALE 0x1da0 26721099013bSjsg #define RADEON_SE_VPORT_YOFFSET 0x1da4 26731099013bSjsg #define RADEON_SE_VPORT_ZSCALE 0x1da8 26741099013bSjsg #define RADEON_SE_VPORT_ZOFFSET 0x1dac 26751099013bSjsg #define RADEON_SE_ZBIAS_FACTOR 0x1db0 26761099013bSjsg #define RADEON_SE_ZBIAS_CONSTANT 0x1db4 26771099013bSjsg 26781099013bSjsg #define RADEON_SE_VTX_FMT 0x2080 26791099013bSjsg # define RADEON_SE_VTX_FMT_XY 0x00000000 26801099013bSjsg # define RADEON_SE_VTX_FMT_W0 0x00000001 26811099013bSjsg # define RADEON_SE_VTX_FMT_FPCOLOR 0x00000002 26821099013bSjsg # define RADEON_SE_VTX_FMT_FPALPHA 0x00000004 26831099013bSjsg # define RADEON_SE_VTX_FMT_PKCOLOR 0x00000008 26841099013bSjsg # define RADEON_SE_VTX_FMT_FPSPEC 0x00000010 26851099013bSjsg # define RADEON_SE_VTX_FMT_FPFOG 0x00000020 26861099013bSjsg # define RADEON_SE_VTX_FMT_PKSPEC 0x00000040 26871099013bSjsg # define RADEON_SE_VTX_FMT_ST0 0x00000080 26881099013bSjsg # define RADEON_SE_VTX_FMT_ST1 0x00000100 26891099013bSjsg # define RADEON_SE_VTX_FMT_Q1 0x00000200 26901099013bSjsg # define RADEON_SE_VTX_FMT_ST2 0x00000400 26911099013bSjsg # define RADEON_SE_VTX_FMT_Q2 0x00000800 26921099013bSjsg # define RADEON_SE_VTX_FMT_ST3 0x00001000 26931099013bSjsg # define RADEON_SE_VTX_FMT_Q3 0x00002000 26941099013bSjsg # define RADEON_SE_VTX_FMT_Q0 0x00004000 26951099013bSjsg # define RADEON_SE_VTX_FMT_BLND_WEIGHT_CNT_MASK 0x00038000 26961099013bSjsg # define RADEON_SE_VTX_FMT_N0 0x00040000 26971099013bSjsg # define RADEON_SE_VTX_FMT_XY1 0x08000000 26981099013bSjsg # define RADEON_SE_VTX_FMT_Z1 0x10000000 26991099013bSjsg # define RADEON_SE_VTX_FMT_W1 0x20000000 27001099013bSjsg # define RADEON_SE_VTX_FMT_N1 0x40000000 27011099013bSjsg # define RADEON_SE_VTX_FMT_Z 0x80000000 27021099013bSjsg 27031099013bSjsg #define RADEON_SE_VF_CNTL 0x2084 27041099013bSjsg # define RADEON_VF_PRIM_TYPE_POINT_LIST 1 27051099013bSjsg # define RADEON_VF_PRIM_TYPE_LINE_LIST 2 27061099013bSjsg # define RADEON_VF_PRIM_TYPE_LINE_STRIP 3 27071099013bSjsg # define RADEON_VF_PRIM_TYPE_TRIANGLE_LIST 4 27081099013bSjsg # define RADEON_VF_PRIM_TYPE_TRIANGLE_FAN 5 27091099013bSjsg # define RADEON_VF_PRIM_TYPE_TRIANGLE_STRIP 6 27101099013bSjsg # define RADEON_VF_PRIM_TYPE_TRIANGLE_FLAG 7 27111099013bSjsg # define RADEON_VF_PRIM_TYPE_RECTANGLE_LIST 8 27121099013bSjsg # define RADEON_VF_PRIM_TYPE_POINT_LIST_3 9 27131099013bSjsg # define RADEON_VF_PRIM_TYPE_LINE_LIST_3 10 27141099013bSjsg # define RADEON_VF_PRIM_TYPE_SPIRIT_LIST 11 27151099013bSjsg # define RADEON_VF_PRIM_TYPE_LINE_LOOP 12 27161099013bSjsg # define RADEON_VF_PRIM_TYPE_QUAD_LIST 13 27171099013bSjsg # define RADEON_VF_PRIM_TYPE_QUAD_STRIP 14 27181099013bSjsg # define RADEON_VF_PRIM_TYPE_POLYGON 15 27191099013bSjsg # define RADEON_VF_PRIM_WALK_STATE (0<<4) 27201099013bSjsg # define RADEON_VF_PRIM_WALK_INDEX (1<<4) 27211099013bSjsg # define RADEON_VF_PRIM_WALK_LIST (2<<4) 27221099013bSjsg # define RADEON_VF_PRIM_WALK_DATA (3<<4) 27231099013bSjsg # define RADEON_VF_COLOR_ORDER_RGBA (1<<6) 27241099013bSjsg # define RADEON_VF_RADEON_MODE (1<<8) 27251099013bSjsg # define RADEON_VF_TCL_OUTPUT_CTL_ENA (1<<9) 27261099013bSjsg # define RADEON_VF_PROG_STREAM_ENA (1<<10) 27271099013bSjsg # define RADEON_VF_INDEX_SIZE_SHIFT 11 27281099013bSjsg # define RADEON_VF_NUM_VERTICES_SHIFT 16 27291099013bSjsg 27301099013bSjsg #define RADEON_SE_PORT_DATA0 0x2000 27311099013bSjsg 27321099013bSjsg #define R200_SE_VAP_CNTL 0x2080 27331099013bSjsg # define R200_VAP_TCL_ENABLE 0x00000001 27341099013bSjsg # define R200_VAP_SINGLE_BUF_STATE_ENABLE 0x00000010 27351099013bSjsg # define R200_VAP_FORCE_W_TO_ONE 0x00010000 27361099013bSjsg # define R200_VAP_D3D_TEX_DEFAULT 0x00020000 27371099013bSjsg # define R200_VAP_VF_MAX_VTX_NUM__SHIFT 18 27381099013bSjsg # define R200_VAP_VF_MAX_VTX_NUM (9 << 18) 27391099013bSjsg # define R200_VAP_DX_CLIP_SPACE_DEF 0x00400000 27401099013bSjsg #define R200_VF_MAX_VTX_INDX 0x210c 27411099013bSjsg #define R200_VF_MIN_VTX_INDX 0x2110 27421099013bSjsg #define R200_SE_VTE_CNTL 0x20b0 27431099013bSjsg # define R200_VPORT_X_SCALE_ENA 0x00000001 27441099013bSjsg # define R200_VPORT_X_OFFSET_ENA 0x00000002 27451099013bSjsg # define R200_VPORT_Y_SCALE_ENA 0x00000004 27461099013bSjsg # define R200_VPORT_Y_OFFSET_ENA 0x00000008 27471099013bSjsg # define R200_VPORT_Z_SCALE_ENA 0x00000010 27481099013bSjsg # define R200_VPORT_Z_OFFSET_ENA 0x00000020 27491099013bSjsg # define R200_VTX_XY_FMT 0x00000100 27501099013bSjsg # define R200_VTX_Z_FMT 0x00000200 27511099013bSjsg # define R200_VTX_W0_FMT 0x00000400 27521099013bSjsg # define R200_VTX_W0_NORMALIZE 0x00000800 27531099013bSjsg # define R200_VTX_ST_DENORMALIZED 0x00001000 27541099013bSjsg #define R200_SE_VAP_CNTL_STATUS 0x2140 27551099013bSjsg # define R200_VC_NO_SWAP (0 << 0) 27561099013bSjsg # define R200_VC_16BIT_SWAP (1 << 0) 27571099013bSjsg # define R200_VC_32BIT_SWAP (2 << 0) 27581099013bSjsg #define R200_PP_TXFILTER_0 0x2c00 27591099013bSjsg #define R200_PP_TXFILTER_1 0x2c20 27601099013bSjsg #define R200_PP_TXFILTER_2 0x2c40 27611099013bSjsg #define R200_PP_TXFILTER_3 0x2c60 27621099013bSjsg #define R200_PP_TXFILTER_4 0x2c80 27631099013bSjsg #define R200_PP_TXFILTER_5 0x2ca0 27641099013bSjsg # define R200_MAG_FILTER_NEAREST (0 << 0) 27651099013bSjsg # define R200_MAG_FILTER_LINEAR (1 << 0) 27661099013bSjsg # define R200_MAG_FILTER_MASK (1 << 0) 27671099013bSjsg # define R200_MIN_FILTER_NEAREST (0 << 1) 27681099013bSjsg # define R200_MIN_FILTER_LINEAR (1 << 1) 27691099013bSjsg # define R200_MIN_FILTER_NEAREST_MIP_NEAREST (2 << 1) 27701099013bSjsg # define R200_MIN_FILTER_NEAREST_MIP_LINEAR (3 << 1) 27711099013bSjsg # define R200_MIN_FILTER_LINEAR_MIP_NEAREST (6 << 1) 27721099013bSjsg # define R200_MIN_FILTER_LINEAR_MIP_LINEAR (7 << 1) 27731099013bSjsg # define R200_MIN_FILTER_ANISO_NEAREST (8 << 1) 27741099013bSjsg # define R200_MIN_FILTER_ANISO_LINEAR (9 << 1) 27751099013bSjsg # define R200_MIN_FILTER_ANISO_NEAREST_MIP_NEAREST (10 << 1) 27761099013bSjsg # define R200_MIN_FILTER_ANISO_NEAREST_MIP_LINEAR (11 << 1) 27771099013bSjsg # define R200_MIN_FILTER_MASK (15 << 1) 27781099013bSjsg # define R200_MAX_ANISO_1_TO_1 (0 << 5) 27791099013bSjsg # define R200_MAX_ANISO_2_TO_1 (1 << 5) 27801099013bSjsg # define R200_MAX_ANISO_4_TO_1 (2 << 5) 27811099013bSjsg # define R200_MAX_ANISO_8_TO_1 (3 << 5) 27821099013bSjsg # define R200_MAX_ANISO_16_TO_1 (4 << 5) 27831099013bSjsg # define R200_MAX_ANISO_MASK (7 << 5) 27841099013bSjsg # define R200_MAX_MIP_LEVEL_MASK (0x0f << 16) 27851099013bSjsg # define R200_MAX_MIP_LEVEL_SHIFT 16 27861099013bSjsg # define R200_YUV_TO_RGB (1 << 20) 27871099013bSjsg # define R200_YUV_TEMPERATURE_COOL (0 << 21) 27881099013bSjsg # define R200_YUV_TEMPERATURE_HOT (1 << 21) 27891099013bSjsg # define R200_YUV_TEMPERATURE_MASK (1 << 21) 27901099013bSjsg # define R200_WRAPEN_S (1 << 22) 27911099013bSjsg # define R200_CLAMP_S_WRAP (0 << 23) 27921099013bSjsg # define R200_CLAMP_S_MIRROR (1 << 23) 27931099013bSjsg # define R200_CLAMP_S_CLAMP_LAST (2 << 23) 27941099013bSjsg # define R200_CLAMP_S_MIRROR_CLAMP_LAST (3 << 23) 27951099013bSjsg # define R200_CLAMP_S_CLAMP_BORDER (4 << 23) 27961099013bSjsg # define R200_CLAMP_S_MIRROR_CLAMP_BORDER (5 << 23) 27971099013bSjsg # define R200_CLAMP_S_CLAMP_GL (6 << 23) 27981099013bSjsg # define R200_CLAMP_S_MIRROR_CLAMP_GL (7 << 23) 27991099013bSjsg # define R200_CLAMP_S_MASK (7 << 23) 28001099013bSjsg # define R200_WRAPEN_T (1 << 26) 28011099013bSjsg # define R200_CLAMP_T_WRAP (0 << 27) 28021099013bSjsg # define R200_CLAMP_T_MIRROR (1 << 27) 28031099013bSjsg # define R200_CLAMP_T_CLAMP_LAST (2 << 27) 28041099013bSjsg # define R200_CLAMP_T_MIRROR_CLAMP_LAST (3 << 27) 28051099013bSjsg # define R200_CLAMP_T_CLAMP_BORDER (4 << 27) 28061099013bSjsg # define R200_CLAMP_T_MIRROR_CLAMP_BORDER (5 << 27) 28071099013bSjsg # define R200_CLAMP_T_CLAMP_GL (6 << 27) 28081099013bSjsg # define R200_CLAMP_T_MIRROR_CLAMP_GL (7 << 27) 28091099013bSjsg # define R200_CLAMP_T_MASK (7 << 27) 28101099013bSjsg # define R200_KILL_LT_ZERO (1 << 30) 28111099013bSjsg # define R200_BORDER_MODE_OGL (0 << 31) 28121099013bSjsg # define R200_BORDER_MODE_D3D (1 << 31) 28131099013bSjsg #define R200_PP_TXFORMAT_0 0x2c04 28141099013bSjsg #define R200_PP_TXFORMAT_1 0x2c24 28151099013bSjsg #define R200_PP_TXFORMAT_2 0x2c44 28161099013bSjsg #define R200_PP_TXFORMAT_3 0x2c64 28171099013bSjsg #define R200_PP_TXFORMAT_4 0x2c84 28181099013bSjsg #define R200_PP_TXFORMAT_5 0x2ca4 28191099013bSjsg # define R200_TXFORMAT_I8 (0 << 0) 28201099013bSjsg # define R200_TXFORMAT_AI88 (1 << 0) 28211099013bSjsg # define R200_TXFORMAT_RGB332 (2 << 0) 28221099013bSjsg # define R200_TXFORMAT_ARGB1555 (3 << 0) 28231099013bSjsg # define R200_TXFORMAT_RGB565 (4 << 0) 28241099013bSjsg # define R200_TXFORMAT_ARGB4444 (5 << 0) 28251099013bSjsg # define R200_TXFORMAT_ARGB8888 (6 << 0) 28261099013bSjsg # define R200_TXFORMAT_RGBA8888 (7 << 0) 28271099013bSjsg # define R200_TXFORMAT_Y8 (8 << 0) 28281099013bSjsg # define R200_TXFORMAT_AVYU4444 (9 << 0) 28291099013bSjsg # define R200_TXFORMAT_VYUY422 (10 << 0) 28301099013bSjsg # define R200_TXFORMAT_YVYU422 (11 << 0) 28311099013bSjsg # define R200_TXFORMAT_DXT1 (12 << 0) 28321099013bSjsg # define R200_TXFORMAT_DXT23 (14 << 0) 28331099013bSjsg # define R200_TXFORMAT_DXT45 (15 << 0) 28341099013bSjsg # define R200_TXFORMAT_DVDU88 (18 << 0) 28351099013bSjsg # define R200_TXFORMAT_LDVDU655 (19 << 0) 28361099013bSjsg # define R200_TXFORMAT_LDVDU8888 (20 << 0) 28371099013bSjsg # define R200_TXFORMAT_GR1616 (21 << 0) 28381099013bSjsg # define R200_TXFORMAT_ABGR8888 (22 << 0) 28391099013bSjsg # define R200_TXFORMAT_BGR111110 (23 << 0) 28401099013bSjsg # define R200_TXFORMAT_FORMAT_MASK (31 << 0) 28411099013bSjsg # define R200_TXFORMAT_FORMAT_SHIFT 0 28421099013bSjsg # define R200_TXFORMAT_ALPHA_IN_MAP (1 << 6) 28431099013bSjsg # define R200_TXFORMAT_NON_POWER2 (1 << 7) 28441099013bSjsg # define R200_TXFORMAT_WIDTH_MASK (15 << 8) 28451099013bSjsg # define R200_TXFORMAT_WIDTH_SHIFT 8 28461099013bSjsg # define R200_TXFORMAT_HEIGHT_MASK (15 << 12) 28471099013bSjsg # define R200_TXFORMAT_HEIGHT_SHIFT 12 28481099013bSjsg # define R200_TXFORMAT_F5_WIDTH_MASK (15 << 16) /* cube face 5 */ 28491099013bSjsg # define R200_TXFORMAT_F5_WIDTH_SHIFT 16 28501099013bSjsg # define R200_TXFORMAT_F5_HEIGHT_MASK (15 << 20) 28511099013bSjsg # define R200_TXFORMAT_F5_HEIGHT_SHIFT 20 28521099013bSjsg # define R200_TXFORMAT_ST_ROUTE_STQ0 (0 << 24) 28531099013bSjsg # define R200_TXFORMAT_ST_ROUTE_STQ1 (1 << 24) 28541099013bSjsg # define R200_TXFORMAT_ST_ROUTE_STQ2 (2 << 24) 28551099013bSjsg # define R200_TXFORMAT_ST_ROUTE_STQ3 (3 << 24) 28561099013bSjsg # define R200_TXFORMAT_ST_ROUTE_STQ4 (4 << 24) 28571099013bSjsg # define R200_TXFORMAT_ST_ROUTE_STQ5 (5 << 24) 28581099013bSjsg # define R200_TXFORMAT_ST_ROUTE_MASK (7 << 24) 28591099013bSjsg # define R200_TXFORMAT_ST_ROUTE_SHIFT 24 28601099013bSjsg # define R200_TXFORMAT_LOOKUP_DISABLE (1 << 27) 28611099013bSjsg # define R200_TXFORMAT_ALPHA_MASK_ENABLE (1 << 28) 28621099013bSjsg # define R200_TXFORMAT_CHROMA_KEY_ENABLE (1 << 29) 28631099013bSjsg # define R200_TXFORMAT_CUBIC_MAP_ENABLE (1 << 30) 28641099013bSjsg #define R200_PP_TXFORMAT_X_0 0x2c08 28651099013bSjsg #define R200_PP_TXFORMAT_X_1 0x2c28 28661099013bSjsg #define R200_PP_TXFORMAT_X_2 0x2c48 28671099013bSjsg #define R200_PP_TXFORMAT_X_3 0x2c68 28681099013bSjsg #define R200_PP_TXFORMAT_X_4 0x2c88 28691099013bSjsg #define R200_PP_TXFORMAT_X_5 0x2ca8 28701099013bSjsg 28711099013bSjsg #define R200_PP_TXSIZE_0 0x2c0c /* NPOT only */ 28721099013bSjsg #define R200_PP_TXSIZE_1 0x2c2c /* NPOT only */ 28731099013bSjsg #define R200_PP_TXSIZE_2 0x2c4c /* NPOT only */ 28741099013bSjsg #define R200_PP_TXSIZE_3 0x2c6c /* NPOT only */ 28751099013bSjsg #define R200_PP_TXSIZE_4 0x2c8c /* NPOT only */ 28761099013bSjsg #define R200_PP_TXSIZE_5 0x2cac /* NPOT only */ 28771099013bSjsg 28781099013bSjsg #define R200_PP_TXPITCH_0 0x2c10 /* NPOT only */ 28791099013bSjsg #define R200_PP_TXPITCH_1 0x2c30 /* NPOT only */ 28801099013bSjsg #define R200_PP_TXPITCH_2 0x2c50 /* NPOT only */ 28811099013bSjsg #define R200_PP_TXPITCH_3 0x2c70 /* NPOT only */ 28821099013bSjsg #define R200_PP_TXPITCH_4 0x2c90 /* NPOT only */ 28831099013bSjsg #define R200_PP_TXPITCH_5 0x2cb0 /* NPOT only */ 28841099013bSjsg 28851099013bSjsg #define R200_PP_CUBIC_FACES_0 0x2c18 28861099013bSjsg #define R200_PP_CUBIC_FACES_1 0x2c38 28871099013bSjsg #define R200_PP_CUBIC_FACES_2 0x2c58 28881099013bSjsg #define R200_PP_CUBIC_FACES_3 0x2c78 28891099013bSjsg #define R200_PP_CUBIC_FACES_4 0x2c98 28901099013bSjsg #define R200_PP_CUBIC_FACES_5 0x2cb8 28911099013bSjsg 28921099013bSjsg #define R200_PP_TXOFFSET_0 0x2d00 28931099013bSjsg # define R200_TXO_ENDIAN_NO_SWAP (0 << 0) 28941099013bSjsg # define R200_TXO_ENDIAN_BYTE_SWAP (1 << 0) 28951099013bSjsg # define R200_TXO_ENDIAN_WORD_SWAP (2 << 0) 28961099013bSjsg # define R200_TXO_ENDIAN_HALFDW_SWAP (3 << 0) 28971099013bSjsg # define R200_TXO_MACRO_LINEAR (0 << 2) 28981099013bSjsg # define R200_TXO_MACRO_TILE (1 << 2) 28991099013bSjsg # define R200_TXO_MICRO_LINEAR (0 << 3) 29001099013bSjsg # define R200_TXO_MICRO_TILE (1 << 3) 29011099013bSjsg # define R200_TXO_OFFSET_MASK 0xffffffe0 29021099013bSjsg # define R200_TXO_OFFSET_SHIFT 5 29031099013bSjsg #define R200_PP_CUBIC_OFFSET_F1_0 0x2d04 29041099013bSjsg #define R200_PP_CUBIC_OFFSET_F2_0 0x2d08 29051099013bSjsg #define R200_PP_CUBIC_OFFSET_F3_0 0x2d0c 29061099013bSjsg #define R200_PP_CUBIC_OFFSET_F4_0 0x2d10 29071099013bSjsg #define R200_PP_CUBIC_OFFSET_F5_0 0x2d14 29081099013bSjsg 29091099013bSjsg #define R200_PP_TXOFFSET_1 0x2d18 29101099013bSjsg #define R200_PP_CUBIC_OFFSET_F1_1 0x2d1c 29111099013bSjsg #define R200_PP_CUBIC_OFFSET_F2_1 0x2d20 29121099013bSjsg #define R200_PP_CUBIC_OFFSET_F3_1 0x2d24 29131099013bSjsg #define R200_PP_CUBIC_OFFSET_F4_1 0x2d28 29141099013bSjsg #define R200_PP_CUBIC_OFFSET_F5_1 0x2d2c 29151099013bSjsg 29161099013bSjsg #define R200_PP_TXOFFSET_2 0x2d30 29171099013bSjsg #define R200_PP_CUBIC_OFFSET_F1_2 0x2d34 29181099013bSjsg #define R200_PP_CUBIC_OFFSET_F2_2 0x2d38 29191099013bSjsg #define R200_PP_CUBIC_OFFSET_F3_2 0x2d3c 29201099013bSjsg #define R200_PP_CUBIC_OFFSET_F4_2 0x2d40 29211099013bSjsg #define R200_PP_CUBIC_OFFSET_F5_2 0x2d44 29221099013bSjsg 29231099013bSjsg #define R200_PP_TXOFFSET_3 0x2d48 29241099013bSjsg #define R200_PP_CUBIC_OFFSET_F1_3 0x2d4c 29251099013bSjsg #define R200_PP_CUBIC_OFFSET_F2_3 0x2d50 29261099013bSjsg #define R200_PP_CUBIC_OFFSET_F3_3 0x2d54 29271099013bSjsg #define R200_PP_CUBIC_OFFSET_F4_3 0x2d58 29281099013bSjsg #define R200_PP_CUBIC_OFFSET_F5_3 0x2d5c 29291099013bSjsg #define R200_PP_TXOFFSET_4 0x2d60 29301099013bSjsg #define R200_PP_CUBIC_OFFSET_F1_4 0x2d64 29311099013bSjsg #define R200_PP_CUBIC_OFFSET_F2_4 0x2d68 29321099013bSjsg #define R200_PP_CUBIC_OFFSET_F3_4 0x2d6c 29331099013bSjsg #define R200_PP_CUBIC_OFFSET_F4_4 0x2d70 29341099013bSjsg #define R200_PP_CUBIC_OFFSET_F5_4 0x2d74 29351099013bSjsg #define R200_PP_TXOFFSET_5 0x2d78 29361099013bSjsg #define R200_PP_CUBIC_OFFSET_F1_5 0x2d7c 29371099013bSjsg #define R200_PP_CUBIC_OFFSET_F2_5 0x2d80 29381099013bSjsg #define R200_PP_CUBIC_OFFSET_F3_5 0x2d84 29391099013bSjsg #define R200_PP_CUBIC_OFFSET_F4_5 0x2d88 29401099013bSjsg #define R200_PP_CUBIC_OFFSET_F5_5 0x2d8c 29411099013bSjsg 29421099013bSjsg #define R200_PP_TFACTOR_0 0x2ee0 29431099013bSjsg #define R200_PP_TFACTOR_1 0x2ee4 29441099013bSjsg #define R200_PP_TFACTOR_2 0x2ee8 29451099013bSjsg #define R200_PP_TFACTOR_3 0x2eec 29461099013bSjsg #define R200_PP_TFACTOR_4 0x2ef0 29471099013bSjsg #define R200_PP_TFACTOR_5 0x2ef4 29481099013bSjsg 29491099013bSjsg #define R200_PP_TXCBLEND_0 0x2f00 29501099013bSjsg # define R200_TXC_ARG_A_ZERO (0) 29511099013bSjsg # define R200_TXC_ARG_A_CURRENT_COLOR (2) 29521099013bSjsg # define R200_TXC_ARG_A_CURRENT_ALPHA (3) 29531099013bSjsg # define R200_TXC_ARG_A_DIFFUSE_COLOR (4) 29541099013bSjsg # define R200_TXC_ARG_A_DIFFUSE_ALPHA (5) 29551099013bSjsg # define R200_TXC_ARG_A_SPECULAR_COLOR (6) 29561099013bSjsg # define R200_TXC_ARG_A_SPECULAR_ALPHA (7) 29571099013bSjsg # define R200_TXC_ARG_A_TFACTOR_COLOR (8) 29581099013bSjsg # define R200_TXC_ARG_A_TFACTOR_ALPHA (9) 29591099013bSjsg # define R200_TXC_ARG_A_R0_COLOR (10) 29601099013bSjsg # define R200_TXC_ARG_A_R0_ALPHA (11) 29611099013bSjsg # define R200_TXC_ARG_A_R1_COLOR (12) 29621099013bSjsg # define R200_TXC_ARG_A_R1_ALPHA (13) 29631099013bSjsg # define R200_TXC_ARG_A_R2_COLOR (14) 29641099013bSjsg # define R200_TXC_ARG_A_R2_ALPHA (15) 29651099013bSjsg # define R200_TXC_ARG_A_R3_COLOR (16) 29661099013bSjsg # define R200_TXC_ARG_A_R3_ALPHA (17) 29671099013bSjsg # define R200_TXC_ARG_A_R4_COLOR (18) 29681099013bSjsg # define R200_TXC_ARG_A_R4_ALPHA (19) 29691099013bSjsg # define R200_TXC_ARG_A_R5_COLOR (20) 29701099013bSjsg # define R200_TXC_ARG_A_R5_ALPHA (21) 29711099013bSjsg # define R200_TXC_ARG_A_TFACTOR1_COLOR (26) 29721099013bSjsg # define R200_TXC_ARG_A_TFACTOR1_ALPHA (27) 29731099013bSjsg # define R200_TXC_ARG_A_MASK (31 << 0) 29741099013bSjsg # define R200_TXC_ARG_A_SHIFT 0 29751099013bSjsg # define R200_TXC_ARG_B_ZERO (0 << 5) 29761099013bSjsg # define R200_TXC_ARG_B_CURRENT_COLOR (2 << 5) 29771099013bSjsg # define R200_TXC_ARG_B_CURRENT_ALPHA (3 << 5) 29781099013bSjsg # define R200_TXC_ARG_B_DIFFUSE_COLOR (4 << 5) 29791099013bSjsg # define R200_TXC_ARG_B_DIFFUSE_ALPHA (5 << 5) 29801099013bSjsg # define R200_TXC_ARG_B_SPECULAR_COLOR (6 << 5) 29811099013bSjsg # define R200_TXC_ARG_B_SPECULAR_ALPHA (7 << 5) 29821099013bSjsg # define R200_TXC_ARG_B_TFACTOR_COLOR (8 << 5) 29831099013bSjsg # define R200_TXC_ARG_B_TFACTOR_ALPHA (9 << 5) 29841099013bSjsg # define R200_TXC_ARG_B_R0_COLOR (10 << 5) 29851099013bSjsg # define R200_TXC_ARG_B_R0_ALPHA (11 << 5) 29861099013bSjsg # define R200_TXC_ARG_B_R1_COLOR (12 << 5) 29871099013bSjsg # define R200_TXC_ARG_B_R1_ALPHA (13 << 5) 29881099013bSjsg # define R200_TXC_ARG_B_R2_COLOR (14 << 5) 29891099013bSjsg # define R200_TXC_ARG_B_R2_ALPHA (15 << 5) 29901099013bSjsg # define R200_TXC_ARG_B_R3_COLOR (16 << 5) 29911099013bSjsg # define R200_TXC_ARG_B_R3_ALPHA (17 << 5) 29921099013bSjsg # define R200_TXC_ARG_B_R4_COLOR (18 << 5) 29931099013bSjsg # define R200_TXC_ARG_B_R4_ALPHA (19 << 5) 29941099013bSjsg # define R200_TXC_ARG_B_R5_COLOR (20 << 5) 29951099013bSjsg # define R200_TXC_ARG_B_R5_ALPHA (21 << 5) 29961099013bSjsg # define R200_TXC_ARG_B_TFACTOR1_COLOR (26 << 5) 29971099013bSjsg # define R200_TXC_ARG_B_TFACTOR1_ALPHA (27 << 5) 29981099013bSjsg # define R200_TXC_ARG_B_MASK (31 << 5) 29991099013bSjsg # define R200_TXC_ARG_B_SHIFT 5 30001099013bSjsg # define R200_TXC_ARG_C_ZERO (0 << 10) 30011099013bSjsg # define R200_TXC_ARG_C_CURRENT_COLOR (2 << 10) 30021099013bSjsg # define R200_TXC_ARG_C_CURRENT_ALPHA (3 << 10) 30031099013bSjsg # define R200_TXC_ARG_C_DIFFUSE_COLOR (4 << 10) 30041099013bSjsg # define R200_TXC_ARG_C_DIFFUSE_ALPHA (5 << 10) 30051099013bSjsg # define R200_TXC_ARG_C_SPECULAR_COLOR (6 << 10) 30061099013bSjsg # define R200_TXC_ARG_C_SPECULAR_ALPHA (7 << 10) 30071099013bSjsg # define R200_TXC_ARG_C_TFACTOR_COLOR (8 << 10) 30081099013bSjsg # define R200_TXC_ARG_C_TFACTOR_ALPHA (9 << 10) 30091099013bSjsg # define R200_TXC_ARG_C_R0_COLOR (10 << 10) 30101099013bSjsg # define R200_TXC_ARG_C_R0_ALPHA (11 << 10) 30111099013bSjsg # define R200_TXC_ARG_C_R1_COLOR (12 << 10) 30121099013bSjsg # define R200_TXC_ARG_C_R1_ALPHA (13 << 10) 30131099013bSjsg # define R200_TXC_ARG_C_R2_COLOR (14 << 10) 30141099013bSjsg # define R200_TXC_ARG_C_R2_ALPHA (15 << 10) 30151099013bSjsg # define R200_TXC_ARG_C_R3_COLOR (16 << 10) 30161099013bSjsg # define R200_TXC_ARG_C_R3_ALPHA (17 << 10) 30171099013bSjsg # define R200_TXC_ARG_C_R4_COLOR (18 << 10) 30181099013bSjsg # define R200_TXC_ARG_C_R4_ALPHA (19 << 10) 30191099013bSjsg # define R200_TXC_ARG_C_R5_COLOR (20 << 10) 30201099013bSjsg # define R200_TXC_ARG_C_R5_ALPHA (21 << 10) 30211099013bSjsg # define R200_TXC_ARG_C_TFACTOR1_COLOR (26 << 10) 30221099013bSjsg # define R200_TXC_ARG_C_TFACTOR1_ALPHA (27 << 10) 30231099013bSjsg # define R200_TXC_ARG_C_MASK (31 << 10) 30241099013bSjsg # define R200_TXC_ARG_C_SHIFT 10 30251099013bSjsg # define R200_TXC_COMP_ARG_A (1 << 16) 30261099013bSjsg # define R200_TXC_COMP_ARG_A_SHIFT (16) 30271099013bSjsg # define R200_TXC_BIAS_ARG_A (1 << 17) 30281099013bSjsg # define R200_TXC_SCALE_ARG_A (1 << 18) 30291099013bSjsg # define R200_TXC_NEG_ARG_A (1 << 19) 30301099013bSjsg # define R200_TXC_COMP_ARG_B (1 << 20) 30311099013bSjsg # define R200_TXC_COMP_ARG_B_SHIFT (20) 30321099013bSjsg # define R200_TXC_BIAS_ARG_B (1 << 21) 30331099013bSjsg # define R200_TXC_SCALE_ARG_B (1 << 22) 30341099013bSjsg # define R200_TXC_NEG_ARG_B (1 << 23) 30351099013bSjsg # define R200_TXC_COMP_ARG_C (1 << 24) 30361099013bSjsg # define R200_TXC_COMP_ARG_C_SHIFT (24) 30371099013bSjsg # define R200_TXC_BIAS_ARG_C (1 << 25) 30381099013bSjsg # define R200_TXC_SCALE_ARG_C (1 << 26) 30391099013bSjsg # define R200_TXC_NEG_ARG_C (1 << 27) 30401099013bSjsg # define R200_TXC_OP_MADD (0 << 28) 30411099013bSjsg # define R200_TXC_OP_CND0 (2 << 28) 30421099013bSjsg # define R200_TXC_OP_LERP (3 << 28) 30431099013bSjsg # define R200_TXC_OP_DOT3 (4 << 28) 30441099013bSjsg # define R200_TXC_OP_DOT4 (5 << 28) 30451099013bSjsg # define R200_TXC_OP_CONDITIONAL (6 << 28) 30461099013bSjsg # define R200_TXC_OP_DOT2_ADD (7 << 28) 30471099013bSjsg # define R200_TXC_OP_MASK (7 << 28) 30481099013bSjsg #define R200_PP_TXCBLEND2_0 0x2f04 30491099013bSjsg # define R200_TXC_TFACTOR_SEL_SHIFT 0 30501099013bSjsg # define R200_TXC_TFACTOR_SEL_MASK 0x7 30511099013bSjsg # define R200_TXC_TFACTOR1_SEL_SHIFT 4 30521099013bSjsg # define R200_TXC_TFACTOR1_SEL_MASK (0x7 << 4) 30531099013bSjsg # define R200_TXC_SCALE_SHIFT 8 30541099013bSjsg # define R200_TXC_SCALE_MASK (7 << 8) 30551099013bSjsg # define R200_TXC_SCALE_1X (0 << 8) 30561099013bSjsg # define R200_TXC_SCALE_2X (1 << 8) 30571099013bSjsg # define R200_TXC_SCALE_4X (2 << 8) 30581099013bSjsg # define R200_TXC_SCALE_8X (3 << 8) 30591099013bSjsg # define R200_TXC_SCALE_INV2 (5 << 8) 30601099013bSjsg # define R200_TXC_SCALE_INV4 (6 << 8) 30611099013bSjsg # define R200_TXC_SCALE_INV8 (7 << 8) 30621099013bSjsg # define R200_TXC_CLAMP_SHIFT 12 30631099013bSjsg # define R200_TXC_CLAMP_MASK (3 << 12) 30641099013bSjsg # define R200_TXC_CLAMP_WRAP (0 << 12) 30651099013bSjsg # define R200_TXC_CLAMP_0_1 (1 << 12) 30661099013bSjsg # define R200_TXC_CLAMP_8_8 (2 << 12) 30671099013bSjsg # define R200_TXC_OUTPUT_REG_MASK (7 << 16) 30681099013bSjsg # define R200_TXC_OUTPUT_REG_NONE (0 << 16) 30691099013bSjsg # define R200_TXC_OUTPUT_REG_R0 (1 << 16) 30701099013bSjsg # define R200_TXC_OUTPUT_REG_R1 (2 << 16) 30711099013bSjsg # define R200_TXC_OUTPUT_REG_R2 (3 << 16) 30721099013bSjsg # define R200_TXC_OUTPUT_REG_R3 (4 << 16) 30731099013bSjsg # define R200_TXC_OUTPUT_REG_R4 (5 << 16) 30741099013bSjsg # define R200_TXC_OUTPUT_REG_R5 (6 << 16) 30751099013bSjsg # define R200_TXC_OUTPUT_MASK_MASK (7 << 20) 30761099013bSjsg # define R200_TXC_OUTPUT_MASK_RGB (0 << 20) 30771099013bSjsg # define R200_TXC_OUTPUT_MASK_RG (1 << 20) 30781099013bSjsg # define R200_TXC_OUTPUT_MASK_RB (2 << 20) 30791099013bSjsg # define R200_TXC_OUTPUT_MASK_R (3 << 20) 30801099013bSjsg # define R200_TXC_OUTPUT_MASK_GB (4 << 20) 30811099013bSjsg # define R200_TXC_OUTPUT_MASK_G (5 << 20) 30821099013bSjsg # define R200_TXC_OUTPUT_MASK_B (6 << 20) 30831099013bSjsg # define R200_TXC_OUTPUT_MASK_NONE (7 << 20) 30841099013bSjsg # define R200_TXC_REPL_NORMAL 0 30851099013bSjsg # define R200_TXC_REPL_RED 1 30861099013bSjsg # define R200_TXC_REPL_GREEN 2 30871099013bSjsg # define R200_TXC_REPL_BLUE 3 30881099013bSjsg # define R200_TXC_REPL_ARG_A_SHIFT 26 30891099013bSjsg # define R200_TXC_REPL_ARG_A_MASK (3 << 26) 30901099013bSjsg # define R200_TXC_REPL_ARG_B_SHIFT 28 30911099013bSjsg # define R200_TXC_REPL_ARG_B_MASK (3 << 28) 30921099013bSjsg # define R200_TXC_REPL_ARG_C_SHIFT 30 30931099013bSjsg # define R200_TXC_REPL_ARG_C_MASK (3 << 30) 30941099013bSjsg #define R200_PP_TXABLEND_0 0x2f08 30951099013bSjsg # define R200_TXA_ARG_A_ZERO (0) 30961099013bSjsg # define R200_TXA_ARG_A_CURRENT_ALPHA (2) /* guess */ 30971099013bSjsg # define R200_TXA_ARG_A_CURRENT_BLUE (3) /* guess */ 30981099013bSjsg # define R200_TXA_ARG_A_DIFFUSE_ALPHA (4) 30991099013bSjsg # define R200_TXA_ARG_A_DIFFUSE_BLUE (5) 31001099013bSjsg # define R200_TXA_ARG_A_SPECULAR_ALPHA (6) 31011099013bSjsg # define R200_TXA_ARG_A_SPECULAR_BLUE (7) 31021099013bSjsg # define R200_TXA_ARG_A_TFACTOR_ALPHA (8) 31031099013bSjsg # define R200_TXA_ARG_A_TFACTOR_BLUE (9) 31041099013bSjsg # define R200_TXA_ARG_A_R0_ALPHA (10) 31051099013bSjsg # define R200_TXA_ARG_A_R0_BLUE (11) 31061099013bSjsg # define R200_TXA_ARG_A_R1_ALPHA (12) 31071099013bSjsg # define R200_TXA_ARG_A_R1_BLUE (13) 31081099013bSjsg # define R200_TXA_ARG_A_R2_ALPHA (14) 31091099013bSjsg # define R200_TXA_ARG_A_R2_BLUE (15) 31101099013bSjsg # define R200_TXA_ARG_A_R3_ALPHA (16) 31111099013bSjsg # define R200_TXA_ARG_A_R3_BLUE (17) 31121099013bSjsg # define R200_TXA_ARG_A_R4_ALPHA (18) 31131099013bSjsg # define R200_TXA_ARG_A_R4_BLUE (19) 31141099013bSjsg # define R200_TXA_ARG_A_R5_ALPHA (20) 31151099013bSjsg # define R200_TXA_ARG_A_R5_BLUE (21) 31161099013bSjsg # define R200_TXA_ARG_A_TFACTOR1_ALPHA (26) 31171099013bSjsg # define R200_TXA_ARG_A_TFACTOR1_BLUE (27) 31181099013bSjsg # define R200_TXA_ARG_A_MASK (31 << 0) 31191099013bSjsg # define R200_TXA_ARG_A_SHIFT 0 31201099013bSjsg # define R200_TXA_ARG_B_ZERO (0 << 5) 31211099013bSjsg # define R200_TXA_ARG_B_CURRENT_ALPHA (2 << 5) /* guess */ 31221099013bSjsg # define R200_TXA_ARG_B_CURRENT_BLUE (3 << 5) /* guess */ 31231099013bSjsg # define R200_TXA_ARG_B_DIFFUSE_ALPHA (4 << 5) 31241099013bSjsg # define R200_TXA_ARG_B_DIFFUSE_BLUE (5 << 5) 31251099013bSjsg # define R200_TXA_ARG_B_SPECULAR_ALPHA (6 << 5) 31261099013bSjsg # define R200_TXA_ARG_B_SPECULAR_BLUE (7 << 5) 31271099013bSjsg # define R200_TXA_ARG_B_TFACTOR_ALPHA (8 << 5) 31281099013bSjsg # define R200_TXA_ARG_B_TFACTOR_BLUE (9 << 5) 31291099013bSjsg # define R200_TXA_ARG_B_R0_ALPHA (10 << 5) 31301099013bSjsg # define R200_TXA_ARG_B_R0_BLUE (11 << 5) 31311099013bSjsg # define R200_TXA_ARG_B_R1_ALPHA (12 << 5) 31321099013bSjsg # define R200_TXA_ARG_B_R1_BLUE (13 << 5) 31331099013bSjsg # define R200_TXA_ARG_B_R2_ALPHA (14 << 5) 31341099013bSjsg # define R200_TXA_ARG_B_R2_BLUE (15 << 5) 31351099013bSjsg # define R200_TXA_ARG_B_R3_ALPHA (16 << 5) 31361099013bSjsg # define R200_TXA_ARG_B_R3_BLUE (17 << 5) 31371099013bSjsg # define R200_TXA_ARG_B_R4_ALPHA (18 << 5) 31381099013bSjsg # define R200_TXA_ARG_B_R4_BLUE (19 << 5) 31391099013bSjsg # define R200_TXA_ARG_B_R5_ALPHA (20 << 5) 31401099013bSjsg # define R200_TXA_ARG_B_R5_BLUE (21 << 5) 31411099013bSjsg # define R200_TXA_ARG_B_TFACTOR1_ALPHA (26 << 5) 31421099013bSjsg # define R200_TXA_ARG_B_TFACTOR1_BLUE (27 << 5) 31431099013bSjsg # define R200_TXA_ARG_B_MASK (31 << 5) 31441099013bSjsg # define R200_TXA_ARG_B_SHIFT 5 31451099013bSjsg # define R200_TXA_ARG_C_ZERO (0 << 10) 31461099013bSjsg # define R200_TXA_ARG_C_CURRENT_ALPHA (2 << 10) /* guess */ 31471099013bSjsg # define R200_TXA_ARG_C_CURRENT_BLUE (3 << 10) /* guess */ 31481099013bSjsg # define R200_TXA_ARG_C_DIFFUSE_ALPHA (4 << 10) 31491099013bSjsg # define R200_TXA_ARG_C_DIFFUSE_BLUE (5 << 10) 31501099013bSjsg # define R200_TXA_ARG_C_SPECULAR_ALPHA (6 << 10) 31511099013bSjsg # define R200_TXA_ARG_C_SPECULAR_BLUE (7 << 10) 31521099013bSjsg # define R200_TXA_ARG_C_TFACTOR_ALPHA (8 << 10) 31531099013bSjsg # define R200_TXA_ARG_C_TFACTOR_BLUE (9 << 10) 31541099013bSjsg # define R200_TXA_ARG_C_R0_ALPHA (10 << 10) 31551099013bSjsg # define R200_TXA_ARG_C_R0_BLUE (11 << 10) 31561099013bSjsg # define R200_TXA_ARG_C_R1_ALPHA (12 << 10) 31571099013bSjsg # define R200_TXA_ARG_C_R1_BLUE (13 << 10) 31581099013bSjsg # define R200_TXA_ARG_C_R2_ALPHA (14 << 10) 31591099013bSjsg # define R200_TXA_ARG_C_R2_BLUE (15 << 10) 31601099013bSjsg # define R200_TXA_ARG_C_R3_ALPHA (16 << 10) 31611099013bSjsg # define R200_TXA_ARG_C_R3_BLUE (17 << 10) 31621099013bSjsg # define R200_TXA_ARG_C_R4_ALPHA (18 << 10) 31631099013bSjsg # define R200_TXA_ARG_C_R4_BLUE (19 << 10) 31641099013bSjsg # define R200_TXA_ARG_C_R5_ALPHA (20 << 10) 31651099013bSjsg # define R200_TXA_ARG_C_R5_BLUE (21 << 10) 31661099013bSjsg # define R200_TXA_ARG_C_TFACTOR1_ALPHA (26 << 10) 31671099013bSjsg # define R200_TXA_ARG_C_TFACTOR1_BLUE (27 << 10) 31681099013bSjsg # define R200_TXA_ARG_C_MASK (31 << 10) 31691099013bSjsg # define R200_TXA_ARG_C_SHIFT 10 31701099013bSjsg # define R200_TXA_COMP_ARG_A (1 << 16) 31711099013bSjsg # define R200_TXA_COMP_ARG_A_SHIFT (16) 31721099013bSjsg # define R200_TXA_BIAS_ARG_A (1 << 17) 31731099013bSjsg # define R200_TXA_SCALE_ARG_A (1 << 18) 31741099013bSjsg # define R200_TXA_NEG_ARG_A (1 << 19) 31751099013bSjsg # define R200_TXA_COMP_ARG_B (1 << 20) 31761099013bSjsg # define R200_TXA_COMP_ARG_B_SHIFT (20) 31771099013bSjsg # define R200_TXA_BIAS_ARG_B (1 << 21) 31781099013bSjsg # define R200_TXA_SCALE_ARG_B (1 << 22) 31791099013bSjsg # define R200_TXA_NEG_ARG_B (1 << 23) 31801099013bSjsg # define R200_TXA_COMP_ARG_C (1 << 24) 31811099013bSjsg # define R200_TXA_COMP_ARG_C_SHIFT (24) 31821099013bSjsg # define R200_TXA_BIAS_ARG_C (1 << 25) 31831099013bSjsg # define R200_TXA_SCALE_ARG_C (1 << 26) 31841099013bSjsg # define R200_TXA_NEG_ARG_C (1 << 27) 31851099013bSjsg # define R200_TXA_OP_MADD (0 << 28) 31861099013bSjsg # define R200_TXA_OP_CND0 (2 << 28) 31871099013bSjsg # define R200_TXA_OP_LERP (3 << 28) 31881099013bSjsg # define R200_TXA_OP_CONDITIONAL (6 << 28) 31891099013bSjsg # define R200_TXA_OP_MASK (7 << 28) 31901099013bSjsg #define R200_PP_TXABLEND2_0 0x2f0c 31911099013bSjsg # define R200_TXA_TFACTOR_SEL_SHIFT 0 31921099013bSjsg # define R200_TXA_TFACTOR_SEL_MASK 0x7 31931099013bSjsg # define R200_TXA_TFACTOR1_SEL_SHIFT 4 31941099013bSjsg # define R200_TXA_TFACTOR1_SEL_MASK (0x7 << 4) 31951099013bSjsg # define R200_TXA_SCALE_SHIFT 8 31961099013bSjsg # define R200_TXA_SCALE_MASK (7 << 8) 31971099013bSjsg # define R200_TXA_SCALE_1X (0 << 8) 31981099013bSjsg # define R200_TXA_SCALE_2X (1 << 8) 31991099013bSjsg # define R200_TXA_SCALE_4X (2 << 8) 32001099013bSjsg # define R200_TXA_SCALE_8X (3 << 8) 32011099013bSjsg # define R200_TXA_SCALE_INV2 (5 << 8) 32021099013bSjsg # define R200_TXA_SCALE_INV4 (6 << 8) 32031099013bSjsg # define R200_TXA_SCALE_INV8 (7 << 8) 32041099013bSjsg # define R200_TXA_CLAMP_SHIFT 12 32051099013bSjsg # define R200_TXA_CLAMP_MASK (3 << 12) 32061099013bSjsg # define R200_TXA_CLAMP_WRAP (0 << 12) 32071099013bSjsg # define R200_TXA_CLAMP_0_1 (1 << 12) 32081099013bSjsg # define R200_TXA_CLAMP_8_8 (2 << 12) 32091099013bSjsg # define R200_TXA_OUTPUT_REG_MASK (7 << 16) 32101099013bSjsg # define R200_TXA_OUTPUT_REG_NONE (0 << 16) 32111099013bSjsg # define R200_TXA_OUTPUT_REG_R0 (1 << 16) 32121099013bSjsg # define R200_TXA_OUTPUT_REG_R1 (2 << 16) 32131099013bSjsg # define R200_TXA_OUTPUT_REG_R2 (3 << 16) 32141099013bSjsg # define R200_TXA_OUTPUT_REG_R3 (4 << 16) 32151099013bSjsg # define R200_TXA_OUTPUT_REG_R4 (5 << 16) 32161099013bSjsg # define R200_TXA_OUTPUT_REG_R5 (6 << 16) 32171099013bSjsg # define R200_TXA_DOT_ALPHA (1 << 20) 32181099013bSjsg # define R200_TXA_REPL_NORMAL 0 32191099013bSjsg # define R200_TXA_REPL_RED 1 32201099013bSjsg # define R200_TXA_REPL_GREEN 2 32211099013bSjsg # define R200_TXA_REPL_ARG_A_SHIFT 26 32221099013bSjsg # define R200_TXA_REPL_ARG_A_MASK (3 << 26) 32231099013bSjsg # define R200_TXA_REPL_ARG_B_SHIFT 28 32241099013bSjsg # define R200_TXA_REPL_ARG_B_MASK (3 << 28) 32251099013bSjsg # define R200_TXA_REPL_ARG_C_SHIFT 30 32261099013bSjsg # define R200_TXA_REPL_ARG_C_MASK (3 << 30) 32271099013bSjsg 32281099013bSjsg #define R200_SE_VTX_FMT_0 0x2088 32291099013bSjsg # define R200_VTX_XY 0 /* always have xy */ 32301099013bSjsg # define R200_VTX_Z0 (1<<0) 32311099013bSjsg # define R200_VTX_W0 (1<<1) 32321099013bSjsg # define R200_VTX_WEIGHT_COUNT_SHIFT (2) 32331099013bSjsg # define R200_VTX_PV_MATRIX_SEL (1<<5) 32341099013bSjsg # define R200_VTX_N0 (1<<6) 32351099013bSjsg # define R200_VTX_POINT_SIZE (1<<7) 32361099013bSjsg # define R200_VTX_DISCRETE_FOG (1<<8) 32371099013bSjsg # define R200_VTX_SHININESS_0 (1<<9) 32381099013bSjsg # define R200_VTX_SHININESS_1 (1<<10) 32391099013bSjsg # define R200_VTX_COLOR_NOT_PRESENT 0 32401099013bSjsg # define R200_VTX_PK_RGBA 1 32411099013bSjsg # define R200_VTX_FP_RGB 2 32421099013bSjsg # define R200_VTX_FP_RGBA 3 32431099013bSjsg # define R200_VTX_COLOR_MASK 3 32441099013bSjsg # define R200_VTX_COLOR_0_SHIFT 11 32451099013bSjsg # define R200_VTX_COLOR_1_SHIFT 13 32461099013bSjsg # define R200_VTX_COLOR_2_SHIFT 15 32471099013bSjsg # define R200_VTX_COLOR_3_SHIFT 17 32481099013bSjsg # define R200_VTX_COLOR_4_SHIFT 19 32491099013bSjsg # define R200_VTX_COLOR_5_SHIFT 21 32501099013bSjsg # define R200_VTX_COLOR_6_SHIFT 23 32511099013bSjsg # define R200_VTX_COLOR_7_SHIFT 25 32521099013bSjsg # define R200_VTX_XY1 (1<<28) 32531099013bSjsg # define R200_VTX_Z1 (1<<29) 32541099013bSjsg # define R200_VTX_W1 (1<<30) 32551099013bSjsg # define R200_VTX_N1 (1<<31) 32561099013bSjsg #define R200_SE_VTX_FMT_1 0x208c 32571099013bSjsg # define R200_VTX_TEX0_COMP_CNT_SHIFT 0 32581099013bSjsg # define R200_VTX_TEX1_COMP_CNT_SHIFT 3 32591099013bSjsg # define R200_VTX_TEX2_COMP_CNT_SHIFT 6 32601099013bSjsg # define R200_VTX_TEX3_COMP_CNT_SHIFT 9 32611099013bSjsg # define R200_VTX_TEX4_COMP_CNT_SHIFT 12 32621099013bSjsg # define R200_VTX_TEX5_COMP_CNT_SHIFT 15 32631099013bSjsg 32641099013bSjsg #define R200_SE_TCL_OUTPUT_VTX_FMT_0 0x2090 32651099013bSjsg #define R200_SE_TCL_OUTPUT_VTX_FMT_1 0x2094 32661099013bSjsg #define R200_SE_TCL_OUTPUT_VTX_COMP_SEL 0x2250 32671099013bSjsg # define R200_OUTPUT_XYZW (1<<0) 32681099013bSjsg # define R200_OUTPUT_COLOR_0 (1<<8) 32691099013bSjsg # define R200_OUTPUT_COLOR_1 (1<<9) 32701099013bSjsg # define R200_OUTPUT_TEX_0 (1<<16) 32711099013bSjsg # define R200_OUTPUT_TEX_1 (1<<17) 32721099013bSjsg # define R200_OUTPUT_TEX_2 (1<<18) 32731099013bSjsg # define R200_OUTPUT_TEX_3 (1<<19) 32741099013bSjsg # define R200_OUTPUT_TEX_4 (1<<20) 32751099013bSjsg # define R200_OUTPUT_TEX_5 (1<<21) 32761099013bSjsg # define R200_OUTPUT_TEX_MASK (0x3f<<16) 32771099013bSjsg # define R200_OUTPUT_DISCRETE_FOG (1<<24) 32781099013bSjsg # define R200_OUTPUT_PT_SIZE (1<<25) 32791099013bSjsg # define R200_FORCE_INORDER_PROC (1<<31) 32801099013bSjsg #define R200_PP_CNTL_X 0x2cc4 32811099013bSjsg #define R200_PP_TXMULTI_CTL_0 0x2c1c 32821099013bSjsg #define R200_PP_TXMULTI_CTL_1 0x2c3c 32831099013bSjsg #define R200_PP_TXMULTI_CTL_2 0x2c5c 32841099013bSjsg #define R200_PP_TXMULTI_CTL_3 0x2c7c 32851099013bSjsg #define R200_PP_TXMULTI_CTL_4 0x2c9c 32861099013bSjsg #define R200_PP_TXMULTI_CTL_5 0x2cbc 32871099013bSjsg #define R200_SE_VTX_STATE_CNTL 0x2180 32881099013bSjsg # define R200_UPDATE_USER_COLOR_0_ENA_MASK (1<<16) 32891099013bSjsg 32901099013bSjsg /* Registers for CP and Microcode Engine */ 32911099013bSjsg #define RADEON_CP_ME_RAM_ADDR 0x07d4 32921099013bSjsg #define RADEON_CP_ME_RAM_RADDR 0x07d8 32931099013bSjsg #define RADEON_CP_ME_RAM_DATAH 0x07dc 32941099013bSjsg #define RADEON_CP_ME_RAM_DATAL 0x07e0 32951099013bSjsg 32961099013bSjsg #define RADEON_CP_RB_BASE 0x0700 32971099013bSjsg #define RADEON_CP_RB_CNTL 0x0704 32981099013bSjsg # define RADEON_RB_BUFSZ_SHIFT 0 32991099013bSjsg # define RADEON_RB_BUFSZ_MASK (0x3f << 0) 33001099013bSjsg # define RADEON_RB_BLKSZ_SHIFT 8 33011099013bSjsg # define RADEON_RB_BLKSZ_MASK (0x3f << 8) 33021099013bSjsg # define RADEON_BUF_SWAP_32BIT (2 << 16) 33031099013bSjsg # define RADEON_MAX_FETCH_SHIFT 18 33041099013bSjsg # define RADEON_MAX_FETCH_MASK (0x3 << 18) 33051099013bSjsg # define RADEON_RB_NO_UPDATE (1 << 27) 33061099013bSjsg # define RADEON_RB_RPTR_WR_ENA (1 << 31) 33071099013bSjsg #define RADEON_CP_RB_RPTR_ADDR 0x070c 33081099013bSjsg #define RADEON_CP_RB_RPTR 0x0710 33091099013bSjsg #define RADEON_CP_RB_WPTR 0x0714 33101099013bSjsg #define RADEON_CP_RB_RPTR_WR 0x071c 33111099013bSjsg 33121099013bSjsg #define RADEON_SCRATCH_UMSK 0x0770 33131099013bSjsg #define RADEON_SCRATCH_ADDR 0x0774 33141099013bSjsg 33151099013bSjsg #define R600_CP_RB_BASE 0xc100 33161099013bSjsg #define R600_CP_RB_CNTL 0xc104 33171099013bSjsg # define R600_RB_BUFSZ(x) ((x) << 0) 33181099013bSjsg # define R600_RB_BLKSZ(x) ((x) << 8) 33191099013bSjsg # define R600_RB_NO_UPDATE (1 << 27) 33201099013bSjsg # define R600_RB_RPTR_WR_ENA (1 << 31) 33211099013bSjsg #define R600_CP_RB_RPTR_WR 0xc108 33221099013bSjsg #define R600_CP_RB_RPTR_ADDR 0xc10c 33231099013bSjsg #define R600_CP_RB_RPTR_ADDR_HI 0xc110 33241099013bSjsg #define R600_CP_RB_WPTR 0xc114 33251099013bSjsg #define R600_CP_RB_WPTR_ADDR 0xc118 33261099013bSjsg #define R600_CP_RB_WPTR_ADDR_HI 0xc11c 33271099013bSjsg #define R600_CP_RB_RPTR 0x8700 33281099013bSjsg #define R600_CP_RB_WPTR_DELAY 0x8704 33291099013bSjsg 33301099013bSjsg #define RADEON_CP_IB_BASE 0x0738 33311099013bSjsg #define RADEON_CP_IB_BUFSZ 0x073c 33321099013bSjsg 33331099013bSjsg #define RADEON_CP_CSQ_CNTL 0x0740 33341099013bSjsg # define RADEON_CSQ_CNT_PRIMARY_MASK (0xff << 0) 33351099013bSjsg # define RADEON_CSQ_PRIDIS_INDDIS (0 << 28) 33361099013bSjsg # define RADEON_CSQ_PRIPIO_INDDIS (1 << 28) 33371099013bSjsg # define RADEON_CSQ_PRIBM_INDDIS (2 << 28) 33381099013bSjsg # define RADEON_CSQ_PRIPIO_INDBM (3 << 28) 33391099013bSjsg # define RADEON_CSQ_PRIBM_INDBM (4 << 28) 33401099013bSjsg # define RADEON_CSQ_PRIPIO_INDPIO (15 << 28) 33411099013bSjsg 33421099013bSjsg #define R300_CP_RESYNC_ADDR 0x778 33431099013bSjsg #define R300_CP_RESYNC_DATA 0x77c 33441099013bSjsg 33451099013bSjsg #define RADEON_CP_CSQ_STAT 0x07f8 33461099013bSjsg # define RADEON_CSQ_RPTR_PRIMARY_MASK (0xff << 0) 33471099013bSjsg # define RADEON_CSQ_WPTR_PRIMARY_MASK (0xff << 8) 33481099013bSjsg # define RADEON_CSQ_RPTR_INDIRECT_MASK (0xff << 16) 33491099013bSjsg # define RADEON_CSQ_WPTR_INDIRECT_MASK (0xff << 24) 33501099013bSjsg #define RADEON_CP_CSQ2_STAT 0x07fc 33511099013bSjsg #define RADEON_CP_CSQ_ADDR 0x07f0 33521099013bSjsg #define RADEON_CP_CSQ_DATA 0x07f4 33531099013bSjsg #define RADEON_CP_CSQ_APER_PRIMARY 0x1000 33541099013bSjsg #define RADEON_CP_CSQ_APER_INDIRECT 0x1300 33551099013bSjsg 33561099013bSjsg #define RADEON_CP_RB_WPTR_DELAY 0x0718 33571099013bSjsg # define RADEON_PRE_WRITE_TIMER_SHIFT 0 33581099013bSjsg # define RADEON_PRE_WRITE_LIMIT_SHIFT 23 33591099013bSjsg #define RADEON_CP_CSQ_MODE 0x0744 33601099013bSjsg # define RADEON_INDIRECT2_START_SHIFT 0 33611099013bSjsg # define RADEON_INDIRECT2_START_MASK (0x7f << 0) 33621099013bSjsg # define RADEON_INDIRECT1_START_SHIFT 8 33631099013bSjsg # define RADEON_INDIRECT1_START_MASK (0x7f << 8) 33641099013bSjsg 33651099013bSjsg #define RADEON_AIC_CNTL 0x01d0 33661099013bSjsg # define RADEON_PCIGART_TRANSLATE_EN (1 << 0) 33671099013bSjsg # define RADEON_DIS_OUT_OF_PCI_GART_ACCESS (1 << 1) 33681099013bSjsg # define RS400_MSI_REARM (1 << 3) /* rs400/rs480 */ 33691099013bSjsg #define RADEON_AIC_LO_ADDR 0x01dc 33701099013bSjsg #define RADEON_AIC_PT_BASE 0x01d8 33711099013bSjsg #define RADEON_AIC_HI_ADDR 0x01e0 33721099013bSjsg 33731099013bSjsg 33741099013bSjsg 33751099013bSjsg /* Constants */ 33761099013bSjsg /* #define RADEON_LAST_FRAME_REG RADEON_GUI_SCRATCH_REG0 */ 33771099013bSjsg /* efine RADEON_LAST_CLEAR_REG RADEON_GUI_SCRATCH_REG2 */ 33781099013bSjsg 33791099013bSjsg 33801099013bSjsg 33811099013bSjsg /* CP packet types */ 33821099013bSjsg #define RADEON_CP_PACKET0 0x00000000 33831099013bSjsg #define RADEON_CP_PACKET1 0x40000000 33841099013bSjsg #define RADEON_CP_PACKET2 0x80000000 33851099013bSjsg #define RADEON_CP_PACKET3 0xC0000000 33861099013bSjsg # define RADEON_CP_PACKET_MASK 0xC0000000 33871099013bSjsg # define RADEON_CP_PACKET_COUNT_MASK 0x3fff0000 33881099013bSjsg # define RADEON_CP_PACKET_MAX_DWORDS (1 << 12) 33891099013bSjsg # define RADEON_CP_PACKET0_REG_MASK 0x000007ff 33901099013bSjsg # define R300_CP_PACKET0_REG_MASK 0x00001fff 33911099013bSjsg # define R600_CP_PACKET0_REG_MASK 0x0000ffff 33921099013bSjsg # define RADEON_CP_PACKET1_REG0_MASK 0x000007ff 33931099013bSjsg # define RADEON_CP_PACKET1_REG1_MASK 0x003ff800 33941099013bSjsg 33951099013bSjsg #define RADEON_CP_PACKET0_ONE_REG_WR 0x00008000 33961099013bSjsg 33971099013bSjsg #define RADEON_CP_PACKET3_NOP 0xC0001000 33981099013bSjsg #define RADEON_CP_PACKET3_NEXT_CHAR 0xC0001900 33991099013bSjsg #define RADEON_CP_PACKET3_PLY_NEXTSCAN 0xC0001D00 34001099013bSjsg #define RADEON_CP_PACKET3_SET_SCISSORS 0xC0001E00 34011099013bSjsg #define RADEON_CP_PACKET3_3D_RNDR_GEN_INDX_PRIM 0xC0002300 34021099013bSjsg #define RADEON_CP_PACKET3_LOAD_MICROCODE 0xC0002400 34031099013bSjsg #define RADEON_CP_PACKET3_WAIT_FOR_IDLE 0xC0002600 34041099013bSjsg #define RADEON_CP_PACKET3_3D_DRAW_VBUF 0xC0002800 34051099013bSjsg #define RADEON_CP_PACKET3_3D_DRAW_IMMD 0xC0002900 34061099013bSjsg #define RADEON_CP_PACKET3_3D_DRAW_INDX 0xC0002A00 34071099013bSjsg #define RADEON_CP_PACKET3_LOAD_PALETTE 0xC0002C00 34081099013bSjsg #define R200_CP_PACKET3_3D_DRAW_IMMD_2 0xc0003500 34091099013bSjsg #define RADEON_CP_PACKET3_3D_LOAD_VBPNTR 0xC0002F00 34101099013bSjsg #define RADEON_CP_PACKET3_CNTL_PAINT 0xC0009100 34111099013bSjsg #define RADEON_CP_PACKET3_CNTL_BITBLT 0xC0009200 34121099013bSjsg #define RADEON_CP_PACKET3_CNTL_SMALLTEXT 0xC0009300 34131099013bSjsg #define RADEON_CP_PACKET3_CNTL_HOSTDATA_BLT 0xC0009400 34141099013bSjsg #define RADEON_CP_PACKET3_CNTL_POLYLINE 0xC0009500 34151099013bSjsg #define RADEON_CP_PACKET3_CNTL_POLYSCANLINES 0xC0009800 34161099013bSjsg #define RADEON_CP_PACKET3_CNTL_PAINT_MULTI 0xC0009A00 34171099013bSjsg #define RADEON_CP_PACKET3_CNTL_BITBLT_MULTI 0xC0009B00 34181099013bSjsg #define RADEON_CP_PACKET3_CNTL_TRANS_BITBLT 0xC0009C00 34191099013bSjsg 34201099013bSjsg 34211099013bSjsg #define RADEON_CP_VC_FRMT_XY 0x00000000 34221099013bSjsg #define RADEON_CP_VC_FRMT_W0 0x00000001 34231099013bSjsg #define RADEON_CP_VC_FRMT_FPCOLOR 0x00000002 34241099013bSjsg #define RADEON_CP_VC_FRMT_FPALPHA 0x00000004 34251099013bSjsg #define RADEON_CP_VC_FRMT_PKCOLOR 0x00000008 34261099013bSjsg #define RADEON_CP_VC_FRMT_FPSPEC 0x00000010 34271099013bSjsg #define RADEON_CP_VC_FRMT_FPFOG 0x00000020 34281099013bSjsg #define RADEON_CP_VC_FRMT_PKSPEC 0x00000040 34291099013bSjsg #define RADEON_CP_VC_FRMT_ST0 0x00000080 34301099013bSjsg #define RADEON_CP_VC_FRMT_ST1 0x00000100 34311099013bSjsg #define RADEON_CP_VC_FRMT_Q1 0x00000200 34321099013bSjsg #define RADEON_CP_VC_FRMT_ST2 0x00000400 34331099013bSjsg #define RADEON_CP_VC_FRMT_Q2 0x00000800 34341099013bSjsg #define RADEON_CP_VC_FRMT_ST3 0x00001000 34351099013bSjsg #define RADEON_CP_VC_FRMT_Q3 0x00002000 34361099013bSjsg #define RADEON_CP_VC_FRMT_Q0 0x00004000 34371099013bSjsg #define RADEON_CP_VC_FRMT_BLND_WEIGHT_CNT_MASK 0x00038000 34381099013bSjsg #define RADEON_CP_VC_FRMT_N0 0x00040000 34391099013bSjsg #define RADEON_CP_VC_FRMT_XY1 0x08000000 34401099013bSjsg #define RADEON_CP_VC_FRMT_Z1 0x10000000 34411099013bSjsg #define RADEON_CP_VC_FRMT_W1 0x20000000 34421099013bSjsg #define RADEON_CP_VC_FRMT_N1 0x40000000 34431099013bSjsg #define RADEON_CP_VC_FRMT_Z 0x80000000 34441099013bSjsg 34451099013bSjsg #define RADEON_CP_VC_CNTL_PRIM_TYPE_NONE 0x00000000 34461099013bSjsg #define RADEON_CP_VC_CNTL_PRIM_TYPE_POINT 0x00000001 34471099013bSjsg #define RADEON_CP_VC_CNTL_PRIM_TYPE_LINE 0x00000002 34481099013bSjsg #define RADEON_CP_VC_CNTL_PRIM_TYPE_LINE_STRIP 0x00000003 34491099013bSjsg #define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_LIST 0x00000004 34501099013bSjsg #define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_FAN 0x00000005 34511099013bSjsg #define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_STRIP 0x00000006 34521099013bSjsg #define RADEON_CP_VC_CNTL_PRIM_TYPE_TRI_TYPE_2 0x00000007 34531099013bSjsg #define RADEON_CP_VC_CNTL_PRIM_TYPE_RECT_LIST 0x00000008 34541099013bSjsg #define RADEON_CP_VC_CNTL_PRIM_TYPE_3VRT_POINT_LIST 0x00000009 34551099013bSjsg #define RADEON_CP_VC_CNTL_PRIM_TYPE_3VRT_LINE_LIST 0x0000000a 34561099013bSjsg #define RADEON_CP_VC_CNTL_PRIM_WALK_IND 0x00000010 34571099013bSjsg #define RADEON_CP_VC_CNTL_PRIM_WALK_LIST 0x00000020 34581099013bSjsg #define RADEON_CP_VC_CNTL_PRIM_WALK_RING 0x00000030 34591099013bSjsg #define RADEON_CP_VC_CNTL_COLOR_ORDER_BGRA 0x00000000 34601099013bSjsg #define RADEON_CP_VC_CNTL_COLOR_ORDER_RGBA 0x00000040 34611099013bSjsg #define RADEON_CP_VC_CNTL_MAOS_ENABLE 0x00000080 34621099013bSjsg #define RADEON_CP_VC_CNTL_VTX_FMT_NON_RADEON_MODE 0x00000000 34631099013bSjsg #define RADEON_CP_VC_CNTL_VTX_FMT_RADEON_MODE 0x00000100 34641099013bSjsg #define RADEON_CP_VC_CNTL_TCL_DISABLE 0x00000000 34651099013bSjsg #define RADEON_CP_VC_CNTL_TCL_ENABLE 0x00000200 34661099013bSjsg #define RADEON_CP_VC_CNTL_NUM_SHIFT 16 34671099013bSjsg 34681099013bSjsg #define RADEON_VS_MATRIX_0_ADDR 0 34691099013bSjsg #define RADEON_VS_MATRIX_1_ADDR 4 34701099013bSjsg #define RADEON_VS_MATRIX_2_ADDR 8 34711099013bSjsg #define RADEON_VS_MATRIX_3_ADDR 12 34721099013bSjsg #define RADEON_VS_MATRIX_4_ADDR 16 34731099013bSjsg #define RADEON_VS_MATRIX_5_ADDR 20 34741099013bSjsg #define RADEON_VS_MATRIX_6_ADDR 24 34751099013bSjsg #define RADEON_VS_MATRIX_7_ADDR 28 34761099013bSjsg #define RADEON_VS_MATRIX_8_ADDR 32 34771099013bSjsg #define RADEON_VS_MATRIX_9_ADDR 36 34781099013bSjsg #define RADEON_VS_MATRIX_10_ADDR 40 34791099013bSjsg #define RADEON_VS_MATRIX_11_ADDR 44 34801099013bSjsg #define RADEON_VS_MATRIX_12_ADDR 48 34811099013bSjsg #define RADEON_VS_MATRIX_13_ADDR 52 34821099013bSjsg #define RADEON_VS_MATRIX_14_ADDR 56 34831099013bSjsg #define RADEON_VS_MATRIX_15_ADDR 60 34841099013bSjsg #define RADEON_VS_LIGHT_AMBIENT_ADDR 64 34851099013bSjsg #define RADEON_VS_LIGHT_DIFFUSE_ADDR 72 34861099013bSjsg #define RADEON_VS_LIGHT_SPECULAR_ADDR 80 34871099013bSjsg #define RADEON_VS_LIGHT_DIRPOS_ADDR 88 34881099013bSjsg #define RADEON_VS_LIGHT_HWVSPOT_ADDR 96 34891099013bSjsg #define RADEON_VS_LIGHT_ATTENUATION_ADDR 104 34901099013bSjsg #define RADEON_VS_MATRIX_EYE2CLIP_ADDR 112 34911099013bSjsg #define RADEON_VS_UCP_ADDR 116 34921099013bSjsg #define RADEON_VS_GLOBAL_AMBIENT_ADDR 122 34931099013bSjsg #define RADEON_VS_FOG_PARAM_ADDR 123 34941099013bSjsg #define RADEON_VS_EYE_VECTOR_ADDR 124 34951099013bSjsg 34961099013bSjsg #define RADEON_SS_LIGHT_DCD_ADDR 0 34971099013bSjsg #define RADEON_SS_LIGHT_SPOT_EXPONENT_ADDR 8 34981099013bSjsg #define RADEON_SS_LIGHT_SPOT_CUTOFF_ADDR 16 34991099013bSjsg #define RADEON_SS_LIGHT_SPECULAR_THRESH_ADDR 24 35001099013bSjsg #define RADEON_SS_LIGHT_RANGE_CUTOFF_ADDR 32 35011099013bSjsg #define RADEON_SS_VERT_GUARD_CLIP_ADJ_ADDR 48 35021099013bSjsg #define RADEON_SS_VERT_GUARD_DISCARD_ADJ_ADDR 49 35031099013bSjsg #define RADEON_SS_HORZ_GUARD_CLIP_ADJ_ADDR 50 35041099013bSjsg #define RADEON_SS_HORZ_GUARD_DISCARD_ADJ_ADDR 51 35051099013bSjsg #define RADEON_SS_SHININESS 60 35061099013bSjsg 35071099013bSjsg #define RADEON_TV_MASTER_CNTL 0x0800 35081099013bSjsg # define RADEON_TV_ASYNC_RST (1 << 0) 35091099013bSjsg # define RADEON_CRT_ASYNC_RST (1 << 1) 35101099013bSjsg # define RADEON_RESTART_PHASE_FIX (1 << 3) 35111099013bSjsg # define RADEON_TV_FIFO_ASYNC_RST (1 << 4) 35121099013bSjsg # define RADEON_VIN_ASYNC_RST (1 << 5) 35131099013bSjsg # define RADEON_AUD_ASYNC_RST (1 << 6) 35141099013bSjsg # define RADEON_DVS_ASYNC_RST (1 << 7) 35151099013bSjsg # define RADEON_CRT_FIFO_CE_EN (1 << 9) 35161099013bSjsg # define RADEON_TV_FIFO_CE_EN (1 << 10) 35171099013bSjsg # define RADEON_RE_SYNC_NOW_SEL_MASK (3 << 14) 35181099013bSjsg # define RADEON_TVCLK_ALWAYS_ONb (1 << 30) 35191099013bSjsg # define RADEON_TV_ON (1 << 31) 35201099013bSjsg #define RADEON_TV_PRE_DAC_MUX_CNTL 0x0888 35211099013bSjsg # define RADEON_Y_RED_EN (1 << 0) 35221099013bSjsg # define RADEON_C_GRN_EN (1 << 1) 35231099013bSjsg # define RADEON_CMP_BLU_EN (1 << 2) 35241099013bSjsg # define RADEON_DAC_DITHER_EN (1 << 3) 35251099013bSjsg # define RADEON_RED_MX_FORCE_DAC_DATA (6 << 4) 35261099013bSjsg # define RADEON_GRN_MX_FORCE_DAC_DATA (6 << 8) 35271099013bSjsg # define RADEON_BLU_MX_FORCE_DAC_DATA (6 << 12) 35281099013bSjsg # define RADEON_TV_FORCE_DAC_DATA_SHIFT 16 35291099013bSjsg #define RADEON_TV_RGB_CNTL 0x0804 35301099013bSjsg # define RADEON_SWITCH_TO_BLUE (1 << 4) 35311099013bSjsg # define RADEON_RGB_DITHER_EN (1 << 5) 35321099013bSjsg # define RADEON_RGB_SRC_SEL_MASK (3 << 8) 35331099013bSjsg # define RADEON_RGB_SRC_SEL_CRTC1 (0 << 8) 35341099013bSjsg # define RADEON_RGB_SRC_SEL_RMX (1 << 8) 35351099013bSjsg # define RADEON_RGB_SRC_SEL_CRTC2 (2 << 8) 35361099013bSjsg # define RADEON_RGB_CONVERT_BY_PASS (1 << 10) 35371099013bSjsg # define RADEON_UVRAM_READ_MARGIN_SHIFT 16 35381099013bSjsg # define RADEON_FIFORAM_FFMACRO_READ_MARGIN_SHIFT 20 35391099013bSjsg # define RADEON_RGB_ATTEN_SEL(x) ((x) << 24) 35401099013bSjsg # define RADEON_TVOUT_SCALE_EN (1 << 26) 35411099013bSjsg # define RADEON_RGB_ATTEN_VAL(x) ((x) << 28) 35421099013bSjsg #define RADEON_TV_SYNC_CNTL 0x0808 35431099013bSjsg # define RADEON_SYNC_OE (1 << 0) 35441099013bSjsg # define RADEON_SYNC_OUT (1 << 1) 35451099013bSjsg # define RADEON_SYNC_IN (1 << 2) 35461099013bSjsg # define RADEON_SYNC_PUB (1 << 3) 35471099013bSjsg # define RADEON_SYNC_PD (1 << 4) 35481099013bSjsg # define RADEON_TV_SYNC_IO_DRIVE (1 << 5) 35491099013bSjsg #define RADEON_TV_HTOTAL 0x080c 35501099013bSjsg #define RADEON_TV_HDISP 0x0810 35511099013bSjsg #define RADEON_TV_HSTART 0x0818 35521099013bSjsg #define RADEON_TV_HCOUNT 0x081C 35531099013bSjsg #define RADEON_TV_VTOTAL 0x0820 35541099013bSjsg #define RADEON_TV_VDISP 0x0824 35551099013bSjsg #define RADEON_TV_VCOUNT 0x0828 35561099013bSjsg #define RADEON_TV_FTOTAL 0x082c 35571099013bSjsg #define RADEON_TV_FCOUNT 0x0830 35581099013bSjsg #define RADEON_TV_FRESTART 0x0834 35591099013bSjsg #define RADEON_TV_HRESTART 0x0838 35601099013bSjsg #define RADEON_TV_VRESTART 0x083c 35611099013bSjsg #define RADEON_TV_HOST_READ_DATA 0x0840 35621099013bSjsg #define RADEON_TV_HOST_WRITE_DATA 0x0844 35631099013bSjsg #define RADEON_TV_HOST_RD_WT_CNTL 0x0848 35641099013bSjsg # define RADEON_HOST_FIFO_RD (1 << 12) 35651099013bSjsg # define RADEON_HOST_FIFO_RD_ACK (1 << 13) 35661099013bSjsg # define RADEON_HOST_FIFO_WT (1 << 14) 35671099013bSjsg # define RADEON_HOST_FIFO_WT_ACK (1 << 15) 35681099013bSjsg #define RADEON_TV_VSCALER_CNTL1 0x084c 35691099013bSjsg # define RADEON_UV_INC_MASK 0xffff 35701099013bSjsg # define RADEON_UV_INC_SHIFT 0 35711099013bSjsg # define RADEON_Y_W_EN (1 << 24) 35721099013bSjsg # define RADEON_RESTART_FIELD (1 << 29) /* restart on field 0 */ 35731099013bSjsg # define RADEON_Y_DEL_W_SIG_SHIFT 26 35741099013bSjsg #define RADEON_TV_TIMING_CNTL 0x0850 35751099013bSjsg # define RADEON_H_INC_MASK 0xfff 35761099013bSjsg # define RADEON_H_INC_SHIFT 0 35771099013bSjsg # define RADEON_REQ_Y_FIRST (1 << 19) 35781099013bSjsg # define RADEON_FORCE_BURST_ALWAYS (1 << 21) 35791099013bSjsg # define RADEON_UV_POST_SCALE_BYPASS (1 << 23) 35801099013bSjsg # define RADEON_UV_OUTPUT_POST_SCALE_SHIFT 24 35811099013bSjsg #define RADEON_TV_VSCALER_CNTL2 0x0854 35821099013bSjsg # define RADEON_DITHER_MODE (1 << 0) 35831099013bSjsg # define RADEON_Y_OUTPUT_DITHER_EN (1 << 1) 35841099013bSjsg # define RADEON_UV_OUTPUT_DITHER_EN (1 << 2) 35851099013bSjsg # define RADEON_UV_TO_BUF_DITHER_EN (1 << 3) 35861099013bSjsg #define RADEON_TV_Y_FALL_CNTL 0x0858 35871099013bSjsg # define RADEON_Y_FALL_PING_PONG (1 << 16) 35881099013bSjsg # define RADEON_Y_COEF_EN (1 << 17) 35891099013bSjsg #define RADEON_TV_Y_RISE_CNTL 0x085c 35901099013bSjsg # define RADEON_Y_RISE_PING_PONG (1 << 16) 35911099013bSjsg #define RADEON_TV_Y_SAW_TOOTH_CNTL 0x0860 35921099013bSjsg #define RADEON_TV_UPSAMP_AND_GAIN_CNTL 0x0864 35931099013bSjsg # define RADEON_YUPSAMP_EN (1 << 0) 35941099013bSjsg # define RADEON_UVUPSAMP_EN (1 << 2) 35951099013bSjsg #define RADEON_TV_GAIN_LIMIT_SETTINGS 0x0868 35961099013bSjsg # define RADEON_Y_GAIN_LIMIT_SHIFT 0 35971099013bSjsg # define RADEON_UV_GAIN_LIMIT_SHIFT 16 35981099013bSjsg #define RADEON_TV_LINEAR_GAIN_SETTINGS 0x086c 35991099013bSjsg # define RADEON_Y_GAIN_SHIFT 0 36001099013bSjsg # define RADEON_UV_GAIN_SHIFT 16 36011099013bSjsg #define RADEON_TV_MODULATOR_CNTL1 0x0870 36021099013bSjsg # define RADEON_YFLT_EN (1 << 2) 36031099013bSjsg # define RADEON_UVFLT_EN (1 << 3) 36041099013bSjsg # define RADEON_ALT_PHASE_EN (1 << 6) 36051099013bSjsg # define RADEON_SYNC_TIP_LEVEL (1 << 7) 36061099013bSjsg # define RADEON_BLANK_LEVEL_SHIFT 8 36071099013bSjsg # define RADEON_SET_UP_LEVEL_SHIFT 16 36081099013bSjsg # define RADEON_SLEW_RATE_LIMIT (1 << 23) 36091099013bSjsg # define RADEON_CY_FILT_BLEND_SHIFT 28 36101099013bSjsg #define RADEON_TV_MODULATOR_CNTL2 0x0874 36111099013bSjsg # define RADEON_TV_U_BURST_LEVEL_MASK 0x1ff 36121099013bSjsg # define RADEON_TV_V_BURST_LEVEL_MASK 0x1ff 36131099013bSjsg # define RADEON_TV_V_BURST_LEVEL_SHIFT 16 36141099013bSjsg #define RADEON_TV_CRC_CNTL 0x0890 36151099013bSjsg #define RADEON_TV_UV_ADR 0x08ac 36161099013bSjsg # define RADEON_MAX_UV_ADR_MASK 0x000000ff 36171099013bSjsg # define RADEON_MAX_UV_ADR_SHIFT 0 36181099013bSjsg # define RADEON_TABLE1_BOT_ADR_MASK 0x0000ff00 36191099013bSjsg # define RADEON_TABLE1_BOT_ADR_SHIFT 8 36201099013bSjsg # define RADEON_TABLE3_TOP_ADR_MASK 0x00ff0000 36211099013bSjsg # define RADEON_TABLE3_TOP_ADR_SHIFT 16 36221099013bSjsg # define RADEON_HCODE_TABLE_SEL_MASK 0x06000000 36231099013bSjsg # define RADEON_HCODE_TABLE_SEL_SHIFT 25 36241099013bSjsg # define RADEON_VCODE_TABLE_SEL_MASK 0x18000000 36251099013bSjsg # define RADEON_VCODE_TABLE_SEL_SHIFT 27 36261099013bSjsg # define RADEON_TV_MAX_FIFO_ADDR 0x1a7 36271099013bSjsg # define RADEON_TV_MAX_FIFO_ADDR_INTERNAL 0x1ff 36281099013bSjsg #define RADEON_TV_PLL_FINE_CNTL 0x0020 /* PLL */ 36291099013bSjsg #define RADEON_TV_PLL_CNTL 0x0021 /* PLL */ 36301099013bSjsg # define RADEON_TV_M0LO_MASK 0xff 36311099013bSjsg # define RADEON_TV_M0HI_MASK 0x7 36321099013bSjsg # define RADEON_TV_M0HI_SHIFT 18 36331099013bSjsg # define RADEON_TV_N0LO_MASK 0x1ff 36341099013bSjsg # define RADEON_TV_N0LO_SHIFT 8 36351099013bSjsg # define RADEON_TV_N0HI_MASK 0x3 36361099013bSjsg # define RADEON_TV_N0HI_SHIFT 21 36371099013bSjsg # define RADEON_TV_P_MASK 0xf 36381099013bSjsg # define RADEON_TV_P_SHIFT 24 36391099013bSjsg # define RADEON_TV_SLIP_EN (1 << 23) 36401099013bSjsg # define RADEON_TV_DTO_EN (1 << 28) 36411099013bSjsg #define RADEON_TV_PLL_CNTL1 0x0022 /* PLL */ 36421099013bSjsg # define RADEON_TVPLL_RESET (1 << 1) 36431099013bSjsg # define RADEON_TVPLL_SLEEP (1 << 3) 36441099013bSjsg # define RADEON_TVPLL_REFCLK_SEL (1 << 4) 36451099013bSjsg # define RADEON_TVPCP_SHIFT 8 36461099013bSjsg # define RADEON_TVPCP_MASK (7 << 8) 36471099013bSjsg # define RADEON_TVPVG_SHIFT 11 36481099013bSjsg # define RADEON_TVPVG_MASK (7 << 11) 36491099013bSjsg # define RADEON_TVPDC_SHIFT 14 36501099013bSjsg # define RADEON_TVPDC_MASK (3 << 14) 36511099013bSjsg # define RADEON_TVPLL_TEST_DIS (1 << 31) 36521099013bSjsg # define RADEON_TVCLK_SRC_SEL_TVPLL (1 << 30) 36531099013bSjsg 36541099013bSjsg #define RS400_DISP2_REQ_CNTL1 0xe30 36551099013bSjsg # define RS400_DISP2_START_REQ_LEVEL_SHIFT 0 36561099013bSjsg # define RS400_DISP2_START_REQ_LEVEL_MASK 0x3ff 36571099013bSjsg # define RS400_DISP2_STOP_REQ_LEVEL_SHIFT 12 36581099013bSjsg # define RS400_DISP2_STOP_REQ_LEVEL_MASK 0x3ff 36591099013bSjsg # define RS400_DISP2_ALLOW_FID_LEVEL_SHIFT 22 36601099013bSjsg # define RS400_DISP2_ALLOW_FID_LEVEL_MASK 0x3ff 36611099013bSjsg #define RS400_DISP2_REQ_CNTL2 0xe34 36621099013bSjsg # define RS400_DISP2_CRITICAL_POINT_START_SHIFT 12 36631099013bSjsg # define RS400_DISP2_CRITICAL_POINT_START_MASK 0x3ff 36641099013bSjsg # define RS400_DISP2_CRITICAL_POINT_STOP_SHIFT 22 36651099013bSjsg # define RS400_DISP2_CRITICAL_POINT_STOP_MASK 0x3ff 36661099013bSjsg #define RS400_DMIF_MEM_CNTL1 0xe38 36671099013bSjsg # define RS400_DISP2_START_ADR_SHIFT 0 36681099013bSjsg # define RS400_DISP2_START_ADR_MASK 0x3ff 36691099013bSjsg # define RS400_DISP1_CRITICAL_POINT_START_SHIFT 12 36701099013bSjsg # define RS400_DISP1_CRITICAL_POINT_START_MASK 0x3ff 36711099013bSjsg # define RS400_DISP1_CRITICAL_POINT_STOP_SHIFT 22 36721099013bSjsg # define RS400_DISP1_CRITICAL_POINT_STOP_MASK 0x3ff 36731099013bSjsg #define RS400_DISP1_REQ_CNTL1 0xe3c 36741099013bSjsg # define RS400_DISP1_START_REQ_LEVEL_SHIFT 0 36751099013bSjsg # define RS400_DISP1_START_REQ_LEVEL_MASK 0x3ff 36761099013bSjsg # define RS400_DISP1_STOP_REQ_LEVEL_SHIFT 12 36771099013bSjsg # define RS400_DISP1_STOP_REQ_LEVEL_MASK 0x3ff 36781099013bSjsg # define RS400_DISP1_ALLOW_FID_LEVEL_SHIFT 22 36791099013bSjsg # define RS400_DISP1_ALLOW_FID_LEVEL_MASK 0x3ff 36801099013bSjsg 36811099013bSjsg #define RADEON_PCIE_INDEX 0x0030 36821099013bSjsg #define RADEON_PCIE_DATA 0x0034 36831099013bSjsg #define RADEON_PCIE_TX_GART_CNTL 0x10 36841099013bSjsg # define RADEON_PCIE_TX_GART_EN (1 << 0) 36851099013bSjsg # define RADEON_PCIE_TX_GART_UNMAPPED_ACCESS_PASS_THRU (0 << 1) 36861099013bSjsg # define RADEON_PCIE_TX_GART_UNMAPPED_ACCESS_CLAMP_LO (1 << 1) 36871099013bSjsg # define RADEON_PCIE_TX_GART_UNMAPPED_ACCESS_DISCARD (3 << 1) 36881099013bSjsg # define RADEON_PCIE_TX_GART_MODE_32_128_CACHE (0 << 3) 36891099013bSjsg # define RADEON_PCIE_TX_GART_MODE_8_4_128_CACHE (1 << 3) 36901099013bSjsg # define RADEON_PCIE_TX_GART_CHK_RW_VALID_EN (1 << 5) 36911099013bSjsg # define RADEON_PCIE_TX_GART_INVALIDATE_TLB (1 << 8) 36921099013bSjsg #define RADEON_PCIE_TX_DISCARD_RD_ADDR_LO 0x11 36931099013bSjsg #define RADEON_PCIE_TX_DISCARD_RD_ADDR_HI 0x12 36941099013bSjsg #define RADEON_PCIE_TX_GART_BASE 0x13 36951099013bSjsg #define RADEON_PCIE_TX_GART_START_LO 0x14 36961099013bSjsg #define RADEON_PCIE_TX_GART_START_HI 0x15 36971099013bSjsg #define RADEON_PCIE_TX_GART_END_LO 0x16 36981099013bSjsg #define RADEON_PCIE_TX_GART_END_HI 0x17 36991099013bSjsg #define RADEON_PCIE_TX_GART_ERROR 0x18 37001099013bSjsg 37011099013bSjsg #define RADEON_SCRATCH_REG0 0x15e0 37021099013bSjsg #define RADEON_SCRATCH_REG1 0x15e4 37031099013bSjsg #define RADEON_SCRATCH_REG2 0x15e8 37041099013bSjsg #define RADEON_SCRATCH_REG3 0x15ec 37051099013bSjsg #define RADEON_SCRATCH_REG4 0x15f0 37061099013bSjsg #define RADEON_SCRATCH_REG5 0x15f4 37071099013bSjsg 37081099013bSjsg #define RV530_GB_PIPE_SELECT2 0x4124 37091099013bSjsg 3710*7ccd5a2cSjsg #define RADEON_CP_PACKET_GET_TYPE(h) (((h) >> 30) & 3) 3711*7ccd5a2cSjsg #define RADEON_CP_PACKET_GET_COUNT(h) (((h) >> 16) & 0x3FFF) 3712*7ccd5a2cSjsg #define RADEON_CP_PACKET0_GET_ONE_REG_WR(h) (((h) >> 15) & 1) 3713*7ccd5a2cSjsg #define RADEON_CP_PACKET3_GET_OPCODE(h) (((h) >> 8) & 0xFF) 3714*7ccd5a2cSjsg #define R100_CP_PACKET0_GET_REG(h) (((h) & 0x1FFF) << 2) 3715*7ccd5a2cSjsg #define R600_CP_PACKET0_GET_REG(h) (((h) & 0xFFFF) << 2) 3716*7ccd5a2cSjsg #define RADEON_PACKET_TYPE0 0 3717*7ccd5a2cSjsg #define RADEON_PACKET_TYPE1 1 3718*7ccd5a2cSjsg #define RADEON_PACKET_TYPE2 2 3719*7ccd5a2cSjsg #define RADEON_PACKET_TYPE3 3 3720*7ccd5a2cSjsg 3721*7ccd5a2cSjsg #define RADEON_PACKET3_NOP 0x10 3722*7ccd5a2cSjsg 3723*7ccd5a2cSjsg #define RADEON_VLINE_STAT (1 << 12) 3724*7ccd5a2cSjsg 37251099013bSjsg #endif 3726