xref: /openbmc/linux/drivers/gpu/drm/nouveau/include/nvhw/class/clc37d.h (revision 4b4193256c8d3bc3a5397b5cd9494c2ad386317d)
1*b11d8ca1SBen Skeggs /*
2*b11d8ca1SBen Skeggs  * Copyright (c) 1993-2017, NVIDIA CORPORATION. All rights reserved.
3*b11d8ca1SBen Skeggs  *
4*b11d8ca1SBen Skeggs  * Permission is hereby granted, free of charge, to any person obtaining a
5*b11d8ca1SBen Skeggs  * copy of this software and associated documentation files (the "Software"),
6*b11d8ca1SBen Skeggs  * to deal in the Software without restriction, including without limitation
7*b11d8ca1SBen Skeggs  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8*b11d8ca1SBen Skeggs  * and/or sell copies of the Software, and to permit persons to whom the
9*b11d8ca1SBen Skeggs  * Software is furnished to do so, subject to the following conditions:
10*b11d8ca1SBen Skeggs  *
11*b11d8ca1SBen Skeggs  * The above copyright notice and this permission notice shall be included in
12*b11d8ca1SBen Skeggs  * all copies or substantial portions of the Software.
13*b11d8ca1SBen Skeggs  *
14*b11d8ca1SBen Skeggs  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15*b11d8ca1SBen Skeggs  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16*b11d8ca1SBen Skeggs  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17*b11d8ca1SBen Skeggs  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18*b11d8ca1SBen Skeggs  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19*b11d8ca1SBen Skeggs  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20*b11d8ca1SBen Skeggs  * DEALINGS IN THE SOFTWARE.
21*b11d8ca1SBen Skeggs  */
22*b11d8ca1SBen Skeggs 
23*b11d8ca1SBen Skeggs 
24*b11d8ca1SBen Skeggs #ifndef _clC37d_h_
25*b11d8ca1SBen Skeggs #define _clC37d_h_
26*b11d8ca1SBen Skeggs 
27*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER                                                             0x00000000
28*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER_SIZEOF                                                      0x00000010
29*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__0                                                          0x00000000
30*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__0_PRESENT_COUNT                                            7:0
31*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__0_FIELD                                                    8:8
32*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__0_FLIP_TYPE                                                9:9
33*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__0_FLIP_TYPE_NON_TEARING                                    0x00000000
34*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__0_FLIP_TYPE_IMMEDIATE                                      0x00000001
35*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__0_R1                                                       15:10
36*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__0_R2                                                       23:16
37*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__0_R3                                                       29:24
38*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__0_STATUS                                                   31:30
39*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__0_STATUS_NOT_BEGUN                                         0x00000000
40*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__0_STATUS_BEGUN                                             0x00000001
41*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__0_STATUS_FINISHED                                          0x00000002
42*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__1                                                          0x00000001
43*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__1_R4                                                       31:0
44*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__2                                                          0x00000002
45*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__2_TIMESTAMP_LO                                             31:0
46*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__3                                                          0x00000003
47*b11d8ca1SBen Skeggs #define NV_DISP_NOTIFIER__3_TIMESTAMP_HI                                             31:0
48*b11d8ca1SBen Skeggs 
49*b11d8ca1SBen Skeggs 
50*b11d8ca1SBen Skeggs // class methods
51*b11d8ca1SBen Skeggs #define NVC37D_UPDATE                                                           (0x00000200)
52*b11d8ca1SBen Skeggs #define NVC37D_UPDATE_SPECIAL_HANDLING                                          21:20
53*b11d8ca1SBen Skeggs #define NVC37D_UPDATE_SPECIAL_HANDLING_NONE                                     (0x00000000)
54*b11d8ca1SBen Skeggs #define NVC37D_UPDATE_SPECIAL_HANDLING_INTERRUPT_RM                             (0x00000001)
55*b11d8ca1SBen Skeggs #define NVC37D_UPDATE_SPECIAL_HANDLING_MODE_SWITCH                              (0x00000002)
56*b11d8ca1SBen Skeggs #define NVC37D_UPDATE_SPECIAL_HANDLING_REASON                                   19:12
57*b11d8ca1SBen Skeggs #define NVC37D_UPDATE_INHIBIT_INTERRUPTS                                        24:24
58*b11d8ca1SBen Skeggs #define NVC37D_UPDATE_INHIBIT_INTERRUPTS_FALSE                                  (0x00000000)
59*b11d8ca1SBen Skeggs #define NVC37D_UPDATE_INHIBIT_INTERRUPTS_TRUE                                   (0x00000001)
60*b11d8ca1SBen Skeggs #define NVC37D_SET_CONTEXT_DMA_NOTIFIER                                         (0x00000208)
61*b11d8ca1SBen Skeggs #define NVC37D_SET_CONTEXT_DMA_NOTIFIER_HANDLE                                  31:0
62*b11d8ca1SBen Skeggs #define NVC37D_SET_NOTIFIER_CONTROL                                             (0x0000020C)
63*b11d8ca1SBen Skeggs #define NVC37D_SET_NOTIFIER_CONTROL_MODE                                        0:0
64*b11d8ca1SBen Skeggs #define NVC37D_SET_NOTIFIER_CONTROL_MODE_WRITE                                  (0x00000000)
65*b11d8ca1SBen Skeggs #define NVC37D_SET_NOTIFIER_CONTROL_MODE_WRITE_AWAKEN                           (0x00000001)
66*b11d8ca1SBen Skeggs #define NVC37D_SET_NOTIFIER_CONTROL_OFFSET                                      11:4
67*b11d8ca1SBen Skeggs #define NVC37D_SET_NOTIFIER_CONTROL_NOTIFY                                      12:12
68*b11d8ca1SBen Skeggs #define NVC37D_SET_NOTIFIER_CONTROL_NOTIFY_DISABLE                              (0x00000000)
69*b11d8ca1SBen Skeggs #define NVC37D_SET_NOTIFIER_CONTROL_NOTIFY_ENABLE                               (0x00000001)
70*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS                                              (0x00000218)
71*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR(i)                     ((i)+0):((i)+0)
72*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR__SIZE_1                8
73*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR_DISABLE                (0x00000000)
74*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR_ENABLE                 (0x00000001)
75*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR0                       0:0
76*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR0_DISABLE               (0x00000000)
77*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR0_ENABLE                (0x00000001)
78*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR1                       1:1
79*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR1_DISABLE               (0x00000000)
80*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR1_ENABLE                (0x00000001)
81*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR2                       2:2
82*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR2_DISABLE               (0x00000000)
83*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR2_ENABLE                (0x00000001)
84*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR3                       3:3
85*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR3_DISABLE               (0x00000000)
86*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR3_ENABLE                (0x00000001)
87*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR4                       4:4
88*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR4_DISABLE               (0x00000000)
89*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR4_ENABLE                (0x00000001)
90*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR5                       5:5
91*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR5_DISABLE               (0x00000000)
92*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR5_ENABLE                (0x00000001)
93*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR6                       6:6
94*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR6_DISABLE               (0x00000000)
95*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR6_ENABLE                (0x00000001)
96*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR7                       7:7
97*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR7_DISABLE               (0x00000000)
98*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CURSOR7_ENABLE                (0x00000001)
99*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CORE                          16:16
100*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CORE_DISABLE                  (0x00000000)
101*b11d8ca1SBen Skeggs #define NVC37D_SET_INTERLOCK_FLAGS_INTERLOCK_WITH_CORE_ENABLE                   (0x00000001)
102*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS                                       (0x0000021C)
103*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW(i)              ((i)+0):((i)+0)
104*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW__SIZE_1         32
105*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW_DISABLE         (0x00000000)
106*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW_ENABLE          (0x00000001)
107*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW0                0:0
108*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW0_DISABLE        (0x00000000)
109*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW0_ENABLE         (0x00000001)
110*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW1                1:1
111*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW1_DISABLE        (0x00000000)
112*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW1_ENABLE         (0x00000001)
113*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW2                2:2
114*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW2_DISABLE        (0x00000000)
115*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW2_ENABLE         (0x00000001)
116*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW3                3:3
117*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW3_DISABLE        (0x00000000)
118*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW3_ENABLE         (0x00000001)
119*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW4                4:4
120*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW4_DISABLE        (0x00000000)
121*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW4_ENABLE         (0x00000001)
122*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW5                5:5
123*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW5_DISABLE        (0x00000000)
124*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW5_ENABLE         (0x00000001)
125*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW6                6:6
126*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW6_DISABLE        (0x00000000)
127*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW6_ENABLE         (0x00000001)
128*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW7                7:7
129*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW7_DISABLE        (0x00000000)
130*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW7_ENABLE         (0x00000001)
131*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW8                8:8
132*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW8_DISABLE        (0x00000000)
133*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW8_ENABLE         (0x00000001)
134*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW9                9:9
135*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW9_DISABLE        (0x00000000)
136*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW9_ENABLE         (0x00000001)
137*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW10               10:10
138*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW10_DISABLE       (0x00000000)
139*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW10_ENABLE        (0x00000001)
140*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW11               11:11
141*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW11_DISABLE       (0x00000000)
142*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW11_ENABLE        (0x00000001)
143*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW12               12:12
144*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW12_DISABLE       (0x00000000)
145*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW12_ENABLE        (0x00000001)
146*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW13               13:13
147*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW13_DISABLE       (0x00000000)
148*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW13_ENABLE        (0x00000001)
149*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW14               14:14
150*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW14_DISABLE       (0x00000000)
151*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW14_ENABLE        (0x00000001)
152*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW15               15:15
153*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW15_DISABLE       (0x00000000)
154*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW15_ENABLE        (0x00000001)
155*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW16               16:16
156*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW16_DISABLE       (0x00000000)
157*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW16_ENABLE        (0x00000001)
158*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW17               17:17
159*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW17_DISABLE       (0x00000000)
160*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW17_ENABLE        (0x00000001)
161*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW18               18:18
162*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW18_DISABLE       (0x00000000)
163*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW18_ENABLE        (0x00000001)
164*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW19               19:19
165*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW19_DISABLE       (0x00000000)
166*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW19_ENABLE        (0x00000001)
167*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW20               20:20
168*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW20_DISABLE       (0x00000000)
169*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW20_ENABLE        (0x00000001)
170*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW21               21:21
171*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW21_DISABLE       (0x00000000)
172*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW21_ENABLE        (0x00000001)
173*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW22               22:22
174*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW22_DISABLE       (0x00000000)
175*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW22_ENABLE        (0x00000001)
176*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW23               23:23
177*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW23_DISABLE       (0x00000000)
178*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW23_ENABLE        (0x00000001)
179*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW24               24:24
180*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW24_DISABLE       (0x00000000)
181*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW24_ENABLE        (0x00000001)
182*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW25               25:25
183*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW25_DISABLE       (0x00000000)
184*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW25_ENABLE        (0x00000001)
185*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW26               26:26
186*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW26_DISABLE       (0x00000000)
187*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW26_ENABLE        (0x00000001)
188*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW27               27:27
189*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW27_DISABLE       (0x00000000)
190*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW27_ENABLE        (0x00000001)
191*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW28               28:28
192*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW28_DISABLE       (0x00000000)
193*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW28_ENABLE        (0x00000001)
194*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW29               29:29
195*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW29_DISABLE       (0x00000000)
196*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW29_ENABLE        (0x00000001)
197*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW30               30:30
198*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW30_DISABLE       (0x00000000)
199*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW30_ENABLE        (0x00000001)
200*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW31               31:31
201*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW31_DISABLE       (0x00000000)
202*b11d8ca1SBen Skeggs #define NVC37D_SET_WINDOW_INTERLOCK_FLAGS_INTERLOCK_WITH_WINDOW31_ENABLE        (0x00000001)
203*b11d8ca1SBen Skeggs 
204*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL(a)                                               (0x00000300 + (a)*0x00000020)
205*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_OWNER_MASK                                       7:0
206*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_OWNER_MASK_NONE                                  (0x00000000)
207*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_OWNER_MASK_HEAD0                                 (0x00000001)
208*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_OWNER_MASK_HEAD1                                 (0x00000002)
209*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_OWNER_MASK_HEAD2                                 (0x00000004)
210*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_OWNER_MASK_HEAD3                                 (0x00000008)
211*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_OWNER_MASK_HEAD4                                 (0x00000010)
212*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_OWNER_MASK_HEAD5                                 (0x00000020)
213*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_OWNER_MASK_HEAD6                                 (0x00000040)
214*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_OWNER_MASK_HEAD7                                 (0x00000080)
215*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_PROTOCOL                                         11:8
216*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_PROTOCOL_LVDS_CUSTOM                             (0x00000000)
217*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_A                           (0x00000001)
218*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_B                           (0x00000002)
219*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_PROTOCOL_DUAL_TMDS                               (0x00000005)
220*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_PROTOCOL_DP_A                                    (0x00000008)
221*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_PROTOCOL_DP_B                                    (0x00000009)
222*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_PROTOCOL_DSI                                     (0x0000000A)
223*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_PROTOCOL_CUSTOM                                  (0x0000000F)
224*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_DE_SYNC_POLARITY                                 16:16
225*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_DE_SYNC_POLARITY_POSITIVE_TRUE                   (0x00000000)
226*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_DE_SYNC_POLARITY_NEGATIVE_TRUE                   (0x00000001)
227*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE                             21:20
228*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE_OFF                         (0x00000000)
229*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE_X2                          (0x00000001)
230*b11d8ca1SBen Skeggs #define NVC37D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE_X4                          (0x00000002)
231*b11d8ca1SBen Skeggs 
232*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_CONTROL(a)                                            (0x00001000 + (a)*0x00000080)
233*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_CONTROL_OWNER                                         3:0
234*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_CONTROL_OWNER_HEAD(i)                                 (0x00000000 +(i))
235*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_CONTROL_OWNER_HEAD__SIZE_1                            8
236*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_CONTROL_OWNER_HEAD0                                   (0x00000000)
237*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_CONTROL_OWNER_HEAD1                                   (0x00000001)
238*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_CONTROL_OWNER_HEAD2                                   (0x00000002)
239*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_CONTROL_OWNER_HEAD3                                   (0x00000003)
240*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_CONTROL_OWNER_HEAD4                                   (0x00000004)
241*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_CONTROL_OWNER_HEAD5                                   (0x00000005)
242*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_CONTROL_OWNER_HEAD6                                   (0x00000006)
243*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_CONTROL_OWNER_HEAD7                                   (0x00000007)
244*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_CONTROL_OWNER_NONE                                    (0x0000000F)
245*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS(a)                         (0x00001004 + (a)*0x00000080)
246*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_RGB_PACKED1BPP             0:0
247*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_RGB_PACKED1BPP_FALSE       (0x00000000)
248*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_RGB_PACKED1BPP_TRUE        (0x00000001)
249*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_RGB_PACKED2BPP             1:1
250*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_RGB_PACKED2BPP_FALSE       (0x00000000)
251*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_RGB_PACKED2BPP_TRUE        (0x00000001)
252*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_RGB_PACKED4BPP             2:2
253*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_RGB_PACKED4BPP_FALSE       (0x00000000)
254*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_RGB_PACKED4BPP_TRUE        (0x00000001)
255*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_RGB_PACKED8BPP             3:3
256*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_RGB_PACKED8BPP_FALSE       (0x00000000)
257*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_RGB_PACKED8BPP_TRUE        (0x00000001)
258*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_PACKED422              4:4
259*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_PACKED422_FALSE        (0x00000000)
260*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_PACKED422_TRUE         (0x00000001)
261*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_PLANAR420              5:5
262*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_PLANAR420_FALSE        (0x00000000)
263*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_PLANAR420_TRUE         (0x00000001)
264*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_PLANAR444              6:6
265*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_PLANAR444_FALSE        (0x00000000)
266*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_PLANAR444_TRUE         (0x00000001)
267*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR420         7:7
268*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR420_FALSE   (0x00000000)
269*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR420_TRUE    (0x00000001)
270*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR422         8:8
271*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR422_FALSE   (0x00000000)
272*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR422_TRUE    (0x00000001)
273*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR422R        9:9
274*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR422R_FALSE  (0x00000000)
275*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR422R_TRUE   (0x00000001)
276*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR444         10:10
277*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR444_FALSE   (0x00000000)
278*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR444_TRUE    (0x00000001)
279*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_PLANAR420          11:11
280*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_PLANAR420_FALSE    (0x00000000)
281*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_PLANAR420_TRUE     (0x00000001)
282*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_PLANAR444          12:12
283*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_PLANAR444_FALSE    (0x00000000)
284*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_PLANAR444_TRUE     (0x00000001)
285*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR420     13:13
286*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR420_FALSE (0x00000000)
287*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR420_TRUE (0x00000001)
288*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR422     14:14
289*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR422_FALSE (0x00000000)
290*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR422_TRUE (0x00000001)
291*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR422R    15:15
292*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR422R_FALSE (0x00000000)
293*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR422R_TRUE (0x00000001)
294*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR444     16:16
295*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR444_FALSE (0x00000000)
296*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR444_TRUE (0x00000001)
297*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS(a)                 (0x00001008 + (a)*0x00000080)
298*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_RGB_PACKED1BPP     0:0
299*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_RGB_PACKED1BPP_FALSE (0x00000000)
300*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_RGB_PACKED1BPP_TRUE (0x00000001)
301*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_RGB_PACKED2BPP     1:1
302*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_RGB_PACKED2BPP_FALSE (0x00000000)
303*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_RGB_PACKED2BPP_TRUE (0x00000001)
304*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_RGB_PACKED4BPP     2:2
305*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_RGB_PACKED4BPP_FALSE (0x00000000)
306*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_RGB_PACKED4BPP_TRUE (0x00000001)
307*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_RGB_PACKED8BPP     3:3
308*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_RGB_PACKED8BPP_FALSE (0x00000000)
309*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_RGB_PACKED8BPP_TRUE (0x00000001)
310*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_PACKED422      4:4
311*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_PACKED422_FALSE (0x00000000)
312*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_PACKED422_TRUE (0x00000001)
313*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_PLANAR420      5:5
314*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_PLANAR420_FALSE (0x00000000)
315*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_PLANAR420_TRUE (0x00000001)
316*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_PLANAR444      6:6
317*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_PLANAR444_FALSE (0x00000000)
318*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_PLANAR444_TRUE (0x00000001)
319*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR420 7:7
320*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR420_FALSE (0x00000000)
321*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR420_TRUE (0x00000001)
322*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR422 8:8
323*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR422_FALSE (0x00000000)
324*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR422_TRUE (0x00000001)
325*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR422R 9:9
326*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR422R_FALSE (0x00000000)
327*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR422R_TRUE (0x00000001)
328*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR444 10:10
329*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR444_FALSE (0x00000000)
330*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_YUV_SEMI_PLANAR444_TRUE (0x00000001)
331*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_PLANAR420  11:11
332*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_PLANAR420_FALSE (0x00000000)
333*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_PLANAR420_TRUE (0x00000001)
334*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_PLANAR444  12:12
335*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_PLANAR444_FALSE (0x00000000)
336*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_PLANAR444_TRUE (0x00000001)
337*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR420 13:13
338*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR420_FALSE (0x00000000)
339*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR420_TRUE (0x00000001)
340*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR422 14:14
341*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR422_FALSE (0x00000000)
342*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR422_TRUE (0x00000001)
343*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR422R 15:15
344*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR422R_FALSE (0x00000000)
345*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR422R_TRUE (0x00000001)
346*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR444 16:16
347*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR444_FALSE (0x00000000)
348*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_ROTATED_FORMAT_USAGE_BOUNDS_EXT_YUV_SEMI_PLANAR444_TRUE (0x00000001)
349*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_USAGE_BOUNDS(a)                                (0x00001010 + (a)*0x00000080)
350*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_USAGE_BOUNDS_MAX_PIXELS_FETCHED_PER_LINE       14:0
351*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_USAGE_BOUNDS_INPUT_LUT                         17:16
352*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_USAGE_BOUNDS_INPUT_LUT_USAGE_NONE              (0x00000000)
353*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_USAGE_BOUNDS_INPUT_LUT_USAGE_257               (0x00000001)
354*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_USAGE_BOUNDS_INPUT_LUT_USAGE_1025              (0x00000002)
355*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_USAGE_BOUNDS_INPUT_SCALER_TAPS                 22:20
356*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_USAGE_BOUNDS_INPUT_SCALER_TAPS_TAPS_2          (0x00000001)
357*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_USAGE_BOUNDS_INPUT_SCALER_TAPS_TAPS_5          (0x00000004)
358*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_USAGE_BOUNDS_UPSCALING_ALLOWED                 24:24
359*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_USAGE_BOUNDS_UPSCALING_ALLOWED_FALSE           (0x00000000)
360*b11d8ca1SBen Skeggs #define NVC37D_WINDOW_SET_WINDOW_USAGE_BOUNDS_UPSCALING_ALLOWED_TRUE            (0x00000001)
361*b11d8ca1SBen Skeggs 
362*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP(a)                                              (0x00002000 + (a)*0x00000400)
363*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_COLOR_SPACE                                     1:0
364*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_COLOR_SPACE_RGB                                 (0x00000000)
365*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_COLOR_SPACE_YUV_601                             (0x00000001)
366*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_COLOR_SPACE_YUV_709                             (0x00000002)
367*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_COLOR_SPACE_YUV_2020                            (0x00000003)
368*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_CHROMA_LPF                                      3:3
369*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_CHROMA_LPF_DISABLE                              (0x00000000)
370*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_CHROMA_LPF_ENABLE                               (0x00000001)
371*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_SAT_COS                                         15:4
372*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_SAT_SINE                                        27:16
373*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_DYNAMIC_RANGE                                   28:28
374*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_DYNAMIC_RANGE_VESA                              (0x00000000)
375*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_DYNAMIC_RANGE_CEA                               (0x00000001)
376*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_RANGE_COMPRESSION                               29:29
377*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_RANGE_COMPRESSION_DISABLE                       (0x00000000)
378*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_RANGE_COMPRESSION_ENABLE                        (0x00000001)
379*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_BLACK_LEVEL                                     31:30
380*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_BLACK_LEVEL_AUTO                                (0x00000000)
381*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_BLACK_LEVEL_VIDEO                               (0x00000001)
382*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PROCAMP_BLACK_LEVEL_GRAPHICS                            (0x00000002)
383*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE(a)                              (0x00002004 + (a)*0x00000400)
384*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_CRC_MODE                        1:0
385*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_CRC_MODE_ACTIVE_RASTER          (0x00000000)
386*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_CRC_MODE_COMPLETE_RASTER        (0x00000001)
387*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_CRC_MODE_NON_ACTIVE_RASTER      (0x00000002)
388*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_HSYNC_POLARITY                  2:2
389*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_HSYNC_POLARITY_POSITIVE_TRUE    (0x00000000)
390*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_HSYNC_POLARITY_NEGATIVE_TRUE    (0x00000001)
391*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_VSYNC_POLARITY                  3:3
392*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_VSYNC_POLARITY_POSITIVE_TRUE    (0x00000000)
393*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_VSYNC_POLARITY_NEGATIVE_TRUE    (0x00000001)
394*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH                     7:4
395*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_16_422          (0x00000000)
396*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_18_444          (0x00000001)
397*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_20_422          (0x00000002)
398*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_24_422          (0x00000003)
399*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_24_444          (0x00000004)
400*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_30_444          (0x00000005)
401*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_32_422          (0x00000006)
402*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_36_444          (0x00000007)
403*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_PIXEL_DEPTH_BPP_48_444          (0x00000008)
404*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_COLOR_SPACE_OVERRIDE            24:24
405*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_COLOR_SPACE_OVERRIDE_DISABLE    (0x00000000)
406*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_COLOR_SPACE_OVERRIDE_ENABLE     (0x00000001)
407*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_RESOURCE_COLOR_SPACE_FLAG                23:12
408*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PIXEL_CLOCK_FREQUENCY(a)                                (0x0000200C + (a)*0x00000400)
409*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_HERTZ                             30:0
410*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_ADJ1000DIV1001                    31:31
411*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_ADJ1000DIV1001_FALSE              (0x00000000)
412*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_ADJ1000DIV1001_TRUE               (0x00000001)
413*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL(a)                                       (0x00002018 + (a)*0x00000400)
414*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_ENABLE                                   0:0
415*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_ENABLE_DISABLE                           (0x00000000)
416*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_ENABLE_ENABLE                            (0x00000001)
417*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_BITS                                     5:4
418*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_BITS_TO_6_BITS                           (0x00000000)
419*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_BITS_TO_8_BITS                           (0x00000001)
420*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_BITS_TO_10_BITS                          (0x00000002)
421*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_BITS_TO_12_BITS                          (0x00000003)
422*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_OFFSET_ENABLE                            2:2
423*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_OFFSET_ENABLE_DISABLE                    (0x00000000)
424*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_OFFSET_ENABLE_ENABLE                     (0x00000001)
425*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_MODE                                     10:8
426*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_MODE_DYNAMIC_ERR_ACC                     (0x00000000)
427*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_MODE_STATIC_ERR_ACC                      (0x00000001)
428*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_MODE_DYNAMIC_2X2                         (0x00000002)
429*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_MODE_STATIC_2X2                          (0x00000003)
430*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_MODE_TEMPORAL                            (0x00000004)
431*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_DITHER_CONTROL_PHASE                                    13:12
432*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_MAX(a)                            (0x00002028 + (a)*0x00000400)
433*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_MAX_HERTZ                         30:0
434*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_MAX_ADJ1000DIV1001                31:31
435*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_MAX_ADJ1000DIV1001_FALSE          (0x00000000)
436*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_PIXEL_CLOCK_FREQUENCY_MAX_ADJ1000DIV1001_TRUE           (0x00000001)
437*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_HEAD_USAGE_BOUNDS(a)                                    (0x00002030 + (a)*0x00000400)
438*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_HEAD_USAGE_BOUNDS_CURSOR                                2:0
439*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_HEAD_USAGE_BOUNDS_CURSOR_USAGE_NONE                     (0x00000000)
440*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_HEAD_USAGE_BOUNDS_CURSOR_USAGE_W32_H32                  (0x00000001)
441*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_HEAD_USAGE_BOUNDS_CURSOR_USAGE_W64_H64                  (0x00000002)
442*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_HEAD_USAGE_BOUNDS_CURSOR_USAGE_W128_H128                (0x00000003)
443*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_HEAD_USAGE_BOUNDS_CURSOR_USAGE_W256_H256                (0x00000004)
444*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_HEAD_USAGE_BOUNDS_OUTPUT_LUT                            5:4
445*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_HEAD_USAGE_BOUNDS_OUTPUT_LUT_USAGE_NONE                 (0x00000000)
446*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_HEAD_USAGE_BOUNDS_OUTPUT_LUT_USAGE_257                  (0x00000001)
447*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_HEAD_USAGE_BOUNDS_OUTPUT_LUT_USAGE_1025                 (0x00000002)
448*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_HEAD_USAGE_BOUNDS_UPSCALING_ALLOWED                     8:8
449*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_HEAD_USAGE_BOUNDS_UPSCALING_ALLOWED_FALSE               (0x00000000)
450*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_HEAD_USAGE_BOUNDS_UPSCALING_ALLOWED_TRUE                (0x00000001)
451*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_VIEWPORT_SIZE_IN(a)                                     (0x0000204C + (a)*0x00000400)
452*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_VIEWPORT_SIZE_IN_WIDTH                                  14:0
453*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_VIEWPORT_SIZE_IN_HEIGHT                                 30:16
454*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_VIEWPORT_SIZE_OUT(a)                                    (0x00002058 + (a)*0x00000400)
455*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_VIEWPORT_SIZE_OUT_WIDTH                                 14:0
456*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_VIEWPORT_SIZE_OUT_HEIGHT                                30:16
457*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_RASTER_SIZE(a)                                          (0x00002064 + (a)*0x00000400)
458*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_RASTER_SIZE_WIDTH                                       14:0
459*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_RASTER_SIZE_HEIGHT                                      30:16
460*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_RASTER_SYNC_END(a)                                      (0x00002068 + (a)*0x00000400)
461*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_RASTER_SYNC_END_X                                       14:0
462*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_RASTER_SYNC_END_Y                                       30:16
463*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_RASTER_BLANK_END(a)                                     (0x0000206C + (a)*0x00000400)
464*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_RASTER_BLANK_END_X                                      14:0
465*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_RASTER_BLANK_END_Y                                      30:16
466*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_RASTER_BLANK_START(a)                                   (0x00002070 + (a)*0x00000400)
467*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_RASTER_BLANK_START_X                                    14:0
468*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_RASTER_BLANK_START_Y                                    30:16
469*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTEXT_DMA_CURSOR(a,b)                                 (0x00002088 + (a)*0x00000400 + (b)*0x00000004)
470*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTEXT_DMA_CURSOR_HANDLE                               31:0
471*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_OFFSET_CURSOR(a,b)                                      (0x00002090 + (a)*0x00000400 + (b)*0x00000004)
472*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_OFFSET_CURSOR_ORIGIN                                    31:0
473*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR(a)                                       (0x0000209C + (a)*0x00000400)
474*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_ENABLE                                   31:31
475*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_ENABLE_DISABLE                           (0x00000000)
476*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_ENABLE_ENABLE                            (0x00000001)
477*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_FORMAT                                   7:0
478*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_FORMAT_A1R5G5B5                          (0x000000E9)
479*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_FORMAT_A8R8G8B8                          (0x000000CF)
480*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_SIZE                                     9:8
481*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_SIZE_W32_H32                             (0x00000000)
482*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_SIZE_W64_H64                             (0x00000001)
483*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_SIZE_W128_H128                           (0x00000002)
484*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_SIZE_W256_H256                           (0x00000003)
485*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_HOT_SPOT_X                               19:12
486*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_HOT_SPOT_Y                               27:20
487*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_DE_GAMMA                                 29:28
488*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_DE_GAMMA_NONE                            (0x00000000)
489*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_DE_GAMMA_SRGB                            (0x00000001)
490*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_DE_GAMMA_YUV8_10                         (0x00000002)
491*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_DE_GAMMA_YUV12                           (0x00000003)
492*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_COMPOSITION(a)                           (0x000020A0 + (a)*0x00000400)
493*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_K1                           7:0
494*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_CURSOR_COLOR_FACTOR_SELECT   11:8
495*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_CURSOR_COLOR_FACTOR_SELECT_K1 (0x00000002)
496*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_CURSOR_COLOR_FACTOR_SELECT_K1_TIMES_SRC (0x00000005)
497*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_VIEWPORT_COLOR_FACTOR_SELECT 15:12
498*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_VIEWPORT_COLOR_FACTOR_SELECT_ZERO (0x00000000)
499*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_VIEWPORT_COLOR_FACTOR_SELECT_K1 (0x00000002)
500*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_VIEWPORT_COLOR_FACTOR_SELECT_NEG_K1_TIMES_SRC (0x00000007)
501*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_MODE                         16:16
502*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_MODE_BLEND                   (0x00000000)
503*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_MODE_XOR                     (0x00000001)
504*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_LUT(a)                                   (0x000020A4 + (a)*0x00000400)
505*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_LUT_SIZE                                 1:0
506*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_LUT_SIZE_SIZE_257                        (0x00000000)
507*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_LUT_SIZE_SIZE_1025                       (0x00000002)
508*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_LUT_RANGE                                5:4
509*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_LUT_RANGE_UNITY                          (0x00000000)
510*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_LUT_RANGE_XRBIAS                         (0x00000001)
511*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_LUT_RANGE_XVYCC                          (0x00000002)
512*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_LUT_OUTPUT_MODE                          9:8
513*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_LUT_OUTPUT_MODE_INDEX                    (0x00000000)
514*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTROL_OUTPUT_LUT_OUTPUT_MODE_INTERPOLATE              (0x00000001)
515*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_OFFSET_OUTPUT_LUT(a)                                    (0x000020A8 + (a)*0x00000400)
516*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_OFFSET_OUTPUT_LUT_ORIGIN                                31:0
517*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTEXT_DMA_OUTPUT_LUT(a)                               (0x000020AC + (a)*0x00000400)
518*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTEXT_DMA_OUTPUT_LUT_HANDLE                           31:0
519*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTEXT_DMA_CRC(a)                                      (0x00002180 + (a)*0x00000400)
520*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CONTEXT_DMA_CRC_HANDLE                                  31:0
521*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL(a)                                          (0x00002184 + (a)*0x00000400)
522*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_CONTROLLING_CHANNEL                         4:0
523*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_EXPECT_BUFFER_COLLAPSE                      8:8
524*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_EXPECT_BUFFER_COLLAPSE_FALSE                (0x00000000)
525*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_EXPECT_BUFFER_COLLAPSE_TRUE                 (0x00000001)
526*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC                                 19:12
527*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_NONE                            (0x00000000)
528*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_SF                              (0x00000030)
529*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_SOR(i)                          (0x00000050 +(i))
530*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_SOR__SIZE_1                     8
531*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_SOR0                            (0x00000050)
532*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_SOR1                            (0x00000051)
533*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_SOR2                            (0x00000052)
534*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_SOR3                            (0x00000053)
535*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_SOR4                            (0x00000054)
536*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_SOR5                            (0x00000055)
537*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_SOR6                            (0x00000056)
538*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_SOR7                            (0x00000057)
539*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_PIOR(i)                         (0x00000060 +(i))
540*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_PIOR__SIZE_1                    4
541*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_PIOR0                           (0x00000060)
542*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_PIOR1                           (0x00000061)
543*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_PIOR2                           (0x00000062)
544*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_PRIMARY_CRC_PIOR3                           (0x00000063)
545*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC                               27:20
546*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_NONE                          (0x00000000)
547*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_SF                            (0x00000030)
548*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_SOR(i)                        (0x00000050 +(i))
549*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_SOR__SIZE_1                   8
550*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_SOR0                          (0x00000050)
551*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_SOR1                          (0x00000051)
552*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_SOR2                          (0x00000052)
553*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_SOR3                          (0x00000053)
554*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_SOR4                          (0x00000054)
555*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_SOR5                          (0x00000055)
556*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_SOR6                          (0x00000056)
557*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_SOR7                          (0x00000057)
558*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_PIOR(i)                       (0x00000060 +(i))
559*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_PIOR__SIZE_1                  4
560*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_PIOR0                         (0x00000060)
561*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_PIOR1                         (0x00000061)
562*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_PIOR2                         (0x00000062)
563*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_SECONDARY_CRC_PIOR3                         (0x00000063)
564*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_CRC_DURING_SNOOZE                           9:9
565*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_CRC_DURING_SNOOZE_DISABLE                   (0x00000000)
566*b11d8ca1SBen Skeggs #define NVC37D_HEAD_SET_CRC_CONTROL_CRC_DURING_SNOOZE_ENABLE                    (0x00000001)
567*b11d8ca1SBen Skeggs #endif // _clC37d_h
568