xref: /openbmc/linux/drivers/gpu/drm/nouveau/include/nvhw/class/cl507d.h (revision cdd38c5f1ce4398ec58fec95904b75824daab7b5)
1b11d8ca1SBen Skeggs /*
2b11d8ca1SBen Skeggs  * Copyright (c) 1993-2014, NVIDIA CORPORATION. All rights reserved.
3b11d8ca1SBen Skeggs  *
4b11d8ca1SBen Skeggs  * Permission is hereby granted, free of charge, to any person obtaining a
5b11d8ca1SBen Skeggs  * copy of this software and associated documentation files (the "Software"),
6b11d8ca1SBen Skeggs  * to deal in the Software without restriction, including without limitation
7b11d8ca1SBen Skeggs  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8b11d8ca1SBen Skeggs  * and/or sell copies of the Software, and to permit persons to whom the
9b11d8ca1SBen Skeggs  * Software is furnished to do so, subject to the following conditions:
10b11d8ca1SBen Skeggs  *
11b11d8ca1SBen Skeggs  * The above copyright notice and this permission notice shall be included in
12b11d8ca1SBen Skeggs  * all copies or substantial portions of the Software.
13b11d8ca1SBen Skeggs  *
14b11d8ca1SBen Skeggs  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15b11d8ca1SBen Skeggs  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16b11d8ca1SBen Skeggs  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17b11d8ca1SBen Skeggs  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18b11d8ca1SBen Skeggs  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19b11d8ca1SBen Skeggs  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20b11d8ca1SBen Skeggs  * DEALINGS IN THE SOFTWARE.
21b11d8ca1SBen Skeggs  */
22b11d8ca1SBen Skeggs 
23b11d8ca1SBen Skeggs 
24b11d8ca1SBen Skeggs #ifndef _cl507d_h_
25b11d8ca1SBen Skeggs #define _cl507d_h_
26b11d8ca1SBen Skeggs 
27b11d8ca1SBen Skeggs #define NV_DISP_CORE_NOTIFIER_1                                                      0x00000000
28b11d8ca1SBen Skeggs #define NV_DISP_CORE_NOTIFIER_1_SIZEOF                                               0x00000054
29b11d8ca1SBen Skeggs #define NV_DISP_CORE_NOTIFIER_1_COMPLETION_0                                         0x00000000
30b11d8ca1SBen Skeggs #define NV_DISP_CORE_NOTIFIER_1_COMPLETION_0_DONE                                    0:0
31b11d8ca1SBen Skeggs #define NV_DISP_CORE_NOTIFIER_1_COMPLETION_0_DONE_FALSE                              0x00000000
32b11d8ca1SBen Skeggs #define NV_DISP_CORE_NOTIFIER_1_COMPLETION_0_DONE_TRUE                               0x00000001
33b11d8ca1SBen Skeggs #define NV_DISP_CORE_NOTIFIER_1_COMPLETION_0_R0                                      15:1
34b11d8ca1SBen Skeggs #define NV_DISP_CORE_NOTIFIER_1_COMPLETION_0_TIMESTAMP                               29:16
35*24d9422eSLyude Paul #define NV_DISP_CORE_NOTIFIER_1_CAPABILITIES_1                                       0x00000001
36*24d9422eSLyude Paul #define NV_DISP_CORE_NOTIFIER_1_CAPABILITIES_1_DONE                                  0:0
37*24d9422eSLyude Paul #define NV_DISP_CORE_NOTIFIER_1_CAPABILITIES_1_DONE_FALSE                            0x00000000
38*24d9422eSLyude Paul #define NV_DISP_CORE_NOTIFIER_1_CAPABILITIES_1_DONE_TRUE                             0x00000001
39b11d8ca1SBen Skeggs 
40b11d8ca1SBen Skeggs // class methods
41b11d8ca1SBen Skeggs #define NV507D_UPDATE                                                           (0x00000080)
42b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_CURSOR0                                    0:0
43b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_CURSOR0_DISABLE                            (0x00000000)
44b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_CURSOR0_ENABLE                             (0x00000001)
45b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_CURSOR1                                    8:8
46b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_CURSOR1_DISABLE                            (0x00000000)
47b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_CURSOR1_ENABLE                             (0x00000001)
48b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_BASE0                                      1:1
49b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_BASE0_DISABLE                              (0x00000000)
50b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_BASE0_ENABLE                               (0x00000001)
51b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_BASE1                                      9:9
52b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_BASE1_DISABLE                              (0x00000000)
53b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_BASE1_ENABLE                               (0x00000001)
54b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_OVERLAY0                                   2:2
55b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_OVERLAY0_DISABLE                           (0x00000000)
56b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_OVERLAY0_ENABLE                            (0x00000001)
57b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_OVERLAY1                                   10:10
58b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_OVERLAY1_DISABLE                           (0x00000000)
59b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_OVERLAY1_ENABLE                            (0x00000001)
60b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_OVERLAY_IMM0                               3:3
61b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_OVERLAY_IMM0_DISABLE                       (0x00000000)
62b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_OVERLAY_IMM0_ENABLE                        (0x00000001)
63b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_OVERLAY_IMM1                               11:11
64b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_OVERLAY_IMM1_DISABLE                       (0x00000000)
65b11d8ca1SBen Skeggs #define NV507D_UPDATE_INTERLOCK_WITH_OVERLAY_IMM1_ENABLE                        (0x00000001)
66b11d8ca1SBen Skeggs #define NV507D_UPDATE_NOT_DRIVER_FRIENDLY                                       31:31
67b11d8ca1SBen Skeggs #define NV507D_UPDATE_NOT_DRIVER_FRIENDLY_FALSE                                 (0x00000000)
68b11d8ca1SBen Skeggs #define NV507D_UPDATE_NOT_DRIVER_FRIENDLY_TRUE                                  (0x00000001)
69b11d8ca1SBen Skeggs #define NV507D_UPDATE_NOT_DRIVER_UNFRIENDLY                                     30:30
70b11d8ca1SBen Skeggs #define NV507D_UPDATE_NOT_DRIVER_UNFRIENDLY_FALSE                               (0x00000000)
71b11d8ca1SBen Skeggs #define NV507D_UPDATE_NOT_DRIVER_UNFRIENDLY_TRUE                                (0x00000001)
72b11d8ca1SBen Skeggs #define NV507D_UPDATE_INHIBIT_INTERRUPTS                                        29:29
73b11d8ca1SBen Skeggs #define NV507D_UPDATE_INHIBIT_INTERRUPTS_FALSE                                  (0x00000000)
74b11d8ca1SBen Skeggs #define NV507D_UPDATE_INHIBIT_INTERRUPTS_TRUE                                   (0x00000001)
75b11d8ca1SBen Skeggs #define NV507D_SET_NOTIFIER_CONTROL                                             (0x00000084)
76b11d8ca1SBen Skeggs #define NV507D_SET_NOTIFIER_CONTROL_MODE                                        30:30
77b11d8ca1SBen Skeggs #define NV507D_SET_NOTIFIER_CONTROL_MODE_WRITE                                  (0x00000000)
78b11d8ca1SBen Skeggs #define NV507D_SET_NOTIFIER_CONTROL_MODE_WRITE_AWAKEN                           (0x00000001)
79b11d8ca1SBen Skeggs #define NV507D_SET_NOTIFIER_CONTROL_OFFSET                                      11:2
80b11d8ca1SBen Skeggs #define NV507D_SET_NOTIFIER_CONTROL_NOTIFY                                      31:31
81b11d8ca1SBen Skeggs #define NV507D_SET_NOTIFIER_CONTROL_NOTIFY_DISABLE                              (0x00000000)
82b11d8ca1SBen Skeggs #define NV507D_SET_NOTIFIER_CONTROL_NOTIFY_ENABLE                               (0x00000001)
83b11d8ca1SBen Skeggs #define NV507D_SET_CONTEXT_DMA_NOTIFIER                                         (0x00000088)
84b11d8ca1SBen Skeggs #define NV507D_SET_CONTEXT_DMA_NOTIFIER_HANDLE                                  31:0
85b11d8ca1SBen Skeggs #define NV507D_GET_CAPABILITIES                                                 (0x0000008C)
86b11d8ca1SBen Skeggs #define NV507D_GET_CAPABILITIES_DUMMY                                           31:0
87b11d8ca1SBen Skeggs 
88b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL(a)                                               (0x00000400 + (a)*0x00000080)
89b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_OWNER                                            3:0
90b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_OWNER_NONE                                       (0x00000000)
91b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_OWNER_HEAD0                                      (0x00000001)
92b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_OWNER_HEAD1                                      (0x00000002)
93b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_SUB_OWNER                                        5:4
94b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_SUB_OWNER_NONE                                   (0x00000000)
95b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_SUB_OWNER_SUBHEAD0                               (0x00000001)
96b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_SUB_OWNER_SUBHEAD1                               (0x00000002)
97b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_SUB_OWNER_BOTH                                   (0x00000003)
98b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL                                         13:8
99b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_RGB_CRT                                 (0x00000000)
100b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_CPST_NTSC_M                             (0x00000001)
101b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_CPST_NTSC_J                             (0x00000002)
102b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_CPST_PAL_BDGHI                          (0x00000003)
103b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_CPST_PAL_M                              (0x00000004)
104b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_CPST_PAL_N                              (0x00000005)
105b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_CPST_PAL_CN                             (0x00000006)
106b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_COMP_NTSC_M                             (0x00000007)
107b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_COMP_NTSC_J                             (0x00000008)
108b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_COMP_PAL_BDGHI                          (0x00000009)
109b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_COMP_PAL_M                              (0x0000000A)
110b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_COMP_PAL_N                              (0x0000000B)
111b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_COMP_PAL_CN                             (0x0000000C)
112b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_COMP_480P_60                            (0x0000000D)
113b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_COMP_576P_50                            (0x0000000E)
114b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_COMP_720P_50                            (0x0000000F)
115b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_COMP_720P_60                            (0x00000010)
116b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_COMP_1080I_50                           (0x00000011)
117b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_COMP_1080I_60                           (0x00000012)
118b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_PROTOCOL_CUSTOM                                  (0x0000003F)
119b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_INVALIDATE_FIRST_FIELD                           14:14
120b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_INVALIDATE_FIRST_FIELD_FALSE                     (0x00000000)
121b11d8ca1SBen Skeggs #define NV507D_DAC_SET_CONTROL_INVALIDATE_FIRST_FIELD_TRUE                      (0x00000001)
122b11d8ca1SBen Skeggs #define NV507D_DAC_SET_POLARITY(a)                                              (0x00000404 + (a)*0x00000080)
123b11d8ca1SBen Skeggs #define NV507D_DAC_SET_POLARITY_HSYNC                                           0:0
124b11d8ca1SBen Skeggs #define NV507D_DAC_SET_POLARITY_HSYNC_POSITIVE_TRUE                             (0x00000000)
125b11d8ca1SBen Skeggs #define NV507D_DAC_SET_POLARITY_HSYNC_NEGATIVE_TRUE                             (0x00000001)
126b11d8ca1SBen Skeggs #define NV507D_DAC_SET_POLARITY_VSYNC                                           1:1
127b11d8ca1SBen Skeggs #define NV507D_DAC_SET_POLARITY_VSYNC_POSITIVE_TRUE                             (0x00000000)
128b11d8ca1SBen Skeggs #define NV507D_DAC_SET_POLARITY_VSYNC_NEGATIVE_TRUE                             (0x00000001)
129b11d8ca1SBen Skeggs #define NV507D_DAC_SET_POLARITY_RESERVED                                        31:2
130b11d8ca1SBen Skeggs 
131b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL(a)                                               (0x00000600 + (a)*0x00000040)
132b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_OWNER                                            3:0
133b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_OWNER_NONE                                       (0x00000000)
134b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_OWNER_HEAD0                                      (0x00000001)
135b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_OWNER_HEAD1                                      (0x00000002)
136b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_SUB_OWNER                                        5:4
137b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_SUB_OWNER_NONE                                   (0x00000000)
138b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_SUB_OWNER_SUBHEAD0                               (0x00000001)
139b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_SUB_OWNER_SUBHEAD1                               (0x00000002)
140b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_SUB_OWNER_BOTH                                   (0x00000003)
141b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_PROTOCOL                                         11:8
142b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_PROTOCOL_LVDS_CUSTOM                             (0x00000000)
143b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_A                           (0x00000001)
144b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_B                           (0x00000002)
145b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_AB                          (0x00000003)
146b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_PROTOCOL_DUAL_SINGLE_TMDS                        (0x00000004)
147b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_PROTOCOL_DUAL_TMDS                               (0x00000005)
148b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_PROTOCOL_DDI_OUT                                 (0x00000007)
149b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_PROTOCOL_CUSTOM                                  (0x0000000F)
150b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_HSYNC_POLARITY                                   12:12
151b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_HSYNC_POLARITY_POSITIVE_TRUE                     (0x00000000)
152b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_HSYNC_POLARITY_NEGATIVE_TRUE                     (0x00000001)
153b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_VSYNC_POLARITY                                   13:13
154b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_VSYNC_POLARITY_POSITIVE_TRUE                     (0x00000000)
155b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_VSYNC_POLARITY_NEGATIVE_TRUE                     (0x00000001)
156b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_DE_SYNC_POLARITY                                 14:14
157b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_DE_SYNC_POLARITY_POSITIVE_TRUE                   (0x00000000)
158b11d8ca1SBen Skeggs #define NV507D_SOR_SET_CONTROL_DE_SYNC_POLARITY_NEGATIVE_TRUE                   (0x00000001)
159b11d8ca1SBen Skeggs 
160b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL(a)                                              (0x00000700 + (a)*0x00000040)
161b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_OWNER                                           3:0
162b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_OWNER_NONE                                      (0x00000000)
163b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_OWNER_HEAD0                                     (0x00000001)
164b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_OWNER_HEAD1                                     (0x00000002)
165b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_SUB_OWNER                                       5:4
166b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_SUB_OWNER_NONE                                  (0x00000000)
167b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_SUB_OWNER_SUBHEAD0                              (0x00000001)
168b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_SUB_OWNER_SUBHEAD1                              (0x00000002)
169b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_SUB_OWNER_BOTH                                  (0x00000003)
170b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_PROTOCOL                                        11:8
171b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_PROTOCOL_EXT_TMDS_ENC                           (0x00000000)
172b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_PROTOCOL_EXT_TV_ENC                             (0x00000001)
173b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_HSYNC_POLARITY                                  12:12
174b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_HSYNC_POLARITY_POSITIVE_TRUE                    (0x00000000)
175b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_HSYNC_POLARITY_NEGATIVE_TRUE                    (0x00000001)
176b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_VSYNC_POLARITY                                  13:13
177b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_VSYNC_POLARITY_POSITIVE_TRUE                    (0x00000000)
178b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_VSYNC_POLARITY_NEGATIVE_TRUE                    (0x00000001)
179b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_DE_SYNC_POLARITY                                14:14
180b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_DE_SYNC_POLARITY_POSITIVE_TRUE                  (0x00000000)
181b11d8ca1SBen Skeggs #define NV507D_PIOR_SET_CONTROL_DE_SYNC_POLARITY_NEGATIVE_TRUE                  (0x00000001)
182b11d8ca1SBen Skeggs 
183b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PIXEL_CLOCK(a)                                          (0x00000804 + (a)*0x00000400)
184b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PIXEL_CLOCK_FREQUENCY                                   21:0
185b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PIXEL_CLOCK_MODE                                        23:22
186b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PIXEL_CLOCK_MODE_CLK_25                                 (0x00000000)
187b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PIXEL_CLOCK_MODE_CLK_28                                 (0x00000001)
188b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PIXEL_CLOCK_MODE_CLK_CUSTOM                             (0x00000002)
189b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PIXEL_CLOCK_ADJ1000DIV1001                              24:24
190b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PIXEL_CLOCK_ADJ1000DIV1001_FALSE                        (0x00000000)
191b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PIXEL_CLOCK_ADJ1000DIV1001_TRUE                         (0x00000001)
192b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PIXEL_CLOCK_NOT_DRIVER                                  25:25
193b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PIXEL_CLOCK_NOT_DRIVER_FALSE                            (0x00000000)
194b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PIXEL_CLOCK_NOT_DRIVER_TRUE                             (0x00000001)
195b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL(a)                                              (0x00000808 + (a)*0x00000400)
196b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_STRUCTURE                                       2:1
197b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_STRUCTURE_PROGRESSIVE                           (0x00000000)
198b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_STRUCTURE_INTERLACED                            (0x00000001)
199b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_OVERSCAN_COLOR(a)                                       (0x00000810 + (a)*0x00000400)
200b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_OVERSCAN_COLOR_RED                                      9:0
201b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_OVERSCAN_COLOR_GRN                                      19:10
202b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_OVERSCAN_COLOR_BLU                                      29:20
203b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_SIZE(a)                                          (0x00000814 + (a)*0x00000400)
204b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_SIZE_WIDTH                                       14:0
205b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_SIZE_HEIGHT                                      30:16
206b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_SYNC_END(a)                                      (0x00000818 + (a)*0x00000400)
207b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_SYNC_END_X                                       14:0
208b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_SYNC_END_Y                                       30:16
209b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_BLANK_END(a)                                     (0x0000081C + (a)*0x00000400)
210b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_BLANK_END_X                                      14:0
211b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_BLANK_END_Y                                      30:16
212b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_BLANK_START(a)                                   (0x00000820 + (a)*0x00000400)
213b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_BLANK_START_X                                    14:0
214b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_BLANK_START_Y                                    30:16
215b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_VERT_BLANK2(a)                                   (0x00000824 + (a)*0x00000400)
216b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_VERT_BLANK2_YSTART                               14:0
217b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_VERT_BLANK2_YEND                                 30:16
218b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_VERT_BLANK_DMI(a)                                (0x00000828 + (a)*0x00000400)
219b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_RASTER_VERT_BLANK_DMI_DURATION                          11:0
220b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DEFAULT_BASE_COLOR(a)                                   (0x0000082C + (a)*0x00000400)
221b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DEFAULT_BASE_COLOR_RED                                  9:0
222b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DEFAULT_BASE_COLOR_GREEN                                19:10
223b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DEFAULT_BASE_COLOR_BLUE                                 29:20
224b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_LUT_LO(a)                                          (0x00000840 + (a)*0x00000400)
225b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_LUT_LO_ENABLE                                      31:31
226b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_LUT_LO_ENABLE_DISABLE                              (0x00000000)
227b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_LUT_LO_ENABLE_ENABLE                               (0x00000001)
228b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_LUT_LO_MODE                                        30:30
229b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_LUT_LO_MODE_LORES                                  (0x00000000)
230b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_LUT_LO_MODE_HIRES                                  (0x00000001)
231b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_LUT_LO_ORIGIN                                      7:2
232b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_LUT_HI(a)                                          (0x00000844 + (a)*0x00000400)
233b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_LUT_HI_ORIGIN                                      31:0
234b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_OFFSET(a,b)                                             (0x00000860 + (a)*0x00000400 + (b)*0x00000004)
235b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_OFFSET_ORIGIN                                           31:0
236b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_SIZE(a)                                                 (0x00000868 + (a)*0x00000400)
237b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_SIZE_WIDTH                                              14:0
238b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_SIZE_HEIGHT                                             30:16
239b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_STORAGE(a)                                              (0x0000086C + (a)*0x00000400)
240b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_STORAGE_BLOCK_HEIGHT                                    3:0
241b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_STORAGE_BLOCK_HEIGHT_ONE_GOB                            (0x00000000)
242b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_STORAGE_BLOCK_HEIGHT_TWO_GOBS                           (0x00000001)
243b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_STORAGE_BLOCK_HEIGHT_FOUR_GOBS                          (0x00000002)
244b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_STORAGE_BLOCK_HEIGHT_EIGHT_GOBS                         (0x00000003)
245b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_STORAGE_BLOCK_HEIGHT_SIXTEEN_GOBS                       (0x00000004)
246b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_STORAGE_BLOCK_HEIGHT_THIRTYTWO_GOBS                     (0x00000005)
247b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_STORAGE_PITCH                                           17:8
248b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_STORAGE_MEMORY_LAYOUT                                   20:20
249b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_STORAGE_MEMORY_LAYOUT_BLOCKLINEAR                       (0x00000000)
250b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_STORAGE_MEMORY_LAYOUT_PITCH                             (0x00000001)
251b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS(a)                                               (0x00000870 + (a)*0x00000400)
252b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_FORMAT                                           15:8
253b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_FORMAT_I8                                        (0x0000001E)
254b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_FORMAT_VOID16                                    (0x0000001F)
255b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_FORMAT_VOID32                                    (0x0000002E)
256b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_FORMAT_RF16_GF16_BF16_AF16                       (0x000000CA)
257b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_FORMAT_A8R8G8B8                                  (0x000000CF)
258b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_FORMAT_A2B10G10R10                               (0x000000D1)
259b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_FORMAT_A8B8G8R8                                  (0x000000D5)
260b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_FORMAT_R5G6B5                                    (0x000000E8)
261b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_FORMAT_A1R5G5B5                                  (0x000000E9)
262b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_KIND                                             22:16
263b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_KIND_KIND_PITCH                                  (0x00000000)
264b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_KIND_KIND_GENERIC_8BX2                           (0x00000070)
265b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_KIND_KIND_GENERIC_8BX2_BANKSWIZ                  (0x00000072)
266b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_KIND_KIND_GENERIC_16BX1                          (0x00000074)
267b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_KIND_KIND_GENERIC_16BX1_BANKSWIZ                 (0x00000076)
268b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_KIND_KIND_C32_MS4                                (0x00000078)
269b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_KIND_KIND_C32_MS8                                (0x00000079)
270b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_KIND_KIND_C32_MS4_BANKSWIZ                       (0x0000007A)
271b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_KIND_KIND_C32_MS8_BANKSWIZ                       (0x0000007B)
272b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_KIND_KIND_C64_MS4                                (0x0000007C)
273b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_KIND_KIND_C64_MS8                                (0x0000007D)
274b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_KIND_KIND_C128_MS4                               (0x0000007E)
275b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_KIND_FROM_PTE                                    (0x0000007F)
276b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_PART_STRIDE                                      24:24
277b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_PART_STRIDE_PARTSTRIDE_256                       (0x00000000)
278b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PARAMS_PART_STRIDE_PARTSTRIDE_1024                      (0x00000001)
279b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTEXT_DMA_ISO(a)                                      (0x00000874 + (a)*0x00000400)
280b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTEXT_DMA_ISO_HANDLE                                  31:0
281b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR(a)                                       (0x00000880 + (a)*0x00000400)
282b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_ENABLE                                   31:31
283b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_ENABLE_DISABLE                           (0x00000000)
284b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_ENABLE_ENABLE                            (0x00000001)
285b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_FORMAT                                   25:24
286b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_FORMAT_A1R5G5B5                          (0x00000000)
287b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_FORMAT_A8R8G8B8                          (0x00000001)
288b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_SIZE                                     26:26
289b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_SIZE_W32_H32                             (0x00000000)
290b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_SIZE_W64_H64                             (0x00000001)
291b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_HOT_SPOT_X                               13:8
292b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_HOT_SPOT_Y                               21:16
293b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_COMPOSITION                              29:28
294b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_ALPHA_BLEND                  (0x00000000)
295b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_PREMULT_ALPHA_BLEND          (0x00000001)
296b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_XOR                          (0x00000002)
297b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_SUB_OWNER                                5:4
298b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_SUB_OWNER_NONE                           (0x00000000)
299b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_SUB_OWNER_SUBHEAD0                       (0x00000001)
300b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_SUB_OWNER_SUBHEAD1                       (0x00000002)
301b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_CURSOR_SUB_OWNER_BOTH                           (0x00000003)
302b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_OFFSET_CURSOR(a)                                        (0x00000884 + (a)*0x00000400)
303b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_OFFSET_CURSOR_ORIGIN                                    31:0
304b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DITHER_CONTROL(a)                                       (0x000008A0 + (a)*0x00000400)
305b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DITHER_CONTROL_ENABLE                                   0:0
306b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DITHER_CONTROL_ENABLE_DISABLE                           (0x00000000)
307b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DITHER_CONTROL_ENABLE_ENABLE                            (0x00000001)
308b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DITHER_CONTROL_BITS                                     2:1
309b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DITHER_CONTROL_BITS_DITHER_TO_6_BITS                    (0x00000000)
310b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DITHER_CONTROL_BITS_DITHER_TO_8_BITS                    (0x00000001)
311b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DITHER_CONTROL_MODE                                     6:3
312b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DITHER_CONTROL_MODE_DYNAMIC_ERR_ACC                     (0x00000000)
313b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DITHER_CONTROL_MODE_STATIC_ERR_ACC                      (0x00000001)
314b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DITHER_CONTROL_MODE_DYNAMIC_2X2                         (0x00000002)
315b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DITHER_CONTROL_MODE_STATIC_2X2                          (0x00000003)
316b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_DITHER_CONTROL_PHASE                                    8:7
317b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_OUTPUT_SCALER(a)                                (0x000008A4 + (a)*0x00000400)
318b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_OUTPUT_SCALER_VERTICAL_TAPS                     2:0
319b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_OUTPUT_SCALER_VERTICAL_TAPS_TAPS_1              (0x00000000)
320b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_OUTPUT_SCALER_VERTICAL_TAPS_TAPS_2              (0x00000001)
321b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_OUTPUT_SCALER_VERTICAL_TAPS_TAPS_3              (0x00000002)
322b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_OUTPUT_SCALER_VERTICAL_TAPS_TAPS_3_ADAPTIVE     (0x00000003)
323b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_OUTPUT_SCALER_VERTICAL_TAPS_TAPS_5              (0x00000004)
324b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_OUTPUT_SCALER_HORIZONTAL_TAPS                   4:3
325b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_OUTPUT_SCALER_HORIZONTAL_TAPS_TAPS_1            (0x00000000)
326b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_OUTPUT_SCALER_HORIZONTAL_TAPS_TAPS_2            (0x00000001)
327b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_OUTPUT_SCALER_HORIZONTAL_TAPS_TAPS_8            (0x00000002)
328b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_OUTPUT_SCALER_HRESPONSE_BIAS                    23:16
329b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_CONTROL_OUTPUT_SCALER_VRESPONSE_BIAS                    31:24
330b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PROCAMP(a)                                              (0x000008A8 + (a)*0x00000400)
331b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PROCAMP_COLOR_SPACE                                     1:0
332b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PROCAMP_COLOR_SPACE_RGB                                 (0x00000000)
333b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PROCAMP_COLOR_SPACE_YUV_601                             (0x00000001)
334b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PROCAMP_COLOR_SPACE_YUV_709                             (0x00000002)
335b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PROCAMP_CHROMA_LPF                                      2:2
336b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PROCAMP_CHROMA_LPF_AUTO                                 (0x00000000)
337b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PROCAMP_CHROMA_LPF_ON                                   (0x00000001)
338b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PROCAMP_SAT_COS                                         19:8
339b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PROCAMP_SAT_SINE                                        31:20
340b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PROCAMP_TRANSITION                                      4:3
341b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PROCAMP_TRANSITION_HARD                                 (0x00000000)
342b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PROCAMP_TRANSITION_NTSC                                 (0x00000001)
343b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_PROCAMP_TRANSITION_PAL                                  (0x00000002)
344b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_VIEWPORT_POINT_IN(a,b)                                  (0x000008C0 + (a)*0x00000400 + (b)*0x00000004)
345b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_VIEWPORT_POINT_IN_X                                     14:0
346b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_VIEWPORT_POINT_IN_Y                                     30:16
347b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_VIEWPORT_SIZE_IN(a)                                     (0x000008C8 + (a)*0x00000400)
348b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_VIEWPORT_SIZE_IN_WIDTH                                  14:0
349b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_VIEWPORT_SIZE_IN_HEIGHT                                 30:16
350b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_VIEWPORT_SIZE_OUT(a)                                    (0x000008D8 + (a)*0x00000400)
351b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_VIEWPORT_SIZE_OUT_WIDTH                                 14:0
352b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_VIEWPORT_SIZE_OUT_HEIGHT                                30:16
353b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_VIEWPORT_SIZE_OUT_MIN(a)                                (0x000008DC + (a)*0x00000400)
354b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_VIEWPORT_SIZE_OUT_MIN_WIDTH                             14:0
355b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_VIEWPORT_SIZE_OUT_MIN_HEIGHT                            30:16
356b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS(a)                            (0x00000900 + (a)*0x00000400)
357b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_USABLE                        0:0
358b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_USABLE_FALSE                  (0x00000000)
359b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_USABLE_TRUE                   (0x00000001)
360b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH                   11:8
361b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_8             (0x00000000)
362b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_16            (0x00000001)
363b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_32            (0x00000003)
364b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_64            (0x00000005)
365b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_SUPER_SAMPLE                  13:12
366b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_SUPER_SAMPLE_X1_AA            (0x00000000)
367b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_SUPER_SAMPLE_X4_AA            (0x00000002)
368b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_OVERLAY_USAGE_BOUNDS(a)                                 (0x00000904 + (a)*0x00000400)
369b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_OVERLAY_USAGE_BOUNDS_USABLE                             0:0
370b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_OVERLAY_USAGE_BOUNDS_USABLE_FALSE                       (0x00000000)
371b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_OVERLAY_USAGE_BOUNDS_USABLE_TRUE                        (0x00000001)
372b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_OVERLAY_USAGE_BOUNDS_PIXEL_DEPTH                        11:8
373b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_OVERLAY_USAGE_BOUNDS_PIXEL_DEPTH_BPP_16                 (0x00000001)
374b11d8ca1SBen Skeggs #define NV507D_HEAD_SET_OVERLAY_USAGE_BOUNDS_PIXEL_DEPTH_BPP_32                 (0x00000003)
375b11d8ca1SBen Skeggs #endif // _cl507d_h
376