xref: /aosp_15_r20/external/angle/src/third_party/libXNVCtrl/NVCtrl.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker /*
2*8975f5c5SAndroid Build Coastguard Worker  * Copyright (c) 2010 NVIDIA, Corporation
3*8975f5c5SAndroid Build Coastguard Worker  *
4*8975f5c5SAndroid Build Coastguard Worker  * Permission is hereby granted, free of charge, to any person obtaining a copy
5*8975f5c5SAndroid Build Coastguard Worker  * of this software and associated documentation files (the "Software"), to deal
6*8975f5c5SAndroid Build Coastguard Worker  * in the Software without restriction, including without limitation the rights
7*8975f5c5SAndroid Build Coastguard Worker  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8*8975f5c5SAndroid Build Coastguard Worker  * copies of the Software, and to permit persons to whom the Software is
9*8975f5c5SAndroid Build Coastguard Worker  * furnished to do so, subject to the following conditions:
10*8975f5c5SAndroid Build Coastguard Worker  *
11*8975f5c5SAndroid Build Coastguard Worker  * The above copyright notice and this permission notice (including the next
12*8975f5c5SAndroid Build Coastguard Worker  * paragraph) shall be included in all copies or substantial portions of the
13*8975f5c5SAndroid Build Coastguard Worker  * Software.
14*8975f5c5SAndroid Build Coastguard Worker  *
15*8975f5c5SAndroid Build Coastguard Worker  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16*8975f5c5SAndroid Build Coastguard Worker  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17*8975f5c5SAndroid Build Coastguard Worker  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
18*8975f5c5SAndroid Build Coastguard Worker  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19*8975f5c5SAndroid Build Coastguard Worker  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20*8975f5c5SAndroid Build Coastguard Worker  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21*8975f5c5SAndroid Build Coastguard Worker  * SOFTWARE.
22*8975f5c5SAndroid Build Coastguard Worker  */
23*8975f5c5SAndroid Build Coastguard Worker 
24*8975f5c5SAndroid Build Coastguard Worker #ifndef __NVCTRL_H
25*8975f5c5SAndroid Build Coastguard Worker #define __NVCTRL_H
26*8975f5c5SAndroid Build Coastguard Worker 
27*8975f5c5SAndroid Build Coastguard Worker #include <stdint.h>
28*8975f5c5SAndroid Build Coastguard Worker 
29*8975f5c5SAndroid Build Coastguard Worker /**************************************************************************/
30*8975f5c5SAndroid Build Coastguard Worker 
31*8975f5c5SAndroid Build Coastguard Worker /*
32*8975f5c5SAndroid Build Coastguard Worker  * Attribute Targets
33*8975f5c5SAndroid Build Coastguard Worker  *
34*8975f5c5SAndroid Build Coastguard Worker  * Targets define attribute groups.  For example, some attributes are only
35*8975f5c5SAndroid Build Coastguard Worker  * valid to set on a GPU, others are only valid when talking about an
36*8975f5c5SAndroid Build Coastguard Worker  * X Screen.  Target types are then what is used to identify the target
37*8975f5c5SAndroid Build Coastguard Worker  * group of the attribute you wish to set/query.
38*8975f5c5SAndroid Build Coastguard Worker  *
39*8975f5c5SAndroid Build Coastguard Worker  * Here are the supported target types:
40*8975f5c5SAndroid Build Coastguard Worker  */
41*8975f5c5SAndroid Build Coastguard Worker 
42*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TARGET_TYPE_X_SCREEN 0
43*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TARGET_TYPE_GPU 1
44*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TARGET_TYPE_FRAMELOCK 2
45*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TARGET_TYPE_VCSC 3 /* Visual Computing System */
46*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TARGET_TYPE_GVI 4
47*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TARGET_TYPE_COOLER 5 /* e.g., fan */
48*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TARGET_TYPE_THERMAL_SENSOR 6
49*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TARGET_TYPE_3D_VISION_PRO_TRANSCEIVER 7
50*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TARGET_TYPE_DISPLAY 8
51*8975f5c5SAndroid Build Coastguard Worker 
52*8975f5c5SAndroid Build Coastguard Worker /**************************************************************************/
53*8975f5c5SAndroid Build Coastguard Worker 
54*8975f5c5SAndroid Build Coastguard Worker /*
55*8975f5c5SAndroid Build Coastguard Worker  * Attributes
56*8975f5c5SAndroid Build Coastguard Worker  *
57*8975f5c5SAndroid Build Coastguard Worker  * Some attributes may only be read; some may require a display_mask
58*8975f5c5SAndroid Build Coastguard Worker  * argument and others may be valid only for specific target types.
59*8975f5c5SAndroid Build Coastguard Worker  * This information is encoded in the "permission" comment after each
60*8975f5c5SAndroid Build Coastguard Worker  * attribute #define, and can be queried at run time with
61*8975f5c5SAndroid Build Coastguard Worker  * XNVCTRLQueryValidAttributeValues() and/or
62*8975f5c5SAndroid Build Coastguard Worker  * XNVCTRLQueryValidTargetAttributeValues()
63*8975f5c5SAndroid Build Coastguard Worker  *
64*8975f5c5SAndroid Build Coastguard Worker  * Key to Integer Attribute "Permissions":
65*8975f5c5SAndroid Build Coastguard Worker  *
66*8975f5c5SAndroid Build Coastguard Worker  * R: The attribute is readable (in general, all attributes will be
67*8975f5c5SAndroid Build Coastguard Worker  *    readable)
68*8975f5c5SAndroid Build Coastguard Worker  *
69*8975f5c5SAndroid Build Coastguard Worker  * W: The attribute is writable (attributes may not be writable for
70*8975f5c5SAndroid Build Coastguard Worker  *    various reasons: they represent static system information, they
71*8975f5c5SAndroid Build Coastguard Worker  *    can only be changed by changing an XF86Config option, etc).
72*8975f5c5SAndroid Build Coastguard Worker  *
73*8975f5c5SAndroid Build Coastguard Worker  * D: The attribute requires the display mask argument.  The
74*8975f5c5SAndroid Build Coastguard Worker  *    attributes NV_CTRL_CONNECTED_DISPLAYS and NV_CTRL_ENABLED_DISPLAYS
75*8975f5c5SAndroid Build Coastguard Worker  *    will be a bitmask of what display devices are connected and what
76*8975f5c5SAndroid Build Coastguard Worker  *    display devices are enabled for use in X, respectively.  Each bit
77*8975f5c5SAndroid Build Coastguard Worker  *    in the bitmask represents a display device; it is these bits which
78*8975f5c5SAndroid Build Coastguard Worker  *    should be used as the display_mask when dealing with attributes
79*8975f5c5SAndroid Build Coastguard Worker  *    designated with "D" below.  For attributes that do not require the
80*8975f5c5SAndroid Build Coastguard Worker  *    display mask, the argument is ignored.
81*8975f5c5SAndroid Build Coastguard Worker  *
82*8975f5c5SAndroid Build Coastguard Worker  *    Alternatively, NV-CONTROL versions 1.27 and greater allow these
83*8975f5c5SAndroid Build Coastguard Worker  *    attributes to be accessed via display target types, in which case
84*8975f5c5SAndroid Build Coastguard Worker  *    the display_mask is ignored.
85*8975f5c5SAndroid Build Coastguard Worker  *
86*8975f5c5SAndroid Build Coastguard Worker  * G: The attribute may be queried using an NV_CTRL_TARGET_TYPE_GPU
87*8975f5c5SAndroid Build Coastguard Worker  *    target type via XNVCTRLQueryTargetAttribute().
88*8975f5c5SAndroid Build Coastguard Worker  *
89*8975f5c5SAndroid Build Coastguard Worker  * F: The attribute may be queried using an NV_CTRL_TARGET_TYPE_FRAMELOCK
90*8975f5c5SAndroid Build Coastguard Worker  *    target type via XNVCTRLQueryTargetAttribute().
91*8975f5c5SAndroid Build Coastguard Worker  *
92*8975f5c5SAndroid Build Coastguard Worker  * X: When Xinerama is enabled, this attribute is kept consistent across
93*8975f5c5SAndroid Build Coastguard Worker  *    all Physical X Screens;  assignment of this attribute will be
94*8975f5c5SAndroid Build Coastguard Worker  *    broadcast by the NVIDIA X Driver to all X Screens.
95*8975f5c5SAndroid Build Coastguard Worker  *
96*8975f5c5SAndroid Build Coastguard Worker  * V: The attribute may be queried using an NV_CTRL_TARGET_TYPE_VCSC
97*8975f5c5SAndroid Build Coastguard Worker  *    target type via XNVCTRLQueryTargetAttribute().
98*8975f5c5SAndroid Build Coastguard Worker  *
99*8975f5c5SAndroid Build Coastguard Worker  * I: The attribute may be queried using an NV_CTRL_TARGET_TYPE_GVI target type
100*8975f5c5SAndroid Build Coastguard Worker  *    via XNVCTRLQueryTargetAttribute().
101*8975f5c5SAndroid Build Coastguard Worker  *
102*8975f5c5SAndroid Build Coastguard Worker  * Q: The attribute is a 64-bit integer attribute;  use the 64-bit versions
103*8975f5c5SAndroid Build Coastguard Worker  *    of the appropriate query interfaces.
104*8975f5c5SAndroid Build Coastguard Worker  *
105*8975f5c5SAndroid Build Coastguard Worker  * C: The attribute may be queried using an NV_CTRL_TARGET_TYPE_COOLER target
106*8975f5c5SAndroid Build Coastguard Worker  *    type via XNVCTRLQueryTargetAttribute().
107*8975f5c5SAndroid Build Coastguard Worker  *
108*8975f5c5SAndroid Build Coastguard Worker  * S: The attribute may be queried using an NV_CTRL_TARGET_TYPE_THERMAL_SENSOR
109*8975f5c5SAndroid Build Coastguard Worker  *    target type via XNVCTRLQueryTargetAttribute().
110*8975f5c5SAndroid Build Coastguard Worker  *
111*8975f5c5SAndroid Build Coastguard Worker  * T: The attribute may be queried using an
112*8975f5c5SAndroid Build Coastguard Worker  *    NV_CTRL_TARGET_TYPE_3D_VISION_PRO_TRANSCEIVER target type
113*8975f5c5SAndroid Build Coastguard Worker  *    via XNVCTRLQueryTargetAttribute().
114*8975f5c5SAndroid Build Coastguard Worker  *
115*8975f5c5SAndroid Build Coastguard Worker  * NOTE: Unless mentioned otherwise, all attributes may be queried using
116*8975f5c5SAndroid Build Coastguard Worker  *       an NV_CTRL_TARGET_TYPE_X_SCREEN target type via
117*8975f5c5SAndroid Build Coastguard Worker  *       XNVCTRLQueryTargetAttribute().
118*8975f5c5SAndroid Build Coastguard Worker  */
119*8975f5c5SAndroid Build Coastguard Worker 
120*8975f5c5SAndroid Build Coastguard Worker /**************************************************************************/
121*8975f5c5SAndroid Build Coastguard Worker 
122*8975f5c5SAndroid Build Coastguard Worker /*
123*8975f5c5SAndroid Build Coastguard Worker  * Integer attributes:
124*8975f5c5SAndroid Build Coastguard Worker  *
125*8975f5c5SAndroid Build Coastguard Worker  * Integer attributes can be queried through the XNVCTRLQueryAttribute() and
126*8975f5c5SAndroid Build Coastguard Worker  * XNVCTRLQueryTargetAttribute() function calls.
127*8975f5c5SAndroid Build Coastguard Worker  *
128*8975f5c5SAndroid Build Coastguard Worker  * Integer attributes can be set through the XNVCTRLSetAttribute() and
129*8975f5c5SAndroid Build Coastguard Worker  * XNVCTRLSetTargetAttribute() function calls.
130*8975f5c5SAndroid Build Coastguard Worker  *
131*8975f5c5SAndroid Build Coastguard Worker  * Unless otherwise noted, all integer attributes can be queried/set
132*8975f5c5SAndroid Build Coastguard Worker  * using an NV_CTRL_TARGET_TYPE_X_SCREEN target.  Attributes that cannot
133*8975f5c5SAndroid Build Coastguard Worker  * take an NV_CTRL_TARGET_TYPE_X_SCREEN also cannot be queried/set through
134*8975f5c5SAndroid Build Coastguard Worker  * XNVCTRLQueryAttribute()/XNVCTRLSetAttribute() (Since these assume
135*8975f5c5SAndroid Build Coastguard Worker  * an X Screen target).
136*8975f5c5SAndroid Build Coastguard Worker  */
137*8975f5c5SAndroid Build Coastguard Worker 
138*8975f5c5SAndroid Build Coastguard Worker /*
139*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FLATPANEL_SCALING - not supported
140*8975f5c5SAndroid Build Coastguard Worker  */
141*8975f5c5SAndroid Build Coastguard Worker 
142*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_SCALING 2 /* RWDG */
143*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_SCALING_DEFAULT 0
144*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_SCALING_NATIVE 1
145*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_SCALING_SCALED 2
146*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_SCALING_CENTERED 3
147*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_SCALING_ASPECT_SCALED 4
148*8975f5c5SAndroid Build Coastguard Worker 
149*8975f5c5SAndroid Build Coastguard Worker /*
150*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FLATPANEL_DITHERING is deprecated; NV_CTRL_DITHERING should
151*8975f5c5SAndroid Build Coastguard Worker  * be used instead.
152*8975f5c5SAndroid Build Coastguard Worker  */
153*8975f5c5SAndroid Build Coastguard Worker 
154*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_DITHERING 3 /* RWDG */
155*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_DITHERING_DEFAULT 0
156*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_DITHERING_ENABLED 1
157*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_DITHERING_DISABLED 2
158*8975f5c5SAndroid Build Coastguard Worker 
159*8975f5c5SAndroid Build Coastguard Worker /*
160*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_DITHERING - the requested dithering configuration;
161*8975f5c5SAndroid Build Coastguard Worker  * possible values are:
162*8975f5c5SAndroid Build Coastguard Worker  *
163*8975f5c5SAndroid Build Coastguard Worker  * 0: auto     (the driver will decide when to dither)
164*8975f5c5SAndroid Build Coastguard Worker  * 1: enabled  (the driver will always dither when possible)
165*8975f5c5SAndroid Build Coastguard Worker  * 2: disabled (the driver will never dither)
166*8975f5c5SAndroid Build Coastguard Worker  */
167*8975f5c5SAndroid Build Coastguard Worker 
168*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DITHERING 3 /* RWDG */
169*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DITHERING_AUTO 0
170*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DITHERING_ENABLED 1
171*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DITHERING_DISABLED 2
172*8975f5c5SAndroid Build Coastguard Worker 
173*8975f5c5SAndroid Build Coastguard Worker /*
174*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_DIGITAL_VIBRANCE - sets the digital vibrance level for the
175*8975f5c5SAndroid Build Coastguard Worker  * specified display device.
176*8975f5c5SAndroid Build Coastguard Worker  */
177*8975f5c5SAndroid Build Coastguard Worker 
178*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DIGITAL_VIBRANCE 4 /* RWDG */
179*8975f5c5SAndroid Build Coastguard Worker 
180*8975f5c5SAndroid Build Coastguard Worker /*
181*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BUS_TYPE - returns the bus type through which the specified device
182*8975f5c5SAndroid Build Coastguard Worker  * is connected to the computer.
183*8975f5c5SAndroid Build Coastguard Worker  * When this attribute is queried on an X screen target, the bus type of the
184*8975f5c5SAndroid Build Coastguard Worker  * GPU driving the X screen is returned.
185*8975f5c5SAndroid Build Coastguard Worker  */
186*8975f5c5SAndroid Build Coastguard Worker 
187*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BUS_TYPE 5 /* R--GI */
188*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BUS_TYPE_AGP 0
189*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BUS_TYPE_PCI 1
190*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BUS_TYPE_PCI_EXPRESS 2
191*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BUS_TYPE_INTEGRATED 3
192*8975f5c5SAndroid Build Coastguard Worker 
193*8975f5c5SAndroid Build Coastguard Worker /*
194*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_VIDEO_RAM - returns the total amount of memory available
195*8975f5c5SAndroid Build Coastguard Worker  * to the specified GPU (or the GPU driving the specified X
196*8975f5c5SAndroid Build Coastguard Worker  * screen).  Note: if the GPU supports TurboCache(TM), the value
197*8975f5c5SAndroid Build Coastguard Worker  * reported may exceed the amount of video memory installed on the
198*8975f5c5SAndroid Build Coastguard Worker  * GPU.  The value reported for integrated GPUs may likewise exceed
199*8975f5c5SAndroid Build Coastguard Worker  * the amount of dedicated system memory set aside by the system
200*8975f5c5SAndroid Build Coastguard Worker  * BIOS for use by the integrated GPU.
201*8975f5c5SAndroid Build Coastguard Worker  */
202*8975f5c5SAndroid Build Coastguard Worker 
203*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_VIDEO_RAM 6 /* R--G */
204*8975f5c5SAndroid Build Coastguard Worker 
205*8975f5c5SAndroid Build Coastguard Worker /*
206*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_IRQ - returns the interrupt request line used by the specified
207*8975f5c5SAndroid Build Coastguard Worker  * device.
208*8975f5c5SAndroid Build Coastguard Worker  * When this attribute is queried on an X screen target, the IRQ of the GPU
209*8975f5c5SAndroid Build Coastguard Worker  * driving the X screen is returned.
210*8975f5c5SAndroid Build Coastguard Worker  */
211*8975f5c5SAndroid Build Coastguard Worker 
212*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_IRQ 7 /* R--GI */
213*8975f5c5SAndroid Build Coastguard Worker 
214*8975f5c5SAndroid Build Coastguard Worker /*
215*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_OPERATING_SYSTEM - returns the operating system on which
216*8975f5c5SAndroid Build Coastguard Worker  * the X server is running.
217*8975f5c5SAndroid Build Coastguard Worker  */
218*8975f5c5SAndroid Build Coastguard Worker 
219*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_OPERATING_SYSTEM 8 /* R--G */
220*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_OPERATING_SYSTEM_LINUX 0
221*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_OPERATING_SYSTEM_FREEBSD 1
222*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_OPERATING_SYSTEM_SUNOS 2
223*8975f5c5SAndroid Build Coastguard Worker 
224*8975f5c5SAndroid Build Coastguard Worker /*
225*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_SYNC_TO_VBLANK - enables sync to vblank for OpenGL clients.
226*8975f5c5SAndroid Build Coastguard Worker  * This setting is only applied to OpenGL clients that are started
227*8975f5c5SAndroid Build Coastguard Worker  * after this setting is applied.
228*8975f5c5SAndroid Build Coastguard Worker  */
229*8975f5c5SAndroid Build Coastguard Worker 
230*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SYNC_TO_VBLANK 9 /* RW-X */
231*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SYNC_TO_VBLANK_OFF 0
232*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SYNC_TO_VBLANK_ON 1
233*8975f5c5SAndroid Build Coastguard Worker 
234*8975f5c5SAndroid Build Coastguard Worker /*
235*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_LOG_ANISO - enables anisotropic filtering for OpenGL
236*8975f5c5SAndroid Build Coastguard Worker  * clients; on some NVIDIA hardware, this can only be enabled or
237*8975f5c5SAndroid Build Coastguard Worker  * disabled; on other hardware different levels of anisotropic
238*8975f5c5SAndroid Build Coastguard Worker  * filtering can be specified.  This setting is only applied to OpenGL
239*8975f5c5SAndroid Build Coastguard Worker  * clients that are started after this setting is applied.
240*8975f5c5SAndroid Build Coastguard Worker  */
241*8975f5c5SAndroid Build Coastguard Worker 
242*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_LOG_ANISO 10 /* RW-X */
243*8975f5c5SAndroid Build Coastguard Worker 
244*8975f5c5SAndroid Build Coastguard Worker /*
245*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FSAA_MODE - the FSAA setting for OpenGL clients; possible
246*8975f5c5SAndroid Build Coastguard Worker  * FSAA modes:
247*8975f5c5SAndroid Build Coastguard Worker  *
248*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FSAA_MODE_2x     "2x Bilinear Multisampling"
249*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FSAA_MODE_2x_5t  "2x Quincunx Multisampling"
250*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FSAA_MODE_15x15  "1.5 x 1.5 Supersampling"
251*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FSAA_MODE_2x2    "2 x 2 Supersampling"
252*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FSAA_MODE_4x     "4x Bilinear Multisampling"
253*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FSAA_MODE_4x_9t  "4x Gaussian Multisampling"
254*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FSAA_MODE_8x     "2x Bilinear Multisampling by 4x Supersampling"
255*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FSAA_MODE_16x    "4x Bilinear Multisampling by 4x Supersampling"
256*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FSAA_MODE_8xS    "4x Multisampling by 2x Supersampling"
257*8975f5c5SAndroid Build Coastguard Worker  *
258*8975f5c5SAndroid Build Coastguard Worker  * This setting is only applied to OpenGL clients that are started
259*8975f5c5SAndroid Build Coastguard Worker  * after this setting is applied.
260*8975f5c5SAndroid Build Coastguard Worker  */
261*8975f5c5SAndroid Build Coastguard Worker 
262*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE 11 /* RW-X */
263*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_NONE 0
264*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_2x 1
265*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_2x_5t 2
266*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_15x15 3
267*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_2x2 4
268*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_4x 5
269*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_4x_9t 6
270*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_8x 7
271*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_16x 8
272*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_8xS 9
273*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_8xQ 10
274*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_16xS 11
275*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_16xQ 12
276*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_32xS 13
277*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_32x 14
278*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_64xS 15
279*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_MODE_MAX NV_CTRL_FSAA_MODE_64xS
280*8975f5c5SAndroid Build Coastguard Worker 
281*8975f5c5SAndroid Build Coastguard Worker /*
282*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_TEXTURE_SHARPEN - enables texture sharpening for OpenGL
283*8975f5c5SAndroid Build Coastguard Worker  * clients.  This setting is only applied to OpenGL clients that are
284*8975f5c5SAndroid Build Coastguard Worker  * started after this setting is applied.
285*8975f5c5SAndroid Build Coastguard Worker  */
286*8975f5c5SAndroid Build Coastguard Worker 
287*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TEXTURE_SHARPEN 12 /* RW-X */
288*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TEXTURE_SHARPEN_OFF 0
289*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TEXTURE_SHARPEN_ON 1
290*8975f5c5SAndroid Build Coastguard Worker 
291*8975f5c5SAndroid Build Coastguard Worker /*
292*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_UBB - returns whether UBB is enabled for the specified X
293*8975f5c5SAndroid Build Coastguard Worker  * screen.
294*8975f5c5SAndroid Build Coastguard Worker  */
295*8975f5c5SAndroid Build Coastguard Worker 
296*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_UBB 13 /* R-- */
297*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_UBB_OFF 0
298*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_UBB_ON 1
299*8975f5c5SAndroid Build Coastguard Worker 
300*8975f5c5SAndroid Build Coastguard Worker /*
301*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_OVERLAY - returns whether the RGB overlay is enabled for
302*8975f5c5SAndroid Build Coastguard Worker  * the specified X screen.
303*8975f5c5SAndroid Build Coastguard Worker  */
304*8975f5c5SAndroid Build Coastguard Worker 
305*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_OVERLAY 14 /* R-- */
306*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_OVERLAY_OFF 0
307*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_OVERLAY_ON 1
308*8975f5c5SAndroid Build Coastguard Worker 
309*8975f5c5SAndroid Build Coastguard Worker /*
310*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STEREO - returns whether stereo (and what type) is enabled
311*8975f5c5SAndroid Build Coastguard Worker  * for the specified X screen.
312*8975f5c5SAndroid Build Coastguard Worker  */
313*8975f5c5SAndroid Build Coastguard Worker 
314*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO 16 /* R-- */
315*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO_OFF 0
316*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO_DDC 1
317*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO_BLUELINE 2
318*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO_DIN 3
319*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO_PASSIVE_EYE_PER_DPY 4
320*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO_VERTICAL_INTERLACED 5
321*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO_COLOR_INTERLACED 6
322*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO_HORIZONTAL_INTERLACED 7
323*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO_CHECKERBOARD_PATTERN 8
324*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO_INVERSE_CHECKERBOARD_PATTERN 9
325*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO_3D_VISION 10
326*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO_3D_VISION_PRO 11
327*8975f5c5SAndroid Build Coastguard Worker 
328*8975f5c5SAndroid Build Coastguard Worker /*
329*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_EMULATE - controls OpenGL software emulation of future
330*8975f5c5SAndroid Build Coastguard Worker  * NVIDIA GPUs.
331*8975f5c5SAndroid Build Coastguard Worker  */
332*8975f5c5SAndroid Build Coastguard Worker 
333*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_EMULATE 17 /* RW- */
334*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_EMULATE_NONE 0
335*8975f5c5SAndroid Build Coastguard Worker 
336*8975f5c5SAndroid Build Coastguard Worker /*
337*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_TWINVIEW - returns whether TwinView is enabled for the
338*8975f5c5SAndroid Build Coastguard Worker  * specified X screen.
339*8975f5c5SAndroid Build Coastguard Worker  */
340*8975f5c5SAndroid Build Coastguard Worker 
341*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TWINVIEW 18 /* R-- */
342*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TWINVIEW_NOT_ENABLED 0
343*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TWINVIEW_ENABLED 1
344*8975f5c5SAndroid Build Coastguard Worker 
345*8975f5c5SAndroid Build Coastguard Worker /*
346*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_CONNECTED_DISPLAYS - returns a display mask indicating the last
347*8975f5c5SAndroid Build Coastguard Worker  * cached state of the display devices connected to the GPU or GPU driving
348*8975f5c5SAndroid Build Coastguard Worker  * the specified X screen.
349*8975f5c5SAndroid Build Coastguard Worker  *
350*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
351*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target.
352*8975f5c5SAndroid Build Coastguard Worker  */
353*8975f5c5SAndroid Build Coastguard Worker 
354*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CONNECTED_DISPLAYS 19 /* R--G */
355*8975f5c5SAndroid Build Coastguard Worker 
356*8975f5c5SAndroid Build Coastguard Worker /*
357*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_ENABLED_DISPLAYS - returns a display mask indicating what
358*8975f5c5SAndroid Build Coastguard Worker  * display devices are enabled for use on the specified X screen or
359*8975f5c5SAndroid Build Coastguard Worker  * GPU.
360*8975f5c5SAndroid Build Coastguard Worker  *
361*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
362*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target.
363*8975f5c5SAndroid Build Coastguard Worker  */
364*8975f5c5SAndroid Build Coastguard Worker 
365*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_ENABLED_DISPLAYS 20 /* R--G */
366*8975f5c5SAndroid Build Coastguard Worker 
367*8975f5c5SAndroid Build Coastguard Worker /**************************************************************************/
368*8975f5c5SAndroid Build Coastguard Worker /*
369*8975f5c5SAndroid Build Coastguard Worker  * Integer attributes specific to configuring Frame Lock on boards that
370*8975f5c5SAndroid Build Coastguard Worker  * support it.
371*8975f5c5SAndroid Build Coastguard Worker  */
372*8975f5c5SAndroid Build Coastguard Worker 
373*8975f5c5SAndroid Build Coastguard Worker /*
374*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK - returns whether the underlying GPU supports
375*8975f5c5SAndroid Build Coastguard Worker  * Frame Lock.  All of the other frame lock attributes are only
376*8975f5c5SAndroid Build Coastguard Worker  * applicable if NV_CTRL_FRAMELOCK is _SUPPORTED.
377*8975f5c5SAndroid Build Coastguard Worker  *
378*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
379*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target.
380*8975f5c5SAndroid Build Coastguard Worker  */
381*8975f5c5SAndroid Build Coastguard Worker 
382*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK 21 /* R--G */
383*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_NOT_SUPPORTED 0
384*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SUPPORTED 1
385*8975f5c5SAndroid Build Coastguard Worker 
386*8975f5c5SAndroid Build Coastguard Worker /*
387*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_MASTER - get/set which display device to use
388*8975f5c5SAndroid Build Coastguard Worker  * as the frame lock master for the entire sync group.  Note that only
389*8975f5c5SAndroid Build Coastguard Worker  * one node in the sync group should be configured as the master.
390*8975f5c5SAndroid Build Coastguard Worker  *
391*8975f5c5SAndroid Build Coastguard Worker  * This attribute can only be queried through XNVCTRLQueryTargetAttribute()
392*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU target.  This attribute cannot be
393*8975f5c5SAndroid Build Coastguard Worker  * queried using a NV_CTRL_TARGET_TYPE_X_SCREEN.
394*8975f5c5SAndroid Build Coastguard Worker  */
395*8975f5c5SAndroid Build Coastguard Worker 
396*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_MASTER 22 /* RW-G */
397*8975f5c5SAndroid Build Coastguard Worker 
398*8975f5c5SAndroid Build Coastguard Worker /* These are deprecated.  NV_CTRL_FRAMELOCK_MASTER now takes and
399*8975f5c5SAndroid Build Coastguard Worker    returns a display mask as value. */
400*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_MASTER_FALSE 0
401*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_MASTER_TRUE 1
402*8975f5c5SAndroid Build Coastguard Worker 
403*8975f5c5SAndroid Build Coastguard Worker /*
404*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_POLARITY - sync either to the rising edge of the
405*8975f5c5SAndroid Build Coastguard Worker  * frame lock pulse, the falling edge of the frame lock pulse or both.
406*8975f5c5SAndroid Build Coastguard Worker  *
407*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
408*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN
409*8975f5c5SAndroid Build Coastguard Worker  * target.
410*8975f5c5SAndroid Build Coastguard Worker  */
411*8975f5c5SAndroid Build Coastguard Worker 
412*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_POLARITY 23 /* RW-F */
413*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_POLARITY_RISING_EDGE 0x1
414*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_POLARITY_FALLING_EDGE 0x2
415*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_POLARITY_BOTH_EDGES 0x3
416*8975f5c5SAndroid Build Coastguard Worker 
417*8975f5c5SAndroid Build Coastguard Worker /*
418*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_SYNC_DELAY - delay between the frame lock pulse
419*8975f5c5SAndroid Build Coastguard Worker  * and the GPU sync.  This value must be multiplied by
420*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_SYNC_DELAY_RESOLUTION to determine the sync delay in
421*8975f5c5SAndroid Build Coastguard Worker  * nanoseconds.
422*8975f5c5SAndroid Build Coastguard Worker  *
423*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
424*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN
425*8975f5c5SAndroid Build Coastguard Worker  * target.
426*8975f5c5SAndroid Build Coastguard Worker  *
427*8975f5c5SAndroid Build Coastguard Worker  * USAGE NODE: NV_CTRL_FRAMELOCK_SYNC_DELAY_MAX and
428*8975f5c5SAndroid Build Coastguard Worker  *             NV_CTRL_FRAMELOCK_SYNC_DELAY_FACTOR are deprecated.
429*8975f5c5SAndroid Build Coastguard Worker  *             The Sync Delay _MAX and _FACTOR are different for different
430*8975f5c5SAndroid Build Coastguard Worker  *             GSync products and so, to be correct, the valid values for
431*8975f5c5SAndroid Build Coastguard Worker  *             NV_CTRL_FRAMELOCK_SYNC_DELAY must be queried to get the range
432*8975f5c5SAndroid Build Coastguard Worker  *             of acceptable sync delay values, and
433*8975f5c5SAndroid Build Coastguard Worker  *             NV_CTRL_FRAMELOCK_SYNC_DELAY_RESOLUTION must be queried to
434*8975f5c5SAndroid Build Coastguard Worker  *             obtain the correct factor.
435*8975f5c5SAndroid Build Coastguard Worker  */
436*8975f5c5SAndroid Build Coastguard Worker 
437*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SYNC_DELAY 24           /* RW-F */
438*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SYNC_DELAY_MAX 2047     // deprecated
439*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SYNC_DELAY_FACTOR 7.81  // deprecated
440*8975f5c5SAndroid Build Coastguard Worker 
441*8975f5c5SAndroid Build Coastguard Worker /*
442*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_SYNC_INTERVAL - how many house sync pulses
443*8975f5c5SAndroid Build Coastguard Worker  * between the frame lock sync generation (0 == sync every house sync);
444*8975f5c5SAndroid Build Coastguard Worker  * this only applies to the master when receiving house sync.
445*8975f5c5SAndroid Build Coastguard Worker  *
446*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
447*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN
448*8975f5c5SAndroid Build Coastguard Worker  * target.
449*8975f5c5SAndroid Build Coastguard Worker  */
450*8975f5c5SAndroid Build Coastguard Worker 
451*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SYNC_INTERVAL 25 /* RW-F */
452*8975f5c5SAndroid Build Coastguard Worker 
453*8975f5c5SAndroid Build Coastguard Worker /*
454*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_PORT0_STATUS - status of the rj45 port0.
455*8975f5c5SAndroid Build Coastguard Worker  *
456*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
457*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN
458*8975f5c5SAndroid Build Coastguard Worker  * target.
459*8975f5c5SAndroid Build Coastguard Worker  */
460*8975f5c5SAndroid Build Coastguard Worker 
461*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_PORT0_STATUS 26 /* R--F */
462*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_PORT0_STATUS_INPUT 0
463*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_PORT0_STATUS_OUTPUT 1
464*8975f5c5SAndroid Build Coastguard Worker 
465*8975f5c5SAndroid Build Coastguard Worker /*
466*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_PORT1_STATUS - status of the rj45 port1.
467*8975f5c5SAndroid Build Coastguard Worker  *
468*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
469*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN
470*8975f5c5SAndroid Build Coastguard Worker  * target.
471*8975f5c5SAndroid Build Coastguard Worker  */
472*8975f5c5SAndroid Build Coastguard Worker 
473*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_PORT1_STATUS 27 /* R--F */
474*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_PORT1_STATUS_INPUT 0
475*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_PORT1_STATUS_OUTPUT 1
476*8975f5c5SAndroid Build Coastguard Worker 
477*8975f5c5SAndroid Build Coastguard Worker /*
478*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_HOUSE_STATUS - returns whether or not the house
479*8975f5c5SAndroid Build Coastguard Worker  * sync signal was detected on the BNC connector of the frame lock
480*8975f5c5SAndroid Build Coastguard Worker  * board.
481*8975f5c5SAndroid Build Coastguard Worker  *
482*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
483*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN
484*8975f5c5SAndroid Build Coastguard Worker  * target.
485*8975f5c5SAndroid Build Coastguard Worker  */
486*8975f5c5SAndroid Build Coastguard Worker 
487*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_HOUSE_STATUS 28 /* R--F */
488*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_HOUSE_STATUS_NOT_DETECTED 0
489*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_HOUSE_STATUS_DETECTED 1
490*8975f5c5SAndroid Build Coastguard Worker 
491*8975f5c5SAndroid Build Coastguard Worker /*
492*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_SYNC - enable/disable the syncing of display
493*8975f5c5SAndroid Build Coastguard Worker  * devices to the frame lock pulse as specified by previous calls to
494*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_MASTER and NV_CTRL_FRAMELOCK_SLAVES.
495*8975f5c5SAndroid Build Coastguard Worker  *
496*8975f5c5SAndroid Build Coastguard Worker  * This attribute can only be queried through XNVCTRLQueryTargetAttribute()
497*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU target.  This attribute cannot be
498*8975f5c5SAndroid Build Coastguard Worker  * queried using a NV_CTRL_TARGET_TYPE_X_SCREEN.
499*8975f5c5SAndroid Build Coastguard Worker  */
500*8975f5c5SAndroid Build Coastguard Worker 
501*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SYNC 29 /* RW-G */
502*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SYNC_DISABLE 0
503*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SYNC_ENABLE 1
504*8975f5c5SAndroid Build Coastguard Worker 
505*8975f5c5SAndroid Build Coastguard Worker /*
506*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_SYNC_READY - reports whether a frame lock
507*8975f5c5SAndroid Build Coastguard Worker  * board is receiving sync (regardless of whether or not any display
508*8975f5c5SAndroid Build Coastguard Worker  * devices are using the sync).
509*8975f5c5SAndroid Build Coastguard Worker  *
510*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
511*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN
512*8975f5c5SAndroid Build Coastguard Worker  * target.
513*8975f5c5SAndroid Build Coastguard Worker  */
514*8975f5c5SAndroid Build Coastguard Worker 
515*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SYNC_READY 30 /* R--F */
516*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SYNC_READY_FALSE 0
517*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SYNC_READY_TRUE 1
518*8975f5c5SAndroid Build Coastguard Worker 
519*8975f5c5SAndroid Build Coastguard Worker /*
520*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_STEREO_SYNC - this indicates that the GPU stereo
521*8975f5c5SAndroid Build Coastguard Worker  * signal is in sync with the frame lock stereo signal.
522*8975f5c5SAndroid Build Coastguard Worker  *
523*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
524*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN
525*8975f5c5SAndroid Build Coastguard Worker  * target.
526*8975f5c5SAndroid Build Coastguard Worker  */
527*8975f5c5SAndroid Build Coastguard Worker 
528*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_STEREO_SYNC 31 /* R--G */
529*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_STEREO_SYNC_FALSE 0
530*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_STEREO_SYNC_TRUE 1
531*8975f5c5SAndroid Build Coastguard Worker 
532*8975f5c5SAndroid Build Coastguard Worker /*
533*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_TEST_SIGNAL - to test the connections in the sync
534*8975f5c5SAndroid Build Coastguard Worker  * group, tell the master to enable a test signal, then query port[01]
535*8975f5c5SAndroid Build Coastguard Worker  * status and sync_ready on all slaves.  When done, tell the master to
536*8975f5c5SAndroid Build Coastguard Worker  * disable the test signal.  Test signal should only be manipulated
537*8975f5c5SAndroid Build Coastguard Worker  * while NV_CTRL_FRAMELOCK_SYNC is enabled.
538*8975f5c5SAndroid Build Coastguard Worker  *
539*8975f5c5SAndroid Build Coastguard Worker  * The TEST_SIGNAL is also used to reset the Universal Frame Count (as
540*8975f5c5SAndroid Build Coastguard Worker  * returned by the glXQueryFrameCountNV() function in the
541*8975f5c5SAndroid Build Coastguard Worker  * GLX_NV_swap_group extension).  Note: for best accuracy of the
542*8975f5c5SAndroid Build Coastguard Worker  * Universal Frame Count, it is recommended to toggle the TEST_SIGNAL
543*8975f5c5SAndroid Build Coastguard Worker  * on and off after enabling frame lock.
544*8975f5c5SAndroid Build Coastguard Worker  *
545*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
546*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target.
547*8975f5c5SAndroid Build Coastguard Worker  */
548*8975f5c5SAndroid Build Coastguard Worker 
549*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_TEST_SIGNAL 32 /* RW-G */
550*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_TEST_SIGNAL_DISABLE 0
551*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_TEST_SIGNAL_ENABLE 1
552*8975f5c5SAndroid Build Coastguard Worker 
553*8975f5c5SAndroid Build Coastguard Worker /*
554*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_ETHERNET_DETECTED - The frame lock boards are
555*8975f5c5SAndroid Build Coastguard Worker  * cabled together using regular cat5 cable, connecting to rj45 ports
556*8975f5c5SAndroid Build Coastguard Worker  * on the backplane of the card.  There is some concern that users may
557*8975f5c5SAndroid Build Coastguard Worker  * think these are ethernet ports and connect them to a
558*8975f5c5SAndroid Build Coastguard Worker  * router/hub/etc.  The hardware can detect this and will shut off to
559*8975f5c5SAndroid Build Coastguard Worker  * prevent damage (either to itself or to the router).
560*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_ETHERNET_DETECTED may be called to find out if
561*8975f5c5SAndroid Build Coastguard Worker  * ethernet is connected to one of the rj45 ports.  An appropriate
562*8975f5c5SAndroid Build Coastguard Worker  * error message should then be displayed.  The _PORT0 and _PORT1
563*8975f5c5SAndroid Build Coastguard Worker  * values may be or'ed together.
564*8975f5c5SAndroid Build Coastguard Worker  *
565*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
566*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN
567*8975f5c5SAndroid Build Coastguard Worker  * target.
568*8975f5c5SAndroid Build Coastguard Worker  */
569*8975f5c5SAndroid Build Coastguard Worker 
570*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_ETHERNET_DETECTED 33 /* R--F */
571*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_ETHERNET_DETECTED_NONE 0
572*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_ETHERNET_DETECTED_PORT0 0x1
573*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_ETHERNET_DETECTED_PORT1 0x2
574*8975f5c5SAndroid Build Coastguard Worker 
575*8975f5c5SAndroid Build Coastguard Worker /*
576*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_VIDEO_MODE - get/set what video mode is used
577*8975f5c5SAndroid Build Coastguard Worker  * to interperate the house sync signal.  This should only be set
578*8975f5c5SAndroid Build Coastguard Worker  * on the master.
579*8975f5c5SAndroid Build Coastguard Worker  *
580*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
581*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN
582*8975f5c5SAndroid Build Coastguard Worker  * target.
583*8975f5c5SAndroid Build Coastguard Worker  */
584*8975f5c5SAndroid Build Coastguard Worker 
585*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_VIDEO_MODE 34 /* RW-F */
586*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_VIDEO_MODE_NONE 0
587*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_VIDEO_MODE_TTL 1
588*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_VIDEO_MODE_NTSCPALSECAM 2
589*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_VIDEO_MODE_HDTV 3
590*8975f5c5SAndroid Build Coastguard Worker 
591*8975f5c5SAndroid Build Coastguard Worker /*
592*8975f5c5SAndroid Build Coastguard Worker  * During FRAMELOCK bring-up, the above values were redefined to
593*8975f5c5SAndroid Build Coastguard Worker  * these:
594*8975f5c5SAndroid Build Coastguard Worker  */
595*8975f5c5SAndroid Build Coastguard Worker 
596*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_VIDEO_MODE_COMPOSITE_AUTO 0
597*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_VIDEO_MODE_TTL 1
598*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_VIDEO_MODE_COMPOSITE_BI_LEVEL 2
599*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_VIDEO_MODE_COMPOSITE_TRI_LEVEL 3
600*8975f5c5SAndroid Build Coastguard Worker 
601*8975f5c5SAndroid Build Coastguard Worker /*
602*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_SYNC_RATE - this is the refresh rate that the
603*8975f5c5SAndroid Build Coastguard Worker  * frame lock board is sending to the GPU, in milliHz.
604*8975f5c5SAndroid Build Coastguard Worker  *
605*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
606*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN
607*8975f5c5SAndroid Build Coastguard Worker  * target.
608*8975f5c5SAndroid Build Coastguard Worker  */
609*8975f5c5SAndroid Build Coastguard Worker 
610*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SYNC_RATE 35 /* R--F */
611*8975f5c5SAndroid Build Coastguard Worker 
612*8975f5c5SAndroid Build Coastguard Worker /**************************************************************************/
613*8975f5c5SAndroid Build Coastguard Worker 
614*8975f5c5SAndroid Build Coastguard Worker /*
615*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FORCE_GENERIC_CPU - inhibit the use of CPU specific
616*8975f5c5SAndroid Build Coastguard Worker  * features such as MMX, SSE, or 3DNOW! for OpenGL clients; this
617*8975f5c5SAndroid Build Coastguard Worker  * option may result in performance loss, but may be useful in
618*8975f5c5SAndroid Build Coastguard Worker  * conjunction with software such as the Valgrind memory debugger.
619*8975f5c5SAndroid Build Coastguard Worker  * This setting is only applied to OpenGL clients that are started
620*8975f5c5SAndroid Build Coastguard Worker  * after this setting is applied.
621*8975f5c5SAndroid Build Coastguard Worker  *
622*8975f5c5SAndroid Build Coastguard Worker  * USAGE NOTE: This attribute is deprecated. CPU compatibility is now
623*8975f5c5SAndroid Build Coastguard Worker  *             checked each time during initialization.
624*8975f5c5SAndroid Build Coastguard Worker  */
625*8975f5c5SAndroid Build Coastguard Worker 
626*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FORCE_GENERIC_CPU 37 /* RW-X */
627*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FORCE_GENERIC_CPU_DISABLE 0
628*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FORCE_GENERIC_CPU_ENABLE 1
629*8975f5c5SAndroid Build Coastguard Worker 
630*8975f5c5SAndroid Build Coastguard Worker /*
631*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_OPENGL_AA_LINE_GAMMA - for OpenGL clients, allow
632*8975f5c5SAndroid Build Coastguard Worker  * Gamma-corrected antialiased lines to consider variances in the
633*8975f5c5SAndroid Build Coastguard Worker  * color display capabilities of output devices when rendering smooth
634*8975f5c5SAndroid Build Coastguard Worker  * lines.  Only available on recent Quadro GPUs.  This setting is only
635*8975f5c5SAndroid Build Coastguard Worker  * applied to OpenGL clients that are started after this setting is
636*8975f5c5SAndroid Build Coastguard Worker  * applied.
637*8975f5c5SAndroid Build Coastguard Worker  */
638*8975f5c5SAndroid Build Coastguard Worker 
639*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_OPENGL_AA_LINE_GAMMA 38 /* RW-X */
640*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_OPENGL_AA_LINE_GAMMA_DISABLE 0
641*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_OPENGL_AA_LINE_GAMMA_ENABLE 1
642*8975f5c5SAndroid Build Coastguard Worker 
643*8975f5c5SAndroid Build Coastguard Worker /*
644*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_TIMING - this is TRUE when the gpu is both receiving
645*8975f5c5SAndroid Build Coastguard Worker  * and locked to an input timing signal. Timing information may come from
646*8975f5c5SAndroid Build Coastguard Worker  * the following places: Another frame lock device that is set to master,
647*8975f5c5SAndroid Build Coastguard Worker  * the house sync signal, or the GPU's internal timing from a display
648*8975f5c5SAndroid Build Coastguard Worker  * device.
649*8975f5c5SAndroid Build Coastguard Worker  *
650*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
651*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target.
652*8975f5c5SAndroid Build Coastguard Worker  */
653*8975f5c5SAndroid Build Coastguard Worker 
654*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_TIMING 39 /* R--G */
655*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_TIMING_FALSE 0
656*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_TIMING_TRUE 1
657*8975f5c5SAndroid Build Coastguard Worker 
658*8975f5c5SAndroid Build Coastguard Worker /*
659*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FLIPPING_ALLOWED - when TRUE, OpenGL will swap by flipping
660*8975f5c5SAndroid Build Coastguard Worker  * when possible; when FALSE, OpenGL will alway swap by blitting.
661*8975f5c5SAndroid Build Coastguard Worker  */
662*8975f5c5SAndroid Build Coastguard Worker 
663*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLIPPING_ALLOWED 40 /* RW-X */
664*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLIPPING_ALLOWED_FALSE 0
665*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLIPPING_ALLOWED_TRUE 1
666*8975f5c5SAndroid Build Coastguard Worker 
667*8975f5c5SAndroid Build Coastguard Worker /*
668*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_ARCHITECTURE - returns the architecture on which the X server is
669*8975f5c5SAndroid Build Coastguard Worker  * running.
670*8975f5c5SAndroid Build Coastguard Worker  */
671*8975f5c5SAndroid Build Coastguard Worker 
672*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_ARCHITECTURE 41 /* R-- */
673*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_ARCHITECTURE_X86 0
674*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_ARCHITECTURE_X86_64 1
675*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_ARCHITECTURE_IA64 2
676*8975f5c5SAndroid Build Coastguard Worker 
677*8975f5c5SAndroid Build Coastguard Worker /*
678*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_TEXTURE_CLAMPING - texture clamping mode in OpenGL.  By
679*8975f5c5SAndroid Build Coastguard Worker  * default, _SPEC is used, which forces OpenGL texture clamping to
680*8975f5c5SAndroid Build Coastguard Worker  * conform with the OpenGL specification.  _EDGE forces NVIDIA's
681*8975f5c5SAndroid Build Coastguard Worker  * OpenGL implementation to remap GL_CLAMP to GL_CLAMP_TO_EDGE,
682*8975f5c5SAndroid Build Coastguard Worker  * which is not strictly conformant, but some applications rely on
683*8975f5c5SAndroid Build Coastguard Worker  * the non-conformant behavior.
684*8975f5c5SAndroid Build Coastguard Worker  */
685*8975f5c5SAndroid Build Coastguard Worker 
686*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TEXTURE_CLAMPING 42 /* RW-X */
687*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TEXTURE_CLAMPING_EDGE 0
688*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TEXTURE_CLAMPING_SPEC 1
689*8975f5c5SAndroid Build Coastguard Worker 
690*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURSOR_SHADOW 43 /* RW- */
691*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURSOR_SHADOW_DISABLE 0
692*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURSOR_SHADOW_ENABLE 1
693*8975f5c5SAndroid Build Coastguard Worker 
694*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURSOR_SHADOW_ALPHA 44 /* RW- */
695*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURSOR_SHADOW_RED 45   /* RW- */
696*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURSOR_SHADOW_GREEN 46 /* RW- */
697*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURSOR_SHADOW_BLUE 47  /* RW- */
698*8975f5c5SAndroid Build Coastguard Worker 
699*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURSOR_SHADOW_X_OFFSET 48 /* RW- */
700*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURSOR_SHADOW_Y_OFFSET 49 /* RW- */
701*8975f5c5SAndroid Build Coastguard Worker 
702*8975f5c5SAndroid Build Coastguard Worker /*
703*8975f5c5SAndroid Build Coastguard Worker  * When Application Control for FSAA is enabled, then what the
704*8975f5c5SAndroid Build Coastguard Worker  * application requests is used, and NV_CTRL_FSAA_MODE is ignored.  If
705*8975f5c5SAndroid Build Coastguard Worker  * this is disabled, then any application setting is overridden with
706*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FSAA_MODE
707*8975f5c5SAndroid Build Coastguard Worker  */
708*8975f5c5SAndroid Build Coastguard Worker 
709*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_APPLICATION_CONTROLLED 50 /* RW-X */
710*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_APPLICATION_CONTROLLED_ENABLED 1
711*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_APPLICATION_CONTROLLED_DISABLED 0
712*8975f5c5SAndroid Build Coastguard Worker 
713*8975f5c5SAndroid Build Coastguard Worker /*
714*8975f5c5SAndroid Build Coastguard Worker  * When Application Control for LogAniso is enabled, then what the
715*8975f5c5SAndroid Build Coastguard Worker  * application requests is used, and NV_CTRL_LOG_ANISO is ignored.  If
716*8975f5c5SAndroid Build Coastguard Worker  * this is disabled, then any application setting is overridden with
717*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_LOG_ANISO
718*8975f5c5SAndroid Build Coastguard Worker  */
719*8975f5c5SAndroid Build Coastguard Worker 
720*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_LOG_ANISO_APPLICATION_CONTROLLED 51 /* RW-X */
721*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_LOG_ANISO_APPLICATION_CONTROLLED_ENABLED 1
722*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_LOG_ANISO_APPLICATION_CONTROLLED_DISABLED 0
723*8975f5c5SAndroid Build Coastguard Worker 
724*8975f5c5SAndroid Build Coastguard Worker /*
725*8975f5c5SAndroid Build Coastguard Worker  * IMAGE_SHARPENING adjusts the sharpness of the display's image
726*8975f5c5SAndroid Build Coastguard Worker  * quality by amplifying high frequency content.  Valid values will
727*8975f5c5SAndroid Build Coastguard Worker  * normally be in the range [0,32).  Only available on GeForceFX or
728*8975f5c5SAndroid Build Coastguard Worker  * newer.
729*8975f5c5SAndroid Build Coastguard Worker  */
730*8975f5c5SAndroid Build Coastguard Worker 
731*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_IMAGE_SHARPENING 52 /* RWDG */
732*8975f5c5SAndroid Build Coastguard Worker 
733*8975f5c5SAndroid Build Coastguard Worker /*
734*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_TV_OVERSCAN adjusts the amount of overscan on the specified
735*8975f5c5SAndroid Build Coastguard Worker  * display device.
736*8975f5c5SAndroid Build Coastguard Worker  */
737*8975f5c5SAndroid Build Coastguard Worker 
738*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TV_OVERSCAN 53 /* RWDG */
739*8975f5c5SAndroid Build Coastguard Worker 
740*8975f5c5SAndroid Build Coastguard Worker /*
741*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_TV_FLICKER_FILTER adjusts the amount of flicker filter on
742*8975f5c5SAndroid Build Coastguard Worker  * the specified display device.
743*8975f5c5SAndroid Build Coastguard Worker  */
744*8975f5c5SAndroid Build Coastguard Worker 
745*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TV_FLICKER_FILTER 54 /* RWDG */
746*8975f5c5SAndroid Build Coastguard Worker 
747*8975f5c5SAndroid Build Coastguard Worker /*
748*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_TV_BRIGHTNESS adjusts the amount of brightness on the
749*8975f5c5SAndroid Build Coastguard Worker  * specified display device.
750*8975f5c5SAndroid Build Coastguard Worker  */
751*8975f5c5SAndroid Build Coastguard Worker 
752*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TV_BRIGHTNESS 55 /* RWDG */
753*8975f5c5SAndroid Build Coastguard Worker 
754*8975f5c5SAndroid Build Coastguard Worker /*
755*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_TV_HUE adjusts the amount of hue on the specified display
756*8975f5c5SAndroid Build Coastguard Worker  * device.
757*8975f5c5SAndroid Build Coastguard Worker  */
758*8975f5c5SAndroid Build Coastguard Worker 
759*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TV_HUE 56 /* RWDG */
760*8975f5c5SAndroid Build Coastguard Worker 
761*8975f5c5SAndroid Build Coastguard Worker /*
762*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_TV_CONTRAST adjusts the amount of contrast on the specified
763*8975f5c5SAndroid Build Coastguard Worker  * display device.
764*8975f5c5SAndroid Build Coastguard Worker  */
765*8975f5c5SAndroid Build Coastguard Worker 
766*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TV_CONTRAST 57 /* RWDG */
767*8975f5c5SAndroid Build Coastguard Worker 
768*8975f5c5SAndroid Build Coastguard Worker /*
769*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_TV_SATURATION adjusts the amount of saturation on the
770*8975f5c5SAndroid Build Coastguard Worker  * specified display device.
771*8975f5c5SAndroid Build Coastguard Worker  */
772*8975f5c5SAndroid Build Coastguard Worker 
773*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TV_SATURATION 58 /* RWDG */
774*8975f5c5SAndroid Build Coastguard Worker 
775*8975f5c5SAndroid Build Coastguard Worker /*
776*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_TV_RESET_SETTINGS - this write-only attribute can be used
777*8975f5c5SAndroid Build Coastguard Worker  * to request that all TV Settings be reset to their default values;
778*8975f5c5SAndroid Build Coastguard Worker  * typical usage would be that this attribute be sent, and then all
779*8975f5c5SAndroid Build Coastguard Worker  * the TV attributes be queried to retrieve their new values.
780*8975f5c5SAndroid Build Coastguard Worker  */
781*8975f5c5SAndroid Build Coastguard Worker 
782*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_TV_RESET_SETTINGS 59 /* -WDG */
783*8975f5c5SAndroid Build Coastguard Worker 
784*8975f5c5SAndroid Build Coastguard Worker /*
785*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_CORE_TEMPERATURE reports the current core temperature
786*8975f5c5SAndroid Build Coastguard Worker  * of the GPU driving the X screen.
787*8975f5c5SAndroid Build Coastguard Worker  */
788*8975f5c5SAndroid Build Coastguard Worker 
789*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_CORE_TEMPERATURE 60 /* R--G */
790*8975f5c5SAndroid Build Coastguard Worker 
791*8975f5c5SAndroid Build Coastguard Worker /*
792*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_CORE_THRESHOLD reports the current GPU core slowdown
793*8975f5c5SAndroid Build Coastguard Worker  * threshold temperature, NV_CTRL_GPU_DEFAULT_CORE_THRESHOLD and
794*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_MAX_CORE_THRESHOLD report the default and MAX core
795*8975f5c5SAndroid Build Coastguard Worker  * slowdown threshold temperatures.
796*8975f5c5SAndroid Build Coastguard Worker  *
797*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_CORE_THRESHOLD reflects the temperature at which the
798*8975f5c5SAndroid Build Coastguard Worker  * GPU is throttled to prevent overheating.
799*8975f5c5SAndroid Build Coastguard Worker  */
800*8975f5c5SAndroid Build Coastguard Worker 
801*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_CORE_THRESHOLD 61         /* R--G */
802*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_DEFAULT_CORE_THRESHOLD 62 /* R--G */
803*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_MAX_CORE_THRESHOLD 63     /* R--G */
804*8975f5c5SAndroid Build Coastguard Worker 
805*8975f5c5SAndroid Build Coastguard Worker /*
806*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_AMBIENT_TEMPERATURE reports the current temperature in the
807*8975f5c5SAndroid Build Coastguard Worker  * immediate neighbourhood of the GPU driving the X screen.
808*8975f5c5SAndroid Build Coastguard Worker  */
809*8975f5c5SAndroid Build Coastguard Worker 
810*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_AMBIENT_TEMPERATURE 64 /* R--G */
811*8975f5c5SAndroid Build Coastguard Worker 
812*8975f5c5SAndroid Build Coastguard Worker /*
813*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_PBUFFER_SCANOUT_SUPPORTED - returns whether this X screen
814*8975f5c5SAndroid Build Coastguard Worker  * supports scanout of FP pbuffers;
815*8975f5c5SAndroid Build Coastguard Worker  *
816*8975f5c5SAndroid Build Coastguard Worker  * if this screen does not support PBUFFER_SCANOUT, then all other
817*8975f5c5SAndroid Build Coastguard Worker  * PBUFFER_SCANOUT attributes are unavailable.
818*8975f5c5SAndroid Build Coastguard Worker  *
819*8975f5c5SAndroid Build Coastguard Worker  * PBUFFER_SCANOUT is supported if and only if:
820*8975f5c5SAndroid Build Coastguard Worker  * - Twinview is configured with clone mode.  The secondary screen is used to
821*8975f5c5SAndroid Build Coastguard Worker  *   scanout the pbuffer.
822*8975f5c5SAndroid Build Coastguard Worker  * - The desktop is running in with 16 bits per pixel.
823*8975f5c5SAndroid Build Coastguard Worker  */
824*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_PBUFFER_SCANOUT_SUPPORTED 65 /* R-- */
825*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_PBUFFER_SCANOUT_FALSE 0
826*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_PBUFFER_SCANOUT_TRUE 1
827*8975f5c5SAndroid Build Coastguard Worker 
828*8975f5c5SAndroid Build Coastguard Worker /*
829*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_PBUFFER_SCANOUT_XID indicates the XID of the pbuffer used for
830*8975f5c5SAndroid Build Coastguard Worker  * scanout.
831*8975f5c5SAndroid Build Coastguard Worker  */
832*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_PBUFFER_SCANOUT_XID 66 /* RW- */
833*8975f5c5SAndroid Build Coastguard Worker 
834*8975f5c5SAndroid Build Coastguard Worker /**************************************************************************/
835*8975f5c5SAndroid Build Coastguard Worker /*
836*8975f5c5SAndroid Build Coastguard Worker  * The NV_CTRL_GVO_* integer attributes are used to configure GVO
837*8975f5c5SAndroid Build Coastguard Worker  * (Graphics to Video Out).  This functionality is available, for
838*8975f5c5SAndroid Build Coastguard Worker  * example, on the Quadro FX 4000 SDI graphics board.
839*8975f5c5SAndroid Build Coastguard Worker  *
840*8975f5c5SAndroid Build Coastguard Worker  * The following is a typical usage pattern for the GVO attributes:
841*8975f5c5SAndroid Build Coastguard Worker  *
842*8975f5c5SAndroid Build Coastguard Worker  * - query NV_CTRL_GVO_SUPPORTED to determine if the X screen supports GV0.
843*8975f5c5SAndroid Build Coastguard Worker  *
844*8975f5c5SAndroid Build Coastguard Worker  * - specify NV_CTRL_GVO_SYNC_MODE (one of FREE_RUNNING, GENLOCK, or
845*8975f5c5SAndroid Build Coastguard Worker  * FRAMELOCK); if you specify GENLOCK or FRAMELOCK, you should also
846*8975f5c5SAndroid Build Coastguard Worker  * specify NV_CTRL_GVO_SYNC_SOURCE.
847*8975f5c5SAndroid Build Coastguard Worker  *
848*8975f5c5SAndroid Build Coastguard Worker  * - Use NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED and
849*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED to detect what input syncs are
850*8975f5c5SAndroid Build Coastguard Worker  * present.
851*8975f5c5SAndroid Build Coastguard Worker  *
852*8975f5c5SAndroid Build Coastguard Worker  * (If no analog sync is detected but it is known that a valid
853*8975f5c5SAndroid Build Coastguard Worker  * bi-level or tri-level sync is connected set
854*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE appropriately and
855*8975f5c5SAndroid Build Coastguard Worker  * retest with NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED).
856*8975f5c5SAndroid Build Coastguard Worker  *
857*8975f5c5SAndroid Build Coastguard Worker  * - if syncing to input sync, query the
858*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVIO_DETECTED_VIDEO_FORMAT attribute; note that Input video
859*8975f5c5SAndroid Build Coastguard Worker  * format can only be queried after SYNC_SOURCE is specified.
860*8975f5c5SAndroid Build Coastguard Worker  *
861*8975f5c5SAndroid Build Coastguard Worker  * - specify the NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT
862*8975f5c5SAndroid Build Coastguard Worker  *
863*8975f5c5SAndroid Build Coastguard Worker  * - specify the NV_CTRL_GVO_DATA_FORMAT
864*8975f5c5SAndroid Build Coastguard Worker  *
865*8975f5c5SAndroid Build Coastguard Worker  * - specify any custom Color Space Conversion (CSC) matrix, offset,
866*8975f5c5SAndroid Build Coastguard Worker  * and scale with XNVCTRLSetGvoColorConversion().
867*8975f5c5SAndroid Build Coastguard Worker  *
868*8975f5c5SAndroid Build Coastguard Worker  * - if using the GLX_NV_video_out extension to display one or more
869*8975f5c5SAndroid Build Coastguard Worker  * pbuffers, call glXGetVideoDeviceNV() to lock the GVO output for use
870*8975f5c5SAndroid Build Coastguard Worker  * by the GLX client; then bind the pbuffer(s) to the GVO output with
871*8975f5c5SAndroid Build Coastguard Worker  * glXBindVideoImageNV() and send pbuffers to the GVO output with
872*8975f5c5SAndroid Build Coastguard Worker  * glXSendPbufferToVideoNV(); see the GLX_NV_video_out spec for more
873*8975f5c5SAndroid Build Coastguard Worker  * details.
874*8975f5c5SAndroid Build Coastguard Worker  *
875*8975f5c5SAndroid Build Coastguard Worker  * - if using the GLX_NV_present_video extension, call
876*8975f5c5SAndroid Build Coastguard Worker  * glXBindVideoDeviceNV() to bind the GVO video device to current
877*8975f5c5SAndroid Build Coastguard Worker  * OpenGL context.
878*8975f5c5SAndroid Build Coastguard Worker  *
879*8975f5c5SAndroid Build Coastguard Worker  * Note that setting most GVO attributes only causes the value to be
880*8975f5c5SAndroid Build Coastguard Worker  * cached in the X server.  The values will be flushed to the hardware
881*8975f5c5SAndroid Build Coastguard Worker  * either when the next MetaMode is set that uses the GVO display
882*8975f5c5SAndroid Build Coastguard Worker  * device, or when a GLX pbuffer is bound to the GVO output (with
883*8975f5c5SAndroid Build Coastguard Worker  * glXBindVideoImageNV()).
884*8975f5c5SAndroid Build Coastguard Worker  *
885*8975f5c5SAndroid Build Coastguard Worker  * Note that GLX_NV_video_out/GLX_NV_present_video and X screen use
886*8975f5c5SAndroid Build Coastguard Worker  * are mutually exclusive.  If a MetaMode is currently using the GVO
887*8975f5c5SAndroid Build Coastguard Worker  * device, then glXGetVideoDeviceNV and glXBindVideoImageNV() will
888*8975f5c5SAndroid Build Coastguard Worker  * fail.  Similarly, if a GLX client has locked the GVO output (via
889*8975f5c5SAndroid Build Coastguard Worker  * glXGetVideoDeviceNV or glXBindVideoImageNV), then setting a
890*8975f5c5SAndroid Build Coastguard Worker  * MetaMode that uses the GVO device will fail.  The
891*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_GLX_LOCKED event will be sent when a GLX client locks
892*8975f5c5SAndroid Build Coastguard Worker  * the GVO output.
893*8975f5c5SAndroid Build Coastguard Worker  *
894*8975f5c5SAndroid Build Coastguard Worker  */
895*8975f5c5SAndroid Build Coastguard Worker 
896*8975f5c5SAndroid Build Coastguard Worker /*
897*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_SUPPORTED - returns whether this X screen supports GVO;
898*8975f5c5SAndroid Build Coastguard Worker  * if this screen does not support GVO output, then all other GVO
899*8975f5c5SAndroid Build Coastguard Worker  * attributes are unavailable.
900*8975f5c5SAndroid Build Coastguard Worker  */
901*8975f5c5SAndroid Build Coastguard Worker 
902*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SUPPORTED 67 /* R-- */
903*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SUPPORTED_FALSE 0
904*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SUPPORTED_TRUE 1
905*8975f5c5SAndroid Build Coastguard Worker 
906*8975f5c5SAndroid Build Coastguard Worker /*
907*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_SYNC_MODE - selects the GVO sync mode; possible values
908*8975f5c5SAndroid Build Coastguard Worker  * are:
909*8975f5c5SAndroid Build Coastguard Worker  *
910*8975f5c5SAndroid Build Coastguard Worker  * FREE_RUNNING - GVO does not sync to any external signal
911*8975f5c5SAndroid Build Coastguard Worker  *
912*8975f5c5SAndroid Build Coastguard Worker  * GENLOCK - the GVO output is genlocked to an incoming sync signal;
913*8975f5c5SAndroid Build Coastguard Worker  * genlocking locks at hsync.  This requires that the output video
914*8975f5c5SAndroid Build Coastguard Worker  * format exactly match the incoming sync video format.
915*8975f5c5SAndroid Build Coastguard Worker  *
916*8975f5c5SAndroid Build Coastguard Worker  * FRAMELOCK - the GVO output is frame locked to an incoming sync
917*8975f5c5SAndroid Build Coastguard Worker  * signal; frame locking locks at vsync.  This requires that the output
918*8975f5c5SAndroid Build Coastguard Worker  * video format have the same refresh rate as the incoming sync video
919*8975f5c5SAndroid Build Coastguard Worker  * format.
920*8975f5c5SAndroid Build Coastguard Worker  */
921*8975f5c5SAndroid Build Coastguard Worker 
922*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SYNC_MODE 68 /* RW- */
923*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SYNC_MODE_FREE_RUNNING 0
924*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SYNC_MODE_GENLOCK 1
925*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SYNC_MODE_FRAMELOCK 2
926*8975f5c5SAndroid Build Coastguard Worker 
927*8975f5c5SAndroid Build Coastguard Worker /*
928*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_SYNC_SOURCE - if NV_CTRL_GVO_SYNC_MODE is set to either
929*8975f5c5SAndroid Build Coastguard Worker  * GENLOCK or FRAMELOCK, this controls which sync source is used as
930*8975f5c5SAndroid Build Coastguard Worker  * the incoming sync signal (either Composite or SDI).  If
931*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_SYNC_MODE is FREE_RUNNING, this attribute has no
932*8975f5c5SAndroid Build Coastguard Worker  * effect.
933*8975f5c5SAndroid Build Coastguard Worker  */
934*8975f5c5SAndroid Build Coastguard Worker 
935*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SYNC_SOURCE 69 /* RW- */
936*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SYNC_SOURCE_COMPOSITE 0
937*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SYNC_SOURCE_SDI 1
938*8975f5c5SAndroid Build Coastguard Worker 
939*8975f5c5SAndroid Build Coastguard Worker /*
940*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT - specifies the desired output video
941*8975f5c5SAndroid Build Coastguard Worker  * format for GVO devices or the desired input video format for GVI devices.
942*8975f5c5SAndroid Build Coastguard Worker  *
943*8975f5c5SAndroid Build Coastguard Worker  * Note that for GVO, the valid video formats may vary depending on
944*8975f5c5SAndroid Build Coastguard Worker  * the NV_CTRL_GVO_SYNC_MODE and the incoming sync video format.  See
945*8975f5c5SAndroid Build Coastguard Worker  * the definition of NV_CTRL_GVO_SYNC_MODE.
946*8975f5c5SAndroid Build Coastguard Worker  *
947*8975f5c5SAndroid Build Coastguard Worker  * Note that when querying the ValidValues for this data type, the
948*8975f5c5SAndroid Build Coastguard Worker  * values are reported as bits within a bitmask
949*8975f5c5SAndroid Build Coastguard Worker  * (ATTRIBUTE_TYPE_INT_BITS); unfortunately, there are more valid
950*8975f5c5SAndroid Build Coastguard Worker  * value bits than will fit in a single 32-bit value.  To solve this,
951*8975f5c5SAndroid Build Coastguard Worker  * query the ValidValues for NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT to
952*8975f5c5SAndroid Build Coastguard Worker  * check which of the first 31 VIDEO_FORMATS are valid, query the
953*8975f5c5SAndroid Build Coastguard Worker  * ValidValues for NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT2 to check which
954*8975f5c5SAndroid Build Coastguard Worker  * of the 32-63 VIDEO_FORMATS are valid, and query the ValidValues of
955*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT3 to check which of the 64-95
956*8975f5c5SAndroid Build Coastguard Worker  * VIDEO_FORMATS are valid.
957*8975f5c5SAndroid Build Coastguard Worker  *
958*8975f5c5SAndroid Build Coastguard Worker  * Note: Setting this attribute on a GVI device may also result in the
959*8975f5c5SAndroid Build Coastguard Worker  *       following NV-CONTROL attributes being reset on that device (to
960*8975f5c5SAndroid Build Coastguard Worker  *       ensure the configuration remains valid):
961*8975f5c5SAndroid Build Coastguard Worker  *           NV_CTRL_GVI_REQUESTED_STREAM_BITS_PER_COMPONENT
962*8975f5c5SAndroid Build Coastguard Worker  *           NV_CTRL_GVI_REQUESTED_STREAM_COMPONENT_SAMPLING
963*8975f5c5SAndroid Build Coastguard Worker  */
964*8975f5c5SAndroid Build Coastguard Worker 
965*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT 70 /* RW--I */
966*8975f5c5SAndroid Build Coastguard Worker 
967*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_NONE 0
968*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_487I_59_94_SMPTE259_NTSC 1
969*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_576I_50_00_SMPTE259_PAL 2
970*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_720P_59_94_SMPTE296 3
971*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_720P_60_00_SMPTE296 4
972*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1035I_59_94_SMPTE260 5
973*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1035I_60_00_SMPTE260 6
974*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080I_50_00_SMPTE295 7
975*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080I_50_00_SMPTE274 8
976*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080I_59_94_SMPTE274 9
977*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080I_60_00_SMPTE274 10
978*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_23_976_SMPTE274 11
979*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_24_00_SMPTE274 12
980*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_25_00_SMPTE274 13
981*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_29_97_SMPTE274 14
982*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_30_00_SMPTE274 15
983*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_720P_50_00_SMPTE296 16
984*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080I_48_00_SMPTE274 17
985*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080I_47_96_SMPTE274 18
986*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_720P_30_00_SMPTE296 19
987*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_720P_29_97_SMPTE296 20
988*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_720P_25_00_SMPTE296 21
989*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_720P_24_00_SMPTE296 22
990*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_720P_23_98_SMPTE296 23
991*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080PSF_25_00_SMPTE274 24
992*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080PSF_29_97_SMPTE274 25
993*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080PSF_30_00_SMPTE274 26
994*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080PSF_24_00_SMPTE274 27
995*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080PSF_23_98_SMPTE274 28
996*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048P_30_00_SMPTE372 29
997*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048P_29_97_SMPTE372 30
998*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048I_60_00_SMPTE372 31
999*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048I_59_94_SMPTE372 32
1000*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048P_25_00_SMPTE372 33
1001*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048I_50_00_SMPTE372 34
1002*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048P_24_00_SMPTE372 35
1003*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048P_23_98_SMPTE372 36
1004*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048I_48_00_SMPTE372 37
1005*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048I_47_96_SMPTE372 38
1006*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_50_00_3G_LEVEL_A_SMPTE274 39
1007*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_59_94_3G_LEVEL_A_SMPTE274 40
1008*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_60_00_3G_LEVEL_A_SMPTE274 41
1009*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_60_00_3G_LEVEL_B_SMPTE274 42
1010*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080I_60_00_3G_LEVEL_B_SMPTE274 43
1011*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048I_60_00_3G_LEVEL_B_SMPTE372 44
1012*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_50_00_3G_LEVEL_B_SMPTE274 45
1013*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080I_50_00_3G_LEVEL_B_SMPTE274 46
1014*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048I_50_00_3G_LEVEL_B_SMPTE372 47
1015*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_30_00_3G_LEVEL_B_SMPTE274 48
1016*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048P_30_00_3G_LEVEL_B_SMPTE372 49
1017*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_25_00_3G_LEVEL_B_SMPTE274 50
1018*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048P_25_00_3G_LEVEL_B_SMPTE372 51
1019*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_24_00_3G_LEVEL_B_SMPTE274 52
1020*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048P_24_00_3G_LEVEL_B_SMPTE372 53
1021*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080I_48_00_3G_LEVEL_B_SMPTE274 54
1022*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048I_48_00_3G_LEVEL_B_SMPTE372 55
1023*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_59_94_3G_LEVEL_B_SMPTE274 56
1024*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080I_59_94_3G_LEVEL_B_SMPTE274 57
1025*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048I_59_94_3G_LEVEL_B_SMPTE372 58
1026*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_29_97_3G_LEVEL_B_SMPTE274 59
1027*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048P_29_97_3G_LEVEL_B_SMPTE372 60
1028*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080P_23_98_3G_LEVEL_B_SMPTE274 61
1029*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048P_23_98_3G_LEVEL_B_SMPTE372 62
1030*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_1080I_47_96_3G_LEVEL_B_SMPTE274 63
1031*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_2048I_47_96_3G_LEVEL_B_SMPTE372 64
1032*8975f5c5SAndroid Build Coastguard Worker 
1033*8975f5c5SAndroid Build Coastguard Worker /*
1034*8975f5c5SAndroid Build Coastguard Worker  * The following are deprecated; NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT and the
1035*8975f5c5SAndroid Build Coastguard Worker  * corresponding NV_CTRL_GVIO_* formats should be used instead.
1036*8975f5c5SAndroid Build Coastguard Worker  */
1037*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT 70 /* RW- */
1038*8975f5c5SAndroid Build Coastguard Worker 
1039*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_NONE 0
1040*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_487I_59_94_SMPTE259_NTSC 1
1041*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_576I_50_00_SMPTE259_PAL 2
1042*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_720P_59_94_SMPTE296 3
1043*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_720P_60_00_SMPTE296 4
1044*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1035I_59_94_SMPTE260 5
1045*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1035I_60_00_SMPTE260 6
1046*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080I_50_00_SMPTE295 7
1047*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080I_50_00_SMPTE274 8
1048*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080I_59_94_SMPTE274 9
1049*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080I_60_00_SMPTE274 10
1050*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080P_23_976_SMPTE274 11
1051*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080P_24_00_SMPTE274 12
1052*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080P_25_00_SMPTE274 13
1053*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080P_29_97_SMPTE274 14
1054*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080P_30_00_SMPTE274 15
1055*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_720P_50_00_SMPTE296 16
1056*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080I_48_00_SMPTE274 17
1057*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080I_47_96_SMPTE274 18
1058*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_720P_30_00_SMPTE296 19
1059*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_720P_29_97_SMPTE296 20
1060*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_720P_25_00_SMPTE296 21
1061*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_720P_24_00_SMPTE296 22
1062*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_720P_23_98_SMPTE296 23
1063*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080PSF_25_00_SMPTE274 24
1064*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080PSF_29_97_SMPTE274 25
1065*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080PSF_30_00_SMPTE274 26
1066*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080PSF_24_00_SMPTE274 27
1067*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_1080PSF_23_98_SMPTE274 28
1068*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_2048P_30_00_SMPTE372 29
1069*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_2048P_29_97_SMPTE372 30
1070*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_2048I_60_00_SMPTE372 31
1071*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_2048I_59_94_SMPTE372 32
1072*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_2048P_25_00_SMPTE372 33
1073*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_2048I_50_00_SMPTE372 34
1074*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_2048P_24_00_SMPTE372 35
1075*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_2048P_23_98_SMPTE372 36
1076*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_2048I_48_00_SMPTE372 37
1077*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_2048I_47_96_SMPTE372 38
1078*8975f5c5SAndroid Build Coastguard Worker 
1079*8975f5c5SAndroid Build Coastguard Worker /*
1080*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVIO_DETECTED_VIDEO_FORMAT - indicates the input video format
1081*8975f5c5SAndroid Build Coastguard Worker  * detected for GVO or GVI devices; the possible values are the
1082*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVIO_VIDEO_FORMAT constants.
1083*8975f5c5SAndroid Build Coastguard Worker  *
1084*8975f5c5SAndroid Build Coastguard Worker  * For GVI devices, the jack number should be specified in the lower
1085*8975f5c5SAndroid Build Coastguard Worker  * 16 bits of the "display_mask" parameter, while the channel number should be
1086*8975f5c5SAndroid Build Coastguard Worker  * specified in the upper 16 bits.
1087*8975f5c5SAndroid Build Coastguard Worker  */
1088*8975f5c5SAndroid Build Coastguard Worker 
1089*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_DETECTED_VIDEO_FORMAT 71 /* R--I */
1090*8975f5c5SAndroid Build Coastguard Worker 
1091*8975f5c5SAndroid Build Coastguard Worker /*
1092*8975f5c5SAndroid Build Coastguard Worker  * The following is deprecated.  Use NV_CTRL_GVIO_DETECTED_VIDEO_FORMAT,
1093*8975f5c5SAndroid Build Coastguard Worker  * instead.
1094*8975f5c5SAndroid Build Coastguard Worker  */
1095*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_INPUT_VIDEO_FORMAT 71 /* R-- */
1096*8975f5c5SAndroid Build Coastguard Worker 
1097*8975f5c5SAndroid Build Coastguard Worker /*
1098*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_DATA_FORMAT - This controls how the data in the source
1099*8975f5c5SAndroid Build Coastguard Worker  * (either the X screen or the GLX pbuffer) is interpretted and
1100*8975f5c5SAndroid Build Coastguard Worker  * displayed.
1101*8975f5c5SAndroid Build Coastguard Worker  *
1102*8975f5c5SAndroid Build Coastguard Worker  * Note: some of the below DATA_FORMATS have been renamed.  For
1103*8975f5c5SAndroid Build Coastguard Worker  * example, R8G8B8_TO_RGB444 has been renamed to X8X8X8_444_PASSTHRU.
1104*8975f5c5SAndroid Build Coastguard Worker  * This is to more accurately reflect DATA_FORMATS where the
1105*8975f5c5SAndroid Build Coastguard Worker  * per-channel data could be either RGB or YCrCb -- the point is that
1106*8975f5c5SAndroid Build Coastguard Worker  * the driver and GVO hardware do not perform any implicit color space
1107*8975f5c5SAndroid Build Coastguard Worker  * conversion on the data; it is passed through to the SDI out.
1108*8975f5c5SAndroid Build Coastguard Worker  */
1109*8975f5c5SAndroid Build Coastguard Worker 
1110*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT 72 /* RW- */
1111*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_YCRCB444 0
1112*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_R8G8B8A8_TO_YCRCBA4444 1
1113*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_R8G8B8Z10_TO_YCRCBZ4444 2
1114*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_YCRCB422 3
1115*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_R8G8B8A8_TO_YCRCBA4224 4
1116*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_R8G8B8Z10_TO_YCRCBZ4224 5
1117*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_RGB444 6  // renamed
1118*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X8X8X8_444_PASSTHRU 6
1119*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_R8G8B8A8_TO_RGBA4444 7  // renamed
1120*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X8X8X8A8_4444_PASSTHRU 7
1121*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_R8G8B8Z10_TO_RGBZ4444 8  // renamed
1122*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X8X8X8Z8_4444_PASSTHRU 8
1123*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_Y10CR10CB10_TO_YCRCB444 9  // renamed
1124*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X10X10X10_444_PASSTHRU 9
1125*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_Y10CR8CB8_TO_YCRCB444 10  // renamed
1126*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X10X8X8_444_PASSTHRU 10
1127*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_Y10CR8CB8A10_TO_YCRCBA4444 11  // renamed
1128*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X10X8X8A10_4444_PASSTHRU 11
1129*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_Y10CR8CB8Z10_TO_YCRCBZ4444 12  // renamed
1130*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X10X8X8Z10_4444_PASSTHRU 12
1131*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_DUAL_R8G8B8_TO_DUAL_YCRCB422 13
1132*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_DUAL_Y8CR8CB8_TO_DUAL_YCRCB422 14  // renamed
1133*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_DUAL_X8X8X8_TO_DUAL_422_PASSTHRU 14
1134*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_R10G10B10_TO_YCRCB422 15
1135*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_R10G10B10_TO_YCRCB444 16
1136*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_Y12CR12CB12_TO_YCRCB444 17  // renamed
1137*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X12X12X12_444_PASSTHRU 17
1138*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_R12G12B12_TO_YCRCB444 18
1139*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X8X8X8_422_PASSTHRU 19
1140*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X8X8X8A8_4224_PASSTHRU 20
1141*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X8X8X8Z8_4224_PASSTHRU 21
1142*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X10X10X10_422_PASSTHRU 22
1143*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X10X8X8_422_PASSTHRU 23
1144*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X10X8X8A10_4224_PASSTHRU 24
1145*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X10X8X8Z10_4224_PASSTHRU 25
1146*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_X12X12X12_422_PASSTHRU 26
1147*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DATA_FORMAT_R12G12B12_TO_YCRCB422 27
1148*8975f5c5SAndroid Build Coastguard Worker 
1149*8975f5c5SAndroid Build Coastguard Worker /*
1150*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_DISPLAY_X_SCREEN - no longer supported
1151*8975f5c5SAndroid Build Coastguard Worker  */
1152*8975f5c5SAndroid Build Coastguard Worker 
1153*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DISPLAY_X_SCREEN 73 /* RW- */
1154*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DISPLAY_X_SCREEN_ENABLE 1
1155*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_DISPLAY_X_SCREEN_DISABLE 0
1156*8975f5c5SAndroid Build Coastguard Worker 
1157*8975f5c5SAndroid Build Coastguard Worker /*
1158*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED - indicates whether
1159*8975f5c5SAndroid Build Coastguard Worker  * Composite Sync input is detected.
1160*8975f5c5SAndroid Build Coastguard Worker  */
1161*8975f5c5SAndroid Build Coastguard Worker 
1162*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED 74 /* R-- */
1163*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED_FALSE 0
1164*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED_TRUE 1
1165*8975f5c5SAndroid Build Coastguard Worker 
1166*8975f5c5SAndroid Build Coastguard Worker /*
1167*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE - get/set the
1168*8975f5c5SAndroid Build Coastguard Worker  * Composite Sync input detect mode.
1169*8975f5c5SAndroid Build Coastguard Worker  */
1170*8975f5c5SAndroid Build Coastguard Worker 
1171*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE 75 /* RW- */
1172*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_AUTO 0
1173*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_BI_LEVEL 1
1174*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_TRI_LEVEL 2
1175*8975f5c5SAndroid Build Coastguard Worker 
1176*8975f5c5SAndroid Build Coastguard Worker /*
1177*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_SYNC_INPUT_DETECTED - indicates whether SDI Sync input
1178*8975f5c5SAndroid Build Coastguard Worker  * is detected, and what type.
1179*8975f5c5SAndroid Build Coastguard Worker  */
1180*8975f5c5SAndroid Build Coastguard Worker 
1181*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED 76 /* R-- */
1182*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED_NONE 0
1183*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED_HD 1
1184*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED_SD 2
1185*8975f5c5SAndroid Build Coastguard Worker 
1186*8975f5c5SAndroid Build Coastguard Worker /*
1187*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_VIDEO_OUTPUTS - indicates which GVO video output
1188*8975f5c5SAndroid Build Coastguard Worker  * connectors are currently outputing data.
1189*8975f5c5SAndroid Build Coastguard Worker  */
1190*8975f5c5SAndroid Build Coastguard Worker 
1191*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_OUTPUTS 77 /* R-- */
1192*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_OUTPUTS_NONE 0
1193*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_OUTPUTS_VIDEO1 1
1194*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_OUTPUTS_VIDEO2 2
1195*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_OUTPUTS_VIDEO_BOTH 3
1196*8975f5c5SAndroid Build Coastguard Worker 
1197*8975f5c5SAndroid Build Coastguard Worker /*
1198*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_FPGA_VERSION - indicates the version of the Firmware on
1199*8975f5c5SAndroid Build Coastguard Worker  * the GVO device.  Deprecated; use
1200*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_GVIO_FIRMWARE_VERSION instead.
1201*8975f5c5SAndroid Build Coastguard Worker  */
1202*8975f5c5SAndroid Build Coastguard Worker 
1203*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_FIRMWARE_VERSION 78 /* R-- */
1204*8975f5c5SAndroid Build Coastguard Worker 
1205*8975f5c5SAndroid Build Coastguard Worker /*
1206*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_SYNC_DELAY_PIXELS - controls the delay between the
1207*8975f5c5SAndroid Build Coastguard Worker  * input sync and the output sync in numbers of pixels from hsync;
1208*8975f5c5SAndroid Build Coastguard Worker  * this is a 12 bit value.
1209*8975f5c5SAndroid Build Coastguard Worker  *
1210*8975f5c5SAndroid Build Coastguard Worker  * If the NV_CTRL_GVO_CAPABILITIES_ADVANCE_SYNC_SKEW bit is set,
1211*8975f5c5SAndroid Build Coastguard Worker  * then setting this value will set an advance instead of a delay.
1212*8975f5c5SAndroid Build Coastguard Worker  */
1213*8975f5c5SAndroid Build Coastguard Worker 
1214*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SYNC_DELAY_PIXELS 79 /* RW- */
1215*8975f5c5SAndroid Build Coastguard Worker 
1216*8975f5c5SAndroid Build Coastguard Worker /*
1217*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_SYNC_DELAY_LINES - controls the delay between the input
1218*8975f5c5SAndroid Build Coastguard Worker  * sync and the output sync in numbers of lines from vsync; this is a
1219*8975f5c5SAndroid Build Coastguard Worker  * 12 bit value.
1220*8975f5c5SAndroid Build Coastguard Worker  *
1221*8975f5c5SAndroid Build Coastguard Worker  * If the NV_CTRL_GVO_CAPABILITIES_ADVANCE_SYNC_SKEW bit is set,
1222*8975f5c5SAndroid Build Coastguard Worker  * then setting this value will set an advance instead of a delay.
1223*8975f5c5SAndroid Build Coastguard Worker  */
1224*8975f5c5SAndroid Build Coastguard Worker 
1225*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SYNC_DELAY_LINES 80 /* RW- */
1226*8975f5c5SAndroid Build Coastguard Worker 
1227*8975f5c5SAndroid Build Coastguard Worker /*
1228*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE - must be set for a period
1229*8975f5c5SAndroid Build Coastguard Worker  * of about 2 seconds for the new InputVideoFormat to be properly
1230*8975f5c5SAndroid Build Coastguard Worker  * locked to.  In nvidia-settings, we do a reacquire whenever genlock
1231*8975f5c5SAndroid Build Coastguard Worker  * or frame lock mode is entered into, when the user clicks the
1232*8975f5c5SAndroid Build Coastguard Worker  * "detect" button.  This value can be written, but always reads back
1233*8975f5c5SAndroid Build Coastguard Worker  * _FALSE.
1234*8975f5c5SAndroid Build Coastguard Worker  */
1235*8975f5c5SAndroid Build Coastguard Worker 
1236*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE 81 /* -W- */
1237*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE_FALSE 0
1238*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE_TRUE 1
1239*8975f5c5SAndroid Build Coastguard Worker 
1240*8975f5c5SAndroid Build Coastguard Worker /*
1241*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_GLX_LOCKED - indicates that GVO configurability is
1242*8975f5c5SAndroid Build Coastguard Worker  * locked by GLX; this occurs when either glXGetVideoDeviceNV (part of
1243*8975f5c5SAndroid Build Coastguard Worker  * GLX_NV_video_out) or glXBindVideoDeviceNV (part of
1244*8975f5c5SAndroid Build Coastguard Worker  * GLX_NV_present_video) is called.  All GVO output resources are
1245*8975f5c5SAndroid Build Coastguard Worker  * locked until released by the GLX_NV_video_out/GLX_NV_present_video
1246*8975f5c5SAndroid Build Coastguard Worker  * client.
1247*8975f5c5SAndroid Build Coastguard Worker  *
1248*8975f5c5SAndroid Build Coastguard Worker  * When GVO is locked, setting of the following GVO NV-CONTROL attributes will
1249*8975f5c5SAndroid Build Coastguard Worker  * not happen immediately and will instead be cached.  The GVO resource will
1250*8975f5c5SAndroid Build Coastguard Worker  * need to be disabled/released and re-enabled/claimed for the values to be
1251*8975f5c5SAndroid Build Coastguard Worker  * flushed. These attributes are:
1252*8975f5c5SAndroid Build Coastguard Worker  *    NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT
1253*8975f5c5SAndroid Build Coastguard Worker  *    NV_CTRL_GVO_DATA_FORMAT
1254*8975f5c5SAndroid Build Coastguard Worker  *    NV_CTRL_GVO_FLIP_QUEUE_SIZE
1255*8975f5c5SAndroid Build Coastguard Worker  *
1256*8975f5c5SAndroid Build Coastguard Worker  * This attribute is deprecated and may be removed in a future release.  Its
1257*8975f5c5SAndroid Build Coastguard Worker  * functionality has been replaced by NV_CTRL_GVO_LOCK_OWNER.
1258*8975f5c5SAndroid Build Coastguard Worker  */
1259*8975f5c5SAndroid Build Coastguard Worker 
1260*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_GLX_LOCKED 82 /* R-- */
1261*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_GLX_LOCKED_FALSE 0
1262*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_GLX_LOCKED_TRUE 1
1263*8975f5c5SAndroid Build Coastguard Worker 
1264*8975f5c5SAndroid Build Coastguard Worker /*
1265*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVIO_VIDEO_FORMAT_{WIDTH,HEIGHT,REFRESH_RATE} - query the
1266*8975f5c5SAndroid Build Coastguard Worker  * width, height, and refresh rate for the specified
1267*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVIO_VIDEO_FORMAT_*.  So that this can be queried with
1268*8975f5c5SAndroid Build Coastguard Worker  * existing interfaces, XNVCTRLQueryAttribute() should be used, and
1269*8975f5c5SAndroid Build Coastguard Worker  * the video format specified in the display_mask field; eg:
1270*8975f5c5SAndroid Build Coastguard Worker  *
1271*8975f5c5SAndroid Build Coastguard Worker  * XNVCTRLQueryAttribute (dpy,
1272*8975f5c5SAndroid Build Coastguard Worker  *                        screen,
1273*8975f5c5SAndroid Build Coastguard Worker  *                        NV_CTRL_GVIO_VIDEO_FORMAT_487I_59_94_SMPTE259_NTSC,
1274*8975f5c5SAndroid Build Coastguard Worker  *                        NV_CTRL_GVIO_VIDEO_FORMAT_WIDTH,
1275*8975f5c5SAndroid Build Coastguard Worker  *                        &value);
1276*8975f5c5SAndroid Build Coastguard Worker  *
1277*8975f5c5SAndroid Build Coastguard Worker  * Note that Refresh Rate is in milliHertz values
1278*8975f5c5SAndroid Build Coastguard Worker  */
1279*8975f5c5SAndroid Build Coastguard Worker 
1280*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_WIDTH 83        /* R--I */
1281*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_HEIGHT 84       /* R--I */
1282*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_REFRESH_RATE 85 /* R--I */
1283*8975f5c5SAndroid Build Coastguard Worker 
1284*8975f5c5SAndroid Build Coastguard Worker /* The following are deprecated; use the NV_CTRL_GVIO_* versions, instead */
1285*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_WIDTH 83        /* R-- */
1286*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_HEIGHT 84       /* R-- */
1287*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_VIDEO_FORMAT_REFRESH_RATE 85 /* R-- */
1288*8975f5c5SAndroid Build Coastguard Worker 
1289*8975f5c5SAndroid Build Coastguard Worker /*
1290*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_X_SCREEN_PAN_[XY] - no longer supported
1291*8975f5c5SAndroid Build Coastguard Worker  */
1292*8975f5c5SAndroid Build Coastguard Worker 
1293*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_X_SCREEN_PAN_X 86 /* RW- */
1294*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_X_SCREEN_PAN_Y 87 /* RW- */
1295*8975f5c5SAndroid Build Coastguard Worker 
1296*8975f5c5SAndroid Build Coastguard Worker /*
1297*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_OVERCLOCKING_STATE - query the current or set a new
1298*8975f5c5SAndroid Build Coastguard Worker  * overclocking state; the value of this attribute controls the
1299*8975f5c5SAndroid Build Coastguard Worker  * availability of additional overclocking attributes (see below).
1300*8975f5c5SAndroid Build Coastguard Worker  *
1301*8975f5c5SAndroid Build Coastguard Worker  * Note: this attribute is unavailable unless overclocking support
1302*8975f5c5SAndroid Build Coastguard Worker  * has been enabled in the X server (by the user).
1303*8975f5c5SAndroid Build Coastguard Worker  */
1304*8975f5c5SAndroid Build Coastguard Worker 
1305*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_OVERCLOCKING_STATE 88 /* RW-G */
1306*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_OVERCLOCKING_STATE_NONE 0
1307*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_OVERCLOCKING_STATE_MANUAL 1
1308*8975f5c5SAndroid Build Coastguard Worker 
1309*8975f5c5SAndroid Build Coastguard Worker /*
1310*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_{2,3}D_CLOCK_FREQS - query or set the GPU and memory
1311*8975f5c5SAndroid Build Coastguard Worker  * clocks of the device driving the X screen.  New clock frequencies
1312*8975f5c5SAndroid Build Coastguard Worker  * are tested before being applied, and may be rejected.
1313*8975f5c5SAndroid Build Coastguard Worker  *
1314*8975f5c5SAndroid Build Coastguard Worker  * Note: if the target clocks are too aggressive, their testing may
1315*8975f5c5SAndroid Build Coastguard Worker  * render the system unresponsive.
1316*8975f5c5SAndroid Build Coastguard Worker  *
1317*8975f5c5SAndroid Build Coastguard Worker  * Note: while this attribute can always be queried, it can't be set
1318*8975f5c5SAndroid Build Coastguard Worker  * unless NV_CTRL_GPU_OVERCLOCKING_STATE is set to _MANUAL.  Since
1319*8975f5c5SAndroid Build Coastguard Worker  * the target clocks may be rejected, the requester should read this
1320*8975f5c5SAndroid Build Coastguard Worker  * attribute after the set to determine success or failure.
1321*8975f5c5SAndroid Build Coastguard Worker  *
1322*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_{2,3}D_CLOCK_FREQS are "packed" integer attributes; the
1323*8975f5c5SAndroid Build Coastguard Worker  * GPU clock is stored in the upper 16 bits of the integer, and the
1324*8975f5c5SAndroid Build Coastguard Worker  * memory clock is stored in the lower 16 bits of the integer.  All
1325*8975f5c5SAndroid Build Coastguard Worker  * clock values are in MHz.
1326*8975f5c5SAndroid Build Coastguard Worker  */
1327*8975f5c5SAndroid Build Coastguard Worker 
1328*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_2D_CLOCK_FREQS 89 /* RW-G */
1329*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_3D_CLOCK_FREQS 90 /* RW-G */
1330*8975f5c5SAndroid Build Coastguard Worker 
1331*8975f5c5SAndroid Build Coastguard Worker /*
1332*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_DEFAULT_{2,3}D_CLOCK_FREQS - query the default memory
1333*8975f5c5SAndroid Build Coastguard Worker  * and GPU core clocks of the device driving the X screen.
1334*8975f5c5SAndroid Build Coastguard Worker  *
1335*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_DEFAULT_{2,3}D_CLOCK_FREQS are "packed" integer
1336*8975f5c5SAndroid Build Coastguard Worker  * attributes; the GPU clock is stored in the upper 16 bits of the
1337*8975f5c5SAndroid Build Coastguard Worker  * integer, and the memory clock is stored in the lower 16 bits of the
1338*8975f5c5SAndroid Build Coastguard Worker  * integer.  All clock values are in MHz.
1339*8975f5c5SAndroid Build Coastguard Worker  */
1340*8975f5c5SAndroid Build Coastguard Worker 
1341*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_DEFAULT_2D_CLOCK_FREQS 91 /* R--G */
1342*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_DEFAULT_3D_CLOCK_FREQS 92 /* R--G */
1343*8975f5c5SAndroid Build Coastguard Worker 
1344*8975f5c5SAndroid Build Coastguard Worker /*
1345*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_CURRENT_CLOCK_FREQS - query the current GPU and memory
1346*8975f5c5SAndroid Build Coastguard Worker  * clocks of the graphics device driving the X screen.
1347*8975f5c5SAndroid Build Coastguard Worker  *
1348*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_CURRENT_CLOCK_FREQS is a "packed" integer attribute;
1349*8975f5c5SAndroid Build Coastguard Worker  * the GPU clock is stored in the upper 16 bits of the integer, and
1350*8975f5c5SAndroid Build Coastguard Worker  * the memory clock is stored in the lower 16 bits of the integer.
1351*8975f5c5SAndroid Build Coastguard Worker  * All clock values are in MHz.  All clock values are in MHz.
1352*8975f5c5SAndroid Build Coastguard Worker  */
1353*8975f5c5SAndroid Build Coastguard Worker 
1354*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_CURRENT_CLOCK_FREQS 93 /* R--G */
1355*8975f5c5SAndroid Build Coastguard Worker 
1356*8975f5c5SAndroid Build Coastguard Worker /*
1357*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS - Holds the last calculated
1358*8975f5c5SAndroid Build Coastguard Worker  * optimal 3D clock frequencies found by the
1359*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION process.  Querying this
1360*8975f5c5SAndroid Build Coastguard Worker  * attribute before having probed for the optimal clocks will return
1361*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_INVALID
1362*8975f5c5SAndroid Build Coastguard Worker  *
1363*8975f5c5SAndroid Build Coastguard Worker  * Note: unless NV_CTRL_GPU_OVERCLOCKING_STATE is set to _MANUAL, the
1364*8975f5c5SAndroid Build Coastguard Worker  * optimal clock detection process is unavailable.
1365*8975f5c5SAndroid Build Coastguard Worker  */
1366*8975f5c5SAndroid Build Coastguard Worker 
1367*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS 94 /* R--G */
1368*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_INVALID 0
1369*8975f5c5SAndroid Build Coastguard Worker 
1370*8975f5c5SAndroid Build Coastguard Worker /*
1371*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION - set to _START to
1372*8975f5c5SAndroid Build Coastguard Worker  * initiate testing for the optimal 3D clock frequencies.  Once
1373*8975f5c5SAndroid Build Coastguard Worker  * found, the optimal clock frequencies will be returned by the
1374*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS attribute asynchronously
1375*8975f5c5SAndroid Build Coastguard Worker  * (using an X event, see XNVCtrlSelectNotify).
1376*8975f5c5SAndroid Build Coastguard Worker  *
1377*8975f5c5SAndroid Build Coastguard Worker  * To cancel an ongoing test for the optimal clocks, set the
1378*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION attribute to _CANCEL
1379*8975f5c5SAndroid Build Coastguard Worker  *
1380*8975f5c5SAndroid Build Coastguard Worker  * Note: unless NV_CTRL_GPU_OVERCLOCKING_STATE is set to _MANUAL, the
1381*8975f5c5SAndroid Build Coastguard Worker  * optimal clock detection process is unavailable.
1382*8975f5c5SAndroid Build Coastguard Worker  */
1383*8975f5c5SAndroid Build Coastguard Worker 
1384*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION 95 /* -W-G */
1385*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_START 0
1386*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_CANCEL 1
1387*8975f5c5SAndroid Build Coastguard Worker 
1388*8975f5c5SAndroid Build Coastguard Worker /*
1389*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_STATE - query this
1390*8975f5c5SAndroid Build Coastguard Worker  * variable to know if a test is currently being run to
1391*8975f5c5SAndroid Build Coastguard Worker  * determine the optimal 3D clock frequencies.  _BUSY means a
1392*8975f5c5SAndroid Build Coastguard Worker  * test is currently running, _IDLE means the test is not running.
1393*8975f5c5SAndroid Build Coastguard Worker  *
1394*8975f5c5SAndroid Build Coastguard Worker  * Note: unless NV_CTRL_GPU_OVERCLOCKING_STATE is set to _MANUAL, the
1395*8975f5c5SAndroid Build Coastguard Worker  * optimal clock detection process is unavailable.
1396*8975f5c5SAndroid Build Coastguard Worker  */
1397*8975f5c5SAndroid Build Coastguard Worker 
1398*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_STATE 96 /* R--G */
1399*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_STATE_IDLE 0
1400*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_OPTIMAL_CLOCK_FREQS_DETECTION_STATE_BUSY 1
1401*8975f5c5SAndroid Build Coastguard Worker 
1402*8975f5c5SAndroid Build Coastguard Worker /*
1403*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FLATPANEL_CHIP_LOCATION - for the specified display device,
1404*8975f5c5SAndroid Build Coastguard Worker  * report whether the flat panel is driven by the on-chip controller,
1405*8975f5c5SAndroid Build Coastguard Worker  * or a separate controller chip elsewhere on the graphics board.
1406*8975f5c5SAndroid Build Coastguard Worker  * This attribute is only available for flat panels.
1407*8975f5c5SAndroid Build Coastguard Worker  */
1408*8975f5c5SAndroid Build Coastguard Worker 
1409*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_CHIP_LOCATION 215 /* R-DG */
1410*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_CHIP_LOCATION_INTERNAL 0
1411*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_CHIP_LOCATION_EXTERNAL 1
1412*8975f5c5SAndroid Build Coastguard Worker 
1413*8975f5c5SAndroid Build Coastguard Worker /*
1414*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FLATPANEL_LINK - report the number of links for a DVI connection, or
1415*8975f5c5SAndroid Build Coastguard Worker  * the main link's active lane count for DisplayPort.
1416*8975f5c5SAndroid Build Coastguard Worker  * This attribute is only available for flat panels.
1417*8975f5c5SAndroid Build Coastguard Worker  */
1418*8975f5c5SAndroid Build Coastguard Worker 
1419*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_LINK 216 /* R-DG */
1420*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_LINK_SINGLE 0
1421*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_LINK_DUAL 1
1422*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_LINK_QUAD 3
1423*8975f5c5SAndroid Build Coastguard Worker 
1424*8975f5c5SAndroid Build Coastguard Worker /*
1425*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FLATPANEL_SIGNAL - for the specified display device, report
1426*8975f5c5SAndroid Build Coastguard Worker  * whether the flat panel is driven by an LVDS, TMDS, or DisplayPort signal.
1427*8975f5c5SAndroid Build Coastguard Worker  * This attribute is only available for flat panels.
1428*8975f5c5SAndroid Build Coastguard Worker  */
1429*8975f5c5SAndroid Build Coastguard Worker 
1430*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_SIGNAL 217 /* R-DG */
1431*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_SIGNAL_LVDS 0
1432*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_SIGNAL_TMDS 1
1433*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_SIGNAL_DISPLAYPORT 2
1434*8975f5c5SAndroid Build Coastguard Worker 
1435*8975f5c5SAndroid Build Coastguard Worker /*
1436*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_USE_HOUSE_SYNC - when TRUE, the server (master) frame lock
1437*8975f5c5SAndroid Build Coastguard Worker  * device will propagate the incoming house sync signal as the outgoing
1438*8975f5c5SAndroid Build Coastguard Worker  * frame lock sync signal.  If the frame lock device cannot detect a
1439*8975f5c5SAndroid Build Coastguard Worker  * frame lock sync signal, it will default to using the internal timings
1440*8975f5c5SAndroid Build Coastguard Worker  * from the GPU connected to the primary connector.
1441*8975f5c5SAndroid Build Coastguard Worker  *
1442*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
1443*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_FRAMELOCK or NV_CTRL_TARGET_TYPE_X_SCREEN
1444*8975f5c5SAndroid Build Coastguard Worker  * target.
1445*8975f5c5SAndroid Build Coastguard Worker  */
1446*8975f5c5SAndroid Build Coastguard Worker 
1447*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_USE_HOUSE_SYNC 218 /* RW-F */
1448*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_USE_HOUSE_SYNC_FALSE 0
1449*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_USE_HOUSE_SYNC_TRUE 1
1450*8975f5c5SAndroid Build Coastguard Worker 
1451*8975f5c5SAndroid Build Coastguard Worker /*
1452*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_EDID_AVAILABLE - report if an EDID is available for the
1453*8975f5c5SAndroid Build Coastguard Worker  * specified display device.
1454*8975f5c5SAndroid Build Coastguard Worker  *
1455*8975f5c5SAndroid Build Coastguard Worker  * This attribute may also be queried through XNVCTRLQueryTargetAttribute()
1456*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN
1457*8975f5c5SAndroid Build Coastguard Worker  * target.
1458*8975f5c5SAndroid Build Coastguard Worker  */
1459*8975f5c5SAndroid Build Coastguard Worker 
1460*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_EDID_AVAILABLE 219 /* R-DG */
1461*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_EDID_AVAILABLE_FALSE 0
1462*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_EDID_AVAILABLE_TRUE 1
1463*8975f5c5SAndroid Build Coastguard Worker 
1464*8975f5c5SAndroid Build Coastguard Worker /*
1465*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FORCE_STEREO - when TRUE, OpenGL will force stereo flipping
1466*8975f5c5SAndroid Build Coastguard Worker  * even when no stereo drawables are visible (if the device is configured
1467*8975f5c5SAndroid Build Coastguard Worker  * to support it, see the "Stereo" X config option).
1468*8975f5c5SAndroid Build Coastguard Worker  * When false, fall back to the default behavior of only flipping when a
1469*8975f5c5SAndroid Build Coastguard Worker  * stereo drawable is visible.
1470*8975f5c5SAndroid Build Coastguard Worker  */
1471*8975f5c5SAndroid Build Coastguard Worker 
1472*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FORCE_STEREO 220 /* RW- */
1473*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FORCE_STEREO_FALSE 0
1474*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FORCE_STEREO_TRUE 1
1475*8975f5c5SAndroid Build Coastguard Worker 
1476*8975f5c5SAndroid Build Coastguard Worker /*
1477*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_IMAGE_SETTINGS - the image quality setting for OpenGL clients.
1478*8975f5c5SAndroid Build Coastguard Worker  *
1479*8975f5c5SAndroid Build Coastguard Worker  * This setting is only applied to OpenGL clients that are started
1480*8975f5c5SAndroid Build Coastguard Worker  * after this setting is applied.
1481*8975f5c5SAndroid Build Coastguard Worker  */
1482*8975f5c5SAndroid Build Coastguard Worker 
1483*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_IMAGE_SETTINGS 221 /* RW-X */
1484*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_IMAGE_SETTINGS_HIGH_QUALITY 0
1485*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_IMAGE_SETTINGS_QUALITY 1
1486*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_IMAGE_SETTINGS_PERFORMANCE 2
1487*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_IMAGE_SETTINGS_HIGH_PERFORMANCE 3
1488*8975f5c5SAndroid Build Coastguard Worker 
1489*8975f5c5SAndroid Build Coastguard Worker /*
1490*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_XINERAMA - return whether xinerama is enabled
1491*8975f5c5SAndroid Build Coastguard Worker  */
1492*8975f5c5SAndroid Build Coastguard Worker 
1493*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_XINERAMA 222 /* R--G */
1494*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_XINERAMA_OFF 0
1495*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_XINERAMA_ON 1
1496*8975f5c5SAndroid Build Coastguard Worker 
1497*8975f5c5SAndroid Build Coastguard Worker /*
1498*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_XINERAMA_STEREO - when TRUE, OpenGL will allow stereo flipping
1499*8975f5c5SAndroid Build Coastguard Worker  * on multiple X screens configured with Xinerama.
1500*8975f5c5SAndroid Build Coastguard Worker  * When FALSE, flipping is allowed only on one X screen at a time.
1501*8975f5c5SAndroid Build Coastguard Worker  */
1502*8975f5c5SAndroid Build Coastguard Worker 
1503*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_XINERAMA_STEREO 223 /* RW- */
1504*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_XINERAMA_STEREO_FALSE 0
1505*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_XINERAMA_STEREO_TRUE 1
1506*8975f5c5SAndroid Build Coastguard Worker 
1507*8975f5c5SAndroid Build Coastguard Worker /*
1508*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BUS_RATE - if the bus type of the specified device is AGP, then
1509*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BUS_RATE returns the configured AGP transfer rate.  If the bus type
1510*8975f5c5SAndroid Build Coastguard Worker  * is PCI Express, then this attribute returns the maximum link width.
1511*8975f5c5SAndroid Build Coastguard Worker  * When this attribute is queried on an X screen target, the bus rate of the
1512*8975f5c5SAndroid Build Coastguard Worker  * GPU driving the X screen is returned.
1513*8975f5c5SAndroid Build Coastguard Worker  */
1514*8975f5c5SAndroid Build Coastguard Worker 
1515*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BUS_RATE 224 /* R--GI */
1516*8975f5c5SAndroid Build Coastguard Worker 
1517*8975f5c5SAndroid Build Coastguard Worker /*
1518*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_PCIE_MAX_LINK_WIDTH - returns the maximum
1519*8975f5c5SAndroid Build Coastguard Worker  * PCIe link width, in number of lanes.
1520*8975f5c5SAndroid Build Coastguard Worker  */
1521*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_PCIE_MAX_LINK_WIDTH NV_CTRL_BUS_RATE
1522*8975f5c5SAndroid Build Coastguard Worker 
1523*8975f5c5SAndroid Build Coastguard Worker /*
1524*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_SHOW_SLI_HUD - when TRUE, OpenGL will draw information about the
1525*8975f5c5SAndroid Build Coastguard Worker  * current SLI mode.
1526*8975f5c5SAndroid Build Coastguard Worker  * Renamed this attribute to NV_CTRL_SHOW_SLI_VISUAL_INDICATOR
1527*8975f5c5SAndroid Build Coastguard Worker  */
1528*8975f5c5SAndroid Build Coastguard Worker 
1529*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SHOW_SLI_HUD NV_CTRL_SHOW_SLI_VISUAL_INDICATOR
1530*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SHOW_SLI_HUD_FALSE NV_CTRL_SHOW_SLI_VISUAL_INDICATOR_FALSE
1531*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SHOW_SLI_HUD_TRUE NV_CTRL_SHOW_SLI_VISUAL_INDICATOR_TRUE
1532*8975f5c5SAndroid Build Coastguard Worker 
1533*8975f5c5SAndroid Build Coastguard Worker /*
1534*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_SHOW_SLI_VISUAL_INDICATOR - when TRUE, OpenGL will draw information
1535*8975f5c5SAndroid Build Coastguard Worker  * about the current SLI mode.
1536*8975f5c5SAndroid Build Coastguard Worker  */
1537*8975f5c5SAndroid Build Coastguard Worker 
1538*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SHOW_SLI_VISUAL_INDICATOR 225 /* RW-X */
1539*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SHOW_SLI_VISUAL_INDICATOR_FALSE 0
1540*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SHOW_SLI_VISUAL_INDICATOR_TRUE 1
1541*8975f5c5SAndroid Build Coastguard Worker 
1542*8975f5c5SAndroid Build Coastguard Worker /*
1543*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_XV_SYNC_TO_DISPLAY - this control is valid when TwinView and
1544*8975f5c5SAndroid Build Coastguard Worker  * XVideo Sync To VBlank are enabled.
1545*8975f5c5SAndroid Build Coastguard Worker  * It controls which display device will be synched to.
1546*8975f5c5SAndroid Build Coastguard Worker  */
1547*8975f5c5SAndroid Build Coastguard Worker 
1548*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_XV_SYNC_TO_DISPLAY 226 /* RW- */
1549*8975f5c5SAndroid Build Coastguard Worker 
1550*8975f5c5SAndroid Build Coastguard Worker /*
1551*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT2 - this attribute is only
1552*8975f5c5SAndroid Build Coastguard Worker  * intended to be used to query the ValidValues for
1553*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT for VIDEO_FORMAT values between
1554*8975f5c5SAndroid Build Coastguard Worker  * 31 and 63.  See NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT for details.
1555*8975f5c5SAndroid Build Coastguard Worker  */
1556*8975f5c5SAndroid Build Coastguard Worker 
1557*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT2 227 /* ---GI */
1558*8975f5c5SAndroid Build Coastguard Worker 
1559*8975f5c5SAndroid Build Coastguard Worker /*
1560*8975f5c5SAndroid Build Coastguard Worker  * The following is deprecated; use NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT2,
1561*8975f5c5SAndroid Build Coastguard Worker  * instead
1562*8975f5c5SAndroid Build Coastguard Worker  */
1563*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT2 227 /* --- */
1564*8975f5c5SAndroid Build Coastguard Worker 
1565*8975f5c5SAndroid Build Coastguard Worker /*
1566*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_OVERRIDE_HW_CSC - Override the SDI hardware's Color Space
1567*8975f5c5SAndroid Build Coastguard Worker  * Conversion with the values controlled through
1568*8975f5c5SAndroid Build Coastguard Worker  * XNVCTRLSetGvoColorConversion() and XNVCTRLGetGvoColorConversion().  If
1569*8975f5c5SAndroid Build Coastguard Worker  * this attribute is FALSE, then the values specified through
1570*8975f5c5SAndroid Build Coastguard Worker  * XNVCTRLSetGvoColorConversion() are ignored.
1571*8975f5c5SAndroid Build Coastguard Worker  */
1572*8975f5c5SAndroid Build Coastguard Worker 
1573*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_OVERRIDE_HW_CSC 228 /* RW- */
1574*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_OVERRIDE_HW_CSC_FALSE 0
1575*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_OVERRIDE_HW_CSC_TRUE 1
1576*8975f5c5SAndroid Build Coastguard Worker 
1577*8975f5c5SAndroid Build Coastguard Worker /*
1578*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_CAPABILITIES - this read-only attribute describes GVO
1579*8975f5c5SAndroid Build Coastguard Worker  * capabilities that differ between NVIDIA SDI products.  This value
1580*8975f5c5SAndroid Build Coastguard Worker  * is a bitmask where each bit indicates whether that capability is
1581*8975f5c5SAndroid Build Coastguard Worker  * available.
1582*8975f5c5SAndroid Build Coastguard Worker  *
1583*8975f5c5SAndroid Build Coastguard Worker  * APPLY_CSC_IMMEDIATELY - whether the CSC matrix, offset, and scale
1584*8975f5c5SAndroid Build Coastguard Worker  * specified through XNVCTRLSetGvoColorConversion() will take affect
1585*8975f5c5SAndroid Build Coastguard Worker  * immediately, or only after SDI output is disabled and enabled
1586*8975f5c5SAndroid Build Coastguard Worker  * again.
1587*8975f5c5SAndroid Build Coastguard Worker  *
1588*8975f5c5SAndroid Build Coastguard Worker  * APPLY_CSC_TO_X_SCREEN - whether the CSC matrix, offset, and scale
1589*8975f5c5SAndroid Build Coastguard Worker  * specified through XNVCTRLSetGvoColorConversion() will also apply
1590*8975f5c5SAndroid Build Coastguard Worker  * to GVO output of an X screen, or only to OpenGL GVO output, as
1591*8975f5c5SAndroid Build Coastguard Worker  * enabled through the GLX_NV_video_out extension.
1592*8975f5c5SAndroid Build Coastguard Worker  *
1593*8975f5c5SAndroid Build Coastguard Worker  * COMPOSITE_TERMINATION - whether the 75 ohm termination of the
1594*8975f5c5SAndroid Build Coastguard Worker  * SDI composite input signal can be programmed through the
1595*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_COMPOSITE_TERMINATION attribute.
1596*8975f5c5SAndroid Build Coastguard Worker  *
1597*8975f5c5SAndroid Build Coastguard Worker  * SHARED_SYNC_BNC - whether the SDI device has a single BNC
1598*8975f5c5SAndroid Build Coastguard Worker  * connector used for both (SDI & Composite) incoming signals.
1599*8975f5c5SAndroid Build Coastguard Worker  *
1600*8975f5c5SAndroid Build Coastguard Worker  * MULTIRATE_SYNC - whether the SDI device supports synchronization
1601*8975f5c5SAndroid Build Coastguard Worker  * of input and output video modes that match in being odd or even
1602*8975f5c5SAndroid Build Coastguard Worker  * modes (ie, AA.00 Hz modes can be synched to other BB.00 Hz modes and
1603*8975f5c5SAndroid Build Coastguard Worker  * AA.XX Hz can match to BB.YY Hz where .XX and .YY are not .00)
1604*8975f5c5SAndroid Build Coastguard Worker  */
1605*8975f5c5SAndroid Build Coastguard Worker 
1606*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_CAPABILITIES 229 /* R-- */
1607*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_CAPABILITIES_APPLY_CSC_IMMEDIATELY 0x00000001
1608*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_CAPABILITIES_APPLY_CSC_TO_X_SCREEN 0x00000002
1609*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_CAPABILITIES_COMPOSITE_TERMINATION 0x00000004
1610*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_CAPABILITIES_SHARED_SYNC_BNC 0x00000008
1611*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_CAPABILITIES_MULTIRATE_SYNC 0x00000010
1612*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_CAPABILITIES_ADVANCE_SYNC_SKEW 0x00000020
1613*8975f5c5SAndroid Build Coastguard Worker 
1614*8975f5c5SAndroid Build Coastguard Worker /*
1615*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_COMPOSITE_TERMINATION - enable or disable 75 ohm
1616*8975f5c5SAndroid Build Coastguard Worker  * termination of the SDI composite input signal.
1617*8975f5c5SAndroid Build Coastguard Worker  */
1618*8975f5c5SAndroid Build Coastguard Worker 
1619*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_TERMINATION 230 /* RW- */
1620*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_TERMINATION_ENABLE 1
1621*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_TERMINATION_DISABLE 0
1622*8975f5c5SAndroid Build Coastguard Worker 
1623*8975f5c5SAndroid Build Coastguard Worker /*
1624*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_ASSOCIATED_DISPLAY_DEVICES - display device mask indicating
1625*8975f5c5SAndroid Build Coastguard Worker  * which display devices are "associated" with the specified X screen
1626*8975f5c5SAndroid Build Coastguard Worker  * (ie: are available to the X screen for displaying the X screen).
1627*8975f5c5SAndroid Build Coastguard Worker  */
1628*8975f5c5SAndroid Build Coastguard Worker 
1629*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_ASSOCIATED_DISPLAY_DEVICES 231 /* RW- */
1630*8975f5c5SAndroid Build Coastguard Worker 
1631*8975f5c5SAndroid Build Coastguard Worker /*
1632*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_SLAVES - get/set whether the display device(s)
1633*8975f5c5SAndroid Build Coastguard Worker  * given should listen or ignore the master's sync signal.
1634*8975f5c5SAndroid Build Coastguard Worker  *
1635*8975f5c5SAndroid Build Coastguard Worker  * This attribute can only be queried through XNVCTRLQueryTargetAttribute()
1636*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU target.  This attribute cannot be
1637*8975f5c5SAndroid Build Coastguard Worker  * queried using a NV_CTRL_TARGET_TYPE_X_SCREEN.
1638*8975f5c5SAndroid Build Coastguard Worker  */
1639*8975f5c5SAndroid Build Coastguard Worker 
1640*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SLAVES 232 /* RW-G */
1641*8975f5c5SAndroid Build Coastguard Worker 
1642*8975f5c5SAndroid Build Coastguard Worker /*
1643*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_MASTERABLE - Can any of the given display devices
1644*8975f5c5SAndroid Build Coastguard Worker  * be set as master of the frame lock group.  Returns a bitmask of the
1645*8975f5c5SAndroid Build Coastguard Worker  * corresponding display devices that can be set as master.
1646*8975f5c5SAndroid Build Coastguard Worker  *
1647*8975f5c5SAndroid Build Coastguard Worker  * This attribute can only be queried through XNVCTRLQueryTargetAttribute()
1648*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU target.  This attribute cannot be
1649*8975f5c5SAndroid Build Coastguard Worker  * queried using a NV_CTRL_TARGET_TYPE_X_SCREEN.
1650*8975f5c5SAndroid Build Coastguard Worker  */
1651*8975f5c5SAndroid Build Coastguard Worker 
1652*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_MASTERABLE 233 /* R-DG */
1653*8975f5c5SAndroid Build Coastguard Worker 
1654*8975f5c5SAndroid Build Coastguard Worker /*
1655*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_PROBE_DISPLAYS - re-probes the hardware to detect what
1656*8975f5c5SAndroid Build Coastguard Worker  * display devices are connected to the GPU or GPU driving the
1657*8975f5c5SAndroid Build Coastguard Worker  * specified X screen.  Returns a display mask.
1658*8975f5c5SAndroid Build Coastguard Worker  *
1659*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
1660*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target.
1661*8975f5c5SAndroid Build Coastguard Worker  */
1662*8975f5c5SAndroid Build Coastguard Worker 
1663*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_PROBE_DISPLAYS 234 /* R--G */
1664*8975f5c5SAndroid Build Coastguard Worker 
1665*8975f5c5SAndroid Build Coastguard Worker /*
1666*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_REFRESH_RATE - Returns the refresh rate of the specified
1667*8975f5c5SAndroid Build Coastguard Worker  * display device in 100 * Hz (ie. to get the refresh rate in Hz, divide
1668*8975f5c5SAndroid Build Coastguard Worker  * the returned value by 100.)
1669*8975f5c5SAndroid Build Coastguard Worker  *
1670*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
1671*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target.
1672*8975f5c5SAndroid Build Coastguard Worker  */
1673*8975f5c5SAndroid Build Coastguard Worker 
1674*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_REFRESH_RATE 235 /* R-DG */
1675*8975f5c5SAndroid Build Coastguard Worker 
1676*8975f5c5SAndroid Build Coastguard Worker /*
1677*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_FLIP_QUEUE_SIZE - The Graphics to Video Out interface
1678*8975f5c5SAndroid Build Coastguard Worker  * exposed through NV-CONTROL and the GLX_NV_video_out extension uses
1679*8975f5c5SAndroid Build Coastguard Worker  * an internal flip queue when pbuffers are sent to the video device
1680*8975f5c5SAndroid Build Coastguard Worker  * (via glXSendPbufferToVideoNV()).  The NV_CTRL_GVO_FLIP_QUEUE_SIZE
1681*8975f5c5SAndroid Build Coastguard Worker  * can be used to query and assign the flip queue size.  This
1682*8975f5c5SAndroid Build Coastguard Worker  * attribute is applied to GLX when glXGetVideoDeviceNV() is called by
1683*8975f5c5SAndroid Build Coastguard Worker  * the application.
1684*8975f5c5SAndroid Build Coastguard Worker  */
1685*8975f5c5SAndroid Build Coastguard Worker 
1686*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_FLIP_QUEUE_SIZE 236 /* RW- */
1687*8975f5c5SAndroid Build Coastguard Worker 
1688*8975f5c5SAndroid Build Coastguard Worker /*
1689*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_CURRENT_SCANLINE - query the current scanline for the
1690*8975f5c5SAndroid Build Coastguard Worker  * specified display device.
1691*8975f5c5SAndroid Build Coastguard Worker  */
1692*8975f5c5SAndroid Build Coastguard Worker 
1693*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURRENT_SCANLINE 237 /* R-DG */
1694*8975f5c5SAndroid Build Coastguard Worker 
1695*8975f5c5SAndroid Build Coastguard Worker /*
1696*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_INITIAL_PIXMAP_PLACEMENT - Controls where X pixmaps are initially
1697*8975f5c5SAndroid Build Coastguard Worker  * created.
1698*8975f5c5SAndroid Build Coastguard Worker  *
1699*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_INITIAL_PIXMAP_PLACEMENT_FORCE_SYSMEM causes pixmaps to stay in
1700*8975f5c5SAndroid Build Coastguard Worker  * system memory. These pixmaps can't be accelerated by the NVIDIA driver; this
1701*8975f5c5SAndroid Build Coastguard Worker  * will cause blank windows if used with an OpenGL compositing manager.
1702*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_INITIAL_PIXMAP_PLACEMENT_SYSMEM creates pixmaps in system memory
1703*8975f5c5SAndroid Build Coastguard Worker  * initially, but allows them to migrate to video memory.
1704*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_INITIAL_PIXMAP_PLACEMENT_VIDMEM creates pixmaps in video memory
1705*8975f5c5SAndroid Build Coastguard Worker  * when enough resources are available.
1706*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_INITIAL_PIXMAP_PLACEMENT_RESERVED is currently reserved for future
1707*8975f5c5SAndroid Build Coastguard Worker  * use.  Behavior is undefined.
1708*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_INITIAL_PIXMAP_PLACEMENT_GPU_SYSMEM creates pixmaps in GPU accessible
1709*8975f5c5SAndroid Build Coastguard Worker  * system memory when enough resources are available.
1710*8975f5c5SAndroid Build Coastguard Worker  */
1711*8975f5c5SAndroid Build Coastguard Worker 
1712*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_INITIAL_PIXMAP_PLACEMENT 238 /* RW- */
1713*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_INITIAL_PIXMAP_PLACEMENT_FORCE_SYSMEM 0
1714*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_INITIAL_PIXMAP_PLACEMENT_SYSMEM 1
1715*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_INITIAL_PIXMAP_PLACEMENT_VIDMEM 2
1716*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_INITIAL_PIXMAP_PLACEMENT_RESERVED 3
1717*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_INITIAL_PIXMAP_PLACEMENT_GPU_SYSMEM 4
1718*8975f5c5SAndroid Build Coastguard Worker 
1719*8975f5c5SAndroid Build Coastguard Worker /*
1720*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_PCI_BUS - Returns the PCI bus number the specified device is using.
1721*8975f5c5SAndroid Build Coastguard Worker  */
1722*8975f5c5SAndroid Build Coastguard Worker 
1723*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_PCI_BUS 239 /* R--GI */
1724*8975f5c5SAndroid Build Coastguard Worker 
1725*8975f5c5SAndroid Build Coastguard Worker /*
1726*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_PCI_DEVICE - Returns the PCI device number the specified device is
1727*8975f5c5SAndroid Build Coastguard Worker  * using.
1728*8975f5c5SAndroid Build Coastguard Worker  */
1729*8975f5c5SAndroid Build Coastguard Worker 
1730*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_PCI_DEVICE 240 /* R--GI */
1731*8975f5c5SAndroid Build Coastguard Worker 
1732*8975f5c5SAndroid Build Coastguard Worker /*
1733*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_PCI_FUNCTION - Returns the PCI function number the specified device
1734*8975f5c5SAndroid Build Coastguard Worker  * is using.
1735*8975f5c5SAndroid Build Coastguard Worker  */
1736*8975f5c5SAndroid Build Coastguard Worker 
1737*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_PCI_FUNCTION 241 /* R--GI */
1738*8975f5c5SAndroid Build Coastguard Worker 
1739*8975f5c5SAndroid Build Coastguard Worker /*
1740*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_FPGA_REVISION - Querys the FPGA revision of the
1741*8975f5c5SAndroid Build Coastguard Worker  * Frame Lock device.
1742*8975f5c5SAndroid Build Coastguard Worker  *
1743*8975f5c5SAndroid Build Coastguard Worker  * This attribute must be queried through XNVCTRLQueryTargetAttribute()
1744*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_FRAMELOCK target.
1745*8975f5c5SAndroid Build Coastguard Worker  */
1746*8975f5c5SAndroid Build Coastguard Worker 
1747*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_FPGA_REVISION 242 /* R--F */
1748*8975f5c5SAndroid Build Coastguard Worker 
1749*8975f5c5SAndroid Build Coastguard Worker /*
1750*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_MAX_SCREEN_{WIDTH,HEIGHT} - the maximum allowable size, in
1751*8975f5c5SAndroid Build Coastguard Worker  * pixels, of either the specified X screen (if the target_type of the
1752*8975f5c5SAndroid Build Coastguard Worker  * query is an X screen), or any X screen on the specified GPU (if the
1753*8975f5c5SAndroid Build Coastguard Worker  * target_type of the query is a GPU).
1754*8975f5c5SAndroid Build Coastguard Worker  */
1755*8975f5c5SAndroid Build Coastguard Worker 
1756*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_MAX_SCREEN_WIDTH 243  /* R--G */
1757*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_MAX_SCREEN_HEIGHT 244 /* R--G */
1758*8975f5c5SAndroid Build Coastguard Worker 
1759*8975f5c5SAndroid Build Coastguard Worker /*
1760*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_MAX_DISPLAYS - the maximum number of display devices that
1761*8975f5c5SAndroid Build Coastguard Worker  * can be driven simultaneously on a GPU (e.g., that can be used in a
1762*8975f5c5SAndroid Build Coastguard Worker  * MetaMode at once).  Note that this does not indicate the maximum
1763*8975f5c5SAndroid Build Coastguard Worker  * number of bits that can be set in NV_CTRL_CONNECTED_DISPLAYS,
1764*8975f5c5SAndroid Build Coastguard Worker  * because more display devices can be connected than are actively in
1765*8975f5c5SAndroid Build Coastguard Worker  * use.
1766*8975f5c5SAndroid Build Coastguard Worker  */
1767*8975f5c5SAndroid Build Coastguard Worker 
1768*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_MAX_DISPLAYS 245 /* R--G */
1769*8975f5c5SAndroid Build Coastguard Worker 
1770*8975f5c5SAndroid Build Coastguard Worker /*
1771*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_DYNAMIC_TWINVIEW - Returns whether or not the screen
1772*8975f5c5SAndroid Build Coastguard Worker  * supports dynamic twinview.
1773*8975f5c5SAndroid Build Coastguard Worker  */
1774*8975f5c5SAndroid Build Coastguard Worker 
1775*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DYNAMIC_TWINVIEW 246 /* R-- */
1776*8975f5c5SAndroid Build Coastguard Worker 
1777*8975f5c5SAndroid Build Coastguard Worker /*
1778*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_MULTIGPU_DISPLAY_OWNER - Returns the (NV-CONTROL) GPU ID of
1779*8975f5c5SAndroid Build Coastguard Worker  * the GPU that has the display device(s) used for showing the X Screen.
1780*8975f5c5SAndroid Build Coastguard Worker  */
1781*8975f5c5SAndroid Build Coastguard Worker 
1782*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_MULTIGPU_DISPLAY_OWNER 247 /* R-- */
1783*8975f5c5SAndroid Build Coastguard Worker 
1784*8975f5c5SAndroid Build Coastguard Worker /*
1785*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_SCALING - not supported
1786*8975f5c5SAndroid Build Coastguard Worker  */
1787*8975f5c5SAndroid Build Coastguard Worker 
1788*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_SCALING 248 /* RWDG */
1789*8975f5c5SAndroid Build Coastguard Worker 
1790*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_SCALING_TARGET_INVALID 0
1791*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_SCALING_TARGET_FLATPANEL_BEST_FIT 1
1792*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_SCALING_TARGET_FLATPANEL_NATIVE 2
1793*8975f5c5SAndroid Build Coastguard Worker 
1794*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_SCALING_METHOD_INVALID 0
1795*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_SCALING_METHOD_STRETCHED 1
1796*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_SCALING_METHOD_CENTERED 2
1797*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_SCALING_METHOD_ASPECT_SCALED 3
1798*8975f5c5SAndroid Build Coastguard Worker 
1799*8975f5c5SAndroid Build Coastguard Worker /*
1800*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRONTEND_RESOLUTION - not supported
1801*8975f5c5SAndroid Build Coastguard Worker  */
1802*8975f5c5SAndroid Build Coastguard Worker 
1803*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRONTEND_RESOLUTION 249 /* R-DG */
1804*8975f5c5SAndroid Build Coastguard Worker 
1805*8975f5c5SAndroid Build Coastguard Worker /*
1806*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BACKEND_RESOLUTION - not supported
1807*8975f5c5SAndroid Build Coastguard Worker  */
1808*8975f5c5SAndroid Build Coastguard Worker 
1809*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BACKEND_RESOLUTION 250 /* R-DG */
1810*8975f5c5SAndroid Build Coastguard Worker 
1811*8975f5c5SAndroid Build Coastguard Worker /*
1812*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FLATPANEL_NATIVE_RESOLUTION - Returns the dimensions of the
1813*8975f5c5SAndroid Build Coastguard Worker  * native resolution of the flat panel as determined by the
1814*8975f5c5SAndroid Build Coastguard Worker  * NVIDIA X Driver.
1815*8975f5c5SAndroid Build Coastguard Worker  *
1816*8975f5c5SAndroid Build Coastguard Worker  * The native resolution is the resolution at which a flat panel
1817*8975f5c5SAndroid Build Coastguard Worker  * must display any image.  All other resolutions must be scaled to this
1818*8975f5c5SAndroid Build Coastguard Worker  * resolution through GPU scaling or the DFP's native scaling capabilities
1819*8975f5c5SAndroid Build Coastguard Worker  * in order to be displayed.
1820*8975f5c5SAndroid Build Coastguard Worker  *
1821*8975f5c5SAndroid Build Coastguard Worker  * This attribute is only valid for flat panel (DFP) display devices.
1822*8975f5c5SAndroid Build Coastguard Worker  *
1823*8975f5c5SAndroid Build Coastguard Worker  * This attribute is a packed integer; the width is packed in the upper
1824*8975f5c5SAndroid Build Coastguard Worker  * 16-bits and the height is packed in the lower 16-bits.
1825*8975f5c5SAndroid Build Coastguard Worker  */
1826*8975f5c5SAndroid Build Coastguard Worker 
1827*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_NATIVE_RESOLUTION 251 /* R-DG */
1828*8975f5c5SAndroid Build Coastguard Worker 
1829*8975f5c5SAndroid Build Coastguard Worker /*
1830*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FLATPANEL_BEST_FIT_RESOLUTION - not supported
1831*8975f5c5SAndroid Build Coastguard Worker  */
1832*8975f5c5SAndroid Build Coastguard Worker 
1833*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FLATPANEL_BEST_FIT_RESOLUTION 252 /* R-DG */
1834*8975f5c5SAndroid Build Coastguard Worker 
1835*8975f5c5SAndroid Build Coastguard Worker /*
1836*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_SCALING_ACTIVE - not supported
1837*8975f5c5SAndroid Build Coastguard Worker  */
1838*8975f5c5SAndroid Build Coastguard Worker 
1839*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_SCALING_ACTIVE 253 /* R-DG */
1840*8975f5c5SAndroid Build Coastguard Worker 
1841*8975f5c5SAndroid Build Coastguard Worker /*
1842*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_DFP_SCALING_ACTIVE - not supported
1843*8975f5c5SAndroid Build Coastguard Worker  */
1844*8975f5c5SAndroid Build Coastguard Worker 
1845*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DFP_SCALING_ACTIVE 254 /* R-DG */
1846*8975f5c5SAndroid Build Coastguard Worker 
1847*8975f5c5SAndroid Build Coastguard Worker /*
1848*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FSAA_APPLICATION_ENHANCED - Controls how the NV_CTRL_FSAA_MODE
1849*8975f5c5SAndroid Build Coastguard Worker  * is applied when NV_CTRL_FSAA_APPLICATION_CONTROLLED is set to
1850*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_APPLICATION_CONTROLLED_DISABLED.  When
1851*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FSAA_APPLICATION_ENHANCED is _DISABLED, OpenGL applications will
1852*8975f5c5SAndroid Build Coastguard Worker  * be forced to use the FSAA mode specified by NV_CTRL_FSAA_MODE.  when set
1853*8975f5c5SAndroid Build Coastguard Worker  * to _ENABLED, only those applications that have selected a multisample
1854*8975f5c5SAndroid Build Coastguard Worker  * FBConfig will be made to use the NV_CTRL_FSAA_MODE specified.
1855*8975f5c5SAndroid Build Coastguard Worker  *
1856*8975f5c5SAndroid Build Coastguard Worker  * This attribute is ignored when NV_CTRL_FSAA_APPLICATION_CONTROLLED is
1857*8975f5c5SAndroid Build Coastguard Worker  * set to NV_CTRL_FSAA_APPLICATION_CONTROLLED_ENABLED.
1858*8975f5c5SAndroid Build Coastguard Worker  */
1859*8975f5c5SAndroid Build Coastguard Worker 
1860*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_APPLICATION_ENHANCED 255 /* RW-X */
1861*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_APPLICATION_ENHANCED_ENABLED 1
1862*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FSAA_APPLICATION_ENHANCED_DISABLED 0
1863*8975f5c5SAndroid Build Coastguard Worker 
1864*8975f5c5SAndroid Build Coastguard Worker /*
1865*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_SYNC_RATE_4 - This is the refresh rate that the
1866*8975f5c5SAndroid Build Coastguard Worker  * frame lock board is sending to the GPU with 4 digits of precision.
1867*8975f5c5SAndroid Build Coastguard Worker  *
1868*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
1869*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_FRAMELOCK.
1870*8975f5c5SAndroid Build Coastguard Worker  */
1871*8975f5c5SAndroid Build Coastguard Worker 
1872*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SYNC_RATE_4 256 /* R--F */
1873*8975f5c5SAndroid Build Coastguard Worker 
1874*8975f5c5SAndroid Build Coastguard Worker /*
1875*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_LOCK_OWNER - indicates that the GVO device is available
1876*8975f5c5SAndroid Build Coastguard Worker  * or in use (by GLX or an X screen).
1877*8975f5c5SAndroid Build Coastguard Worker  *
1878*8975f5c5SAndroid Build Coastguard Worker  * The GVO device is locked by GLX when either glXGetVideoDeviceNV
1879*8975f5c5SAndroid Build Coastguard Worker  * (part of GLX_NV_video_out) or glXBindVideoDeviceNV (part of
1880*8975f5c5SAndroid Build Coastguard Worker  * GLX_NV_present_video) is called.  All GVO output resources are
1881*8975f5c5SAndroid Build Coastguard Worker  * locked until released by the GLX_NV_video_out/GLX_NV_present_video
1882*8975f5c5SAndroid Build Coastguard Worker  * client.
1883*8975f5c5SAndroid Build Coastguard Worker  *
1884*8975f5c5SAndroid Build Coastguard Worker  * The GVO device is locked/unlocked by an X screen, when the GVO device is
1885*8975f5c5SAndroid Build Coastguard Worker  * used in a MetaMode on an X screen.
1886*8975f5c5SAndroid Build Coastguard Worker  *
1887*8975f5c5SAndroid Build Coastguard Worker  * When the GVO device is locked, setting of the following GVO NV-CONTROL
1888*8975f5c5SAndroid Build Coastguard Worker  * attributes will not happen immediately and will instead be cached.  The
1889*8975f5c5SAndroid Build Coastguard Worker  * GVO resource will need to be disabled/released and re-enabled/claimed for
1890*8975f5c5SAndroid Build Coastguard Worker  * the values to be flushed. These attributes are:
1891*8975f5c5SAndroid Build Coastguard Worker  *
1892*8975f5c5SAndroid Build Coastguard Worker  *    NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT
1893*8975f5c5SAndroid Build Coastguard Worker  *    NV_CTRL_GVO_DATA_FORMAT
1894*8975f5c5SAndroid Build Coastguard Worker  *    NV_CTRL_GVO_FLIP_QUEUE_SIZE
1895*8975f5c5SAndroid Build Coastguard Worker  */
1896*8975f5c5SAndroid Build Coastguard Worker 
1897*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_LOCK_OWNER 257 /* R-- */
1898*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_LOCK_OWNER_NONE 0
1899*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_LOCK_OWNER_GLX 1
1900*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_LOCK_OWNER_CLONE /* no longer supported */ 2
1901*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_LOCK_OWNER_X_SCREEN 3
1902*8975f5c5SAndroid Build Coastguard Worker 
1903*8975f5c5SAndroid Build Coastguard Worker /*
1904*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_HWOVERLAY - when a workstation overlay is in use, reports
1905*8975f5c5SAndroid Build Coastguard Worker  * whether the hardware overlay is used, or if the overlay is emulated.
1906*8975f5c5SAndroid Build Coastguard Worker  */
1907*8975f5c5SAndroid Build Coastguard Worker 
1908*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_HWOVERLAY 258 /* R-- */
1909*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_HWOVERLAY_FALSE 0
1910*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_HWOVERLAY_TRUE 1
1911*8975f5c5SAndroid Build Coastguard Worker 
1912*8975f5c5SAndroid Build Coastguard Worker /*
1913*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_NUM_GPU_ERRORS_RECOVERED - Returns the number of GPU errors
1914*8975f5c5SAndroid Build Coastguard Worker  * occured. This attribute may be queried through XNVCTRLQueryTargetAttribute()
1915*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_X_SCREEN target.
1916*8975f5c5SAndroid Build Coastguard Worker  */
1917*8975f5c5SAndroid Build Coastguard Worker 
1918*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_NUM_GPU_ERRORS_RECOVERED 259 /* R--- */
1919*8975f5c5SAndroid Build Coastguard Worker 
1920*8975f5c5SAndroid Build Coastguard Worker /*
1921*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_REFRESH_RATE_3 - Returns the refresh rate of the specified
1922*8975f5c5SAndroid Build Coastguard Worker  * display device in 1000 * Hz (ie. to get the refresh rate in Hz, divide
1923*8975f5c5SAndroid Build Coastguard Worker  * the returned value by 1000.)
1924*8975f5c5SAndroid Build Coastguard Worker  *
1925*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetAttribute()
1926*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target.
1927*8975f5c5SAndroid Build Coastguard Worker  */
1928*8975f5c5SAndroid Build Coastguard Worker 
1929*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_REFRESH_RATE_3 260 /* R-DG */
1930*8975f5c5SAndroid Build Coastguard Worker 
1931*8975f5c5SAndroid Build Coastguard Worker /*
1932*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_ONDEMAND_VBLANK_INTERRUPTS - if the OnDemandVBlankInterrupts
1933*8975f5c5SAndroid Build Coastguard Worker  * X driver option is set to true, this attribute can be used to
1934*8975f5c5SAndroid Build Coastguard Worker  * determine if on-demand VBlank interrupt control is enabled on the
1935*8975f5c5SAndroid Build Coastguard Worker  * specified GPU, as well as to enable or disable this feature.
1936*8975f5c5SAndroid Build Coastguard Worker  */
1937*8975f5c5SAndroid Build Coastguard Worker 
1938*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_ONDEMAND_VBLANK_INTERRUPTS 261 /* RW-G */
1939*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_ONDEMAND_VBLANK_INTERRUPTS_OFF 0
1940*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_ONDEMAND_VBLANK_INTERRUPTS_ON 1
1941*8975f5c5SAndroid Build Coastguard Worker 
1942*8975f5c5SAndroid Build Coastguard Worker /*
1943*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_POWER_SOURCE reports the type of power source
1944*8975f5c5SAndroid Build Coastguard Worker  * of the GPU driving the X screen.
1945*8975f5c5SAndroid Build Coastguard Worker  */
1946*8975f5c5SAndroid Build Coastguard Worker 
1947*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_POWER_SOURCE 262 /* R--G */
1948*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_POWER_SOURCE_AC 0
1949*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_POWER_SOURCE_BATTERY 1
1950*8975f5c5SAndroid Build Coastguard Worker 
1951*8975f5c5SAndroid Build Coastguard Worker /*
1952*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_CURRENT_PERFORMANCE_MODE is deprecated
1953*8975f5c5SAndroid Build Coastguard Worker  */
1954*8975f5c5SAndroid Build Coastguard Worker 
1955*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_CURRENT_PERFORMANCE_MODE 263 /* R--G */
1956*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_CURRENT_PERFORMANCE_MODE_DESKTOP 0
1957*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_CURRENT_PERFORMANCE_MODE_MAXPERF 1
1958*8975f5c5SAndroid Build Coastguard Worker 
1959*8975f5c5SAndroid Build Coastguard Worker /* NV_CTRL_GLYPH_CACHE - Enables RENDER Glyph Caching to VRAM */
1960*8975f5c5SAndroid Build Coastguard Worker 
1961*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GLYPH_CACHE 264 /* RW- */
1962*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GLYPH_CACHE_DISABLED 0
1963*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GLYPH_CACHE_ENABLED 1
1964*8975f5c5SAndroid Build Coastguard Worker 
1965*8975f5c5SAndroid Build Coastguard Worker /*
1966*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_CURRENT_PERFORMANCE_LEVEL reports the current
1967*8975f5c5SAndroid Build Coastguard Worker  * Performance level of the GPU driving the X screen.  Each
1968*8975f5c5SAndroid Build Coastguard Worker  * Performance level has associated NVClock and Mem Clock values.
1969*8975f5c5SAndroid Build Coastguard Worker  */
1970*8975f5c5SAndroid Build Coastguard Worker 
1971*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_CURRENT_PERFORMANCE_LEVEL 265 /* R--G */
1972*8975f5c5SAndroid Build Coastguard Worker 
1973*8975f5c5SAndroid Build Coastguard Worker /*
1974*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_ADAPTIVE_CLOCK_STATE reports if Adaptive Clocking
1975*8975f5c5SAndroid Build Coastguard Worker  * is Enabled on the GPU driving the X screen.
1976*8975f5c5SAndroid Build Coastguard Worker  */
1977*8975f5c5SAndroid Build Coastguard Worker 
1978*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ADAPTIVE_CLOCK_STATE 266 /* R--G */
1979*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ADAPTIVE_CLOCK_STATE_DISABLED 0
1980*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ADAPTIVE_CLOCK_STATE_ENABLED 1
1981*8975f5c5SAndroid Build Coastguard Worker 
1982*8975f5c5SAndroid Build Coastguard Worker /*
1983*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_OUTPUT_VIDEO_LOCKED - Returns whether or not the GVO output
1984*8975f5c5SAndroid Build Coastguard Worker  * video is locked to the GPU.
1985*8975f5c5SAndroid Build Coastguard Worker  */
1986*8975f5c5SAndroid Build Coastguard Worker 
1987*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_OUTPUT_VIDEO_LOCKED 267 /* R--- */
1988*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_OUTPUT_VIDEO_LOCKED_FALSE 0
1989*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_OUTPUT_VIDEO_LOCKED_TRUE 1
1990*8975f5c5SAndroid Build Coastguard Worker 
1991*8975f5c5SAndroid Build Coastguard Worker /*
1992*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_SYNC_LOCK_STATUS - Returns whether or not the GVO device
1993*8975f5c5SAndroid Build Coastguard Worker  * is locked to the input ref signal.  If the sync mode is set to
1994*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_SYNC_MODE_GENLOCK, then this returns the genlock
1995*8975f5c5SAndroid Build Coastguard Worker  * sync status, and if the sync mode is set to NV_CTRL_GVO_SYNC_MODE_FRAMELOCK,
1996*8975f5c5SAndroid Build Coastguard Worker  * then this reports the frame lock status.
1997*8975f5c5SAndroid Build Coastguard Worker  */
1998*8975f5c5SAndroid Build Coastguard Worker 
1999*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SYNC_LOCK_STATUS 268 /* R--- */
2000*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SYNC_LOCK_STATUS_UNLOCKED 0
2001*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SYNC_LOCK_STATUS_LOCKED 1
2002*8975f5c5SAndroid Build Coastguard Worker 
2003*8975f5c5SAndroid Build Coastguard Worker /*
2004*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_ANC_TIME_CODE_GENERATION - Allows SDI device to generate
2005*8975f5c5SAndroid Build Coastguard Worker  * time codes in the ANC region of the SDI video output stream.
2006*8975f5c5SAndroid Build Coastguard Worker  */
2007*8975f5c5SAndroid Build Coastguard Worker 
2008*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_ANC_TIME_CODE_GENERATION 269 /* RW-- */
2009*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_ANC_TIME_CODE_GENERATION_DISABLE 0
2010*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_ANC_TIME_CODE_GENERATION_ENABLE 1
2011*8975f5c5SAndroid Build Coastguard Worker 
2012*8975f5c5SAndroid Build Coastguard Worker /*
2013*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_COMPOSITE - Enables/Disables SDI compositing.  This attribute
2014*8975f5c5SAndroid Build Coastguard Worker  * is only available when an SDI input source is detected and is in genlock
2015*8975f5c5SAndroid Build Coastguard Worker  * mode.
2016*8975f5c5SAndroid Build Coastguard Worker  */
2017*8975f5c5SAndroid Build Coastguard Worker 
2018*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE 270 /* RW-- */
2019*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_DISABLE 0
2020*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_ENABLE 1
2021*8975f5c5SAndroid Build Coastguard Worker 
2022*8975f5c5SAndroid Build Coastguard Worker /*
2023*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_COMPOSITE_ALPHA_KEY - When compositing is enabled, this
2024*8975f5c5SAndroid Build Coastguard Worker  * enables/disables alpha blending.
2025*8975f5c5SAndroid Build Coastguard Worker  */
2026*8975f5c5SAndroid Build Coastguard Worker 
2027*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_ALPHA_KEY 271 /* RW-- */
2028*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_ALPHA_KEY_DISABLE 0
2029*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_ALPHA_KEY_ENABLE 1
2030*8975f5c5SAndroid Build Coastguard Worker 
2031*8975f5c5SAndroid Build Coastguard Worker /*
2032*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_COMPOSITE_LUMA_KEY_RANGE - Set the values of a luma
2033*8975f5c5SAndroid Build Coastguard Worker  * channel range.  This is a packed int that has the following format
2034*8975f5c5SAndroid Build Coastguard Worker  * (in order of high-bits to low bits):
2035*8975f5c5SAndroid Build Coastguard Worker  *
2036*8975f5c5SAndroid Build Coastguard Worker  * Range # (11 bits), (Enabled 1 bit), min value (10 bits), max value (10 bits)
2037*8975f5c5SAndroid Build Coastguard Worker  *
2038*8975f5c5SAndroid Build Coastguard Worker  * To query the current values, pass the range # throught the display_mask
2039*8975f5c5SAndroid Build Coastguard Worker  * variable.
2040*8975f5c5SAndroid Build Coastguard Worker  */
2041*8975f5c5SAndroid Build Coastguard Worker 
2042*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_LUMA_KEY_RANGE 272 /* RW-- */
2043*8975f5c5SAndroid Build Coastguard Worker 
2044*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_MAKE_RANGE(range, enable, min, max)            \
2045*8975f5c5SAndroid Build Coastguard Worker     ((((min)&0x3FF) << 0) | (((max)&0x3FF) << 10) | (((enable)&0x1) << 20) | \
2046*8975f5c5SAndroid Build Coastguard Worker      (((range)&0x7FF) << 21))
2047*8975f5c5SAndroid Build Coastguard Worker 
2048*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_GET_RANGE(val, range, enable, min, max) \
2049*8975f5c5SAndroid Build Coastguard Worker     (min)    = ((val) >> 0) & 0x3FF;                                  \
2050*8975f5c5SAndroid Build Coastguard Worker     (max)    = ((val) >> 10) & 0x3FF;                                 \
2051*8975f5c5SAndroid Build Coastguard Worker     (enable) = ((val) >> 20) & 0x1;                                   \
2052*8975f5c5SAndroid Build Coastguard Worker     (range)  = ((val) >> 21) & 0x7FF;
2053*8975f5c5SAndroid Build Coastguard Worker 
2054*8975f5c5SAndroid Build Coastguard Worker /*
2055*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_COMPOSITE_CR_KEY_RANGE - Set the values of a CR
2056*8975f5c5SAndroid Build Coastguard Worker  * channel range.  This is a packed int that has the following format
2057*8975f5c5SAndroid Build Coastguard Worker  * (in order of high-bits to low bits):
2058*8975f5c5SAndroid Build Coastguard Worker  *
2059*8975f5c5SAndroid Build Coastguard Worker  * Range # (11 bits), (Enabled 1 bit), min value (10 bits), max value (10 bits)
2060*8975f5c5SAndroid Build Coastguard Worker  *
2061*8975f5c5SAndroid Build Coastguard Worker  * To query the current values, pass the range # throught he display_mask
2062*8975f5c5SAndroid Build Coastguard Worker  * variable.
2063*8975f5c5SAndroid Build Coastguard Worker  */
2064*8975f5c5SAndroid Build Coastguard Worker 
2065*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_CR_KEY_RANGE 273 /* RW-- */
2066*8975f5c5SAndroid Build Coastguard Worker 
2067*8975f5c5SAndroid Build Coastguard Worker /*
2068*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_COMPOSITE_CB_KEY_RANGE - Set the values of a CB
2069*8975f5c5SAndroid Build Coastguard Worker  * channel range.  This is a packed int that has the following format
2070*8975f5c5SAndroid Build Coastguard Worker  * (in order of high-bits to low bits):
2071*8975f5c5SAndroid Build Coastguard Worker  *
2072*8975f5c5SAndroid Build Coastguard Worker  * Range # (11 bits), (Enabled 1 bit), min value (10 bits), max value (10 bits)
2073*8975f5c5SAndroid Build Coastguard Worker  *
2074*8975f5c5SAndroid Build Coastguard Worker  * To query the current values, pass the range # throught he display_mask
2075*8975f5c5SAndroid Build Coastguard Worker  * variable.
2076*8975f5c5SAndroid Build Coastguard Worker  */
2077*8975f5c5SAndroid Build Coastguard Worker 
2078*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_CB_KEY_RANGE 274 /* RW-- */
2079*8975f5c5SAndroid Build Coastguard Worker 
2080*8975f5c5SAndroid Build Coastguard Worker /*
2081*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_COMPOSITE_NUM_KEY_RANGES - Returns the number of ranges
2082*8975f5c5SAndroid Build Coastguard Worker  * available for each channel (Y/Luma, Cr, and Cb.)
2083*8975f5c5SAndroid Build Coastguard Worker  */
2084*8975f5c5SAndroid Build Coastguard Worker 
2085*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_COMPOSITE_NUM_KEY_RANGES 275 /* R--- */
2086*8975f5c5SAndroid Build Coastguard Worker 
2087*8975f5c5SAndroid Build Coastguard Worker /*
2088*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_SWITCH_TO_DISPLAYS - Can be used to select which displays
2089*8975f5c5SAndroid Build Coastguard Worker  * to switch to (as a hotkey event).
2090*8975f5c5SAndroid Build Coastguard Worker  */
2091*8975f5c5SAndroid Build Coastguard Worker 
2092*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SWITCH_TO_DISPLAYS 276 /* -W- */
2093*8975f5c5SAndroid Build Coastguard Worker 
2094*8975f5c5SAndroid Build Coastguard Worker /*
2095*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_NOTEBOOK_DISPLAY_CHANGE_LID_EVENT - Event that notifies
2096*8975f5c5SAndroid Build Coastguard Worker  * when a notebook lid change occurs (i.e. when the lid is opened or
2097*8975f5c5SAndroid Build Coastguard Worker  * closed.)  This attribute can be queried to retrieve the current
2098*8975f5c5SAndroid Build Coastguard Worker  * notebook lid status (opened/closed.)
2099*8975f5c5SAndroid Build Coastguard Worker  */
2100*8975f5c5SAndroid Build Coastguard Worker 
2101*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_NOTEBOOK_DISPLAY_CHANGE_LID_EVENT 277 /* RW- */
2102*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_NOTEBOOK_DISPLAY_CHANGE_LID_EVENT_CLOSE 0
2103*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_NOTEBOOK_DISPLAY_CHANGE_LID_EVENT_OPEN 1
2104*8975f5c5SAndroid Build Coastguard Worker 
2105*8975f5c5SAndroid Build Coastguard Worker /*
2106*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_NOTEBOOK_INTERNAL_LCD - Returns the display device mask of
2107*8975f5c5SAndroid Build Coastguard Worker  * the intenal LCD of a notebook.
2108*8975f5c5SAndroid Build Coastguard Worker  */
2109*8975f5c5SAndroid Build Coastguard Worker 
2110*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_NOTEBOOK_INTERNAL_LCD 278 /* R-- */
2111*8975f5c5SAndroid Build Coastguard Worker 
2112*8975f5c5SAndroid Build Coastguard Worker /*
2113*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_DEPTH_30_ALLOWED - returns whether the NVIDIA X driver supports
2114*8975f5c5SAndroid Build Coastguard Worker  * depth 30 on the specified X screen or GPU.
2115*8975f5c5SAndroid Build Coastguard Worker  */
2116*8975f5c5SAndroid Build Coastguard Worker 
2117*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DEPTH_30_ALLOWED 279 /* R--G */
2118*8975f5c5SAndroid Build Coastguard Worker 
2119*8975f5c5SAndroid Build Coastguard Worker /*
2120*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_MODE_SET_EVENT This attribute is sent as an event
2121*8975f5c5SAndroid Build Coastguard Worker  * when hotkey, ctrl-alt-+/- or randr event occurs.  Note that
2122*8975f5c5SAndroid Build Coastguard Worker  * This attribute cannot be set or queried and is meant to
2123*8975f5c5SAndroid Build Coastguard Worker  * be received by clients that wish to be notified of when
2124*8975f5c5SAndroid Build Coastguard Worker  * mode set events occur.
2125*8975f5c5SAndroid Build Coastguard Worker  */
2126*8975f5c5SAndroid Build Coastguard Worker 
2127*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_MODE_SET_EVENT 280 /* --- */
2128*8975f5c5SAndroid Build Coastguard Worker 
2129*8975f5c5SAndroid Build Coastguard Worker /*
2130*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_OPENGL_AA_LINE_GAMMA_VALUE - the gamma value used by
2131*8975f5c5SAndroid Build Coastguard Worker  * OpenGL when NV_CTRL_OPENGL_AA_LINE_GAMMA is enabled
2132*8975f5c5SAndroid Build Coastguard Worker  */
2133*8975f5c5SAndroid Build Coastguard Worker 
2134*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_OPENGL_AA_LINE_GAMMA_VALUE 281 /* RW-X */
2135*8975f5c5SAndroid Build Coastguard Worker 
2136*8975f5c5SAndroid Build Coastguard Worker /*
2137*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_VCSC_HIGH_PERF_MODE - Is used to both query High Performance Mode
2138*8975f5c5SAndroid Build Coastguard Worker  * status on the Visual Computing System, and also to enable or disable High
2139*8975f5c5SAndroid Build Coastguard Worker  * Performance Mode.
2140*8975f5c5SAndroid Build Coastguard Worker  */
2141*8975f5c5SAndroid Build Coastguard Worker 
2142*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_VCSC_HIGH_PERF_MODE 282 /* RW-V */
2143*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_VCSC_HIGH_PERF_MODE_DISABLE 0
2144*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_VCSC_HIGH_PERF_MODE_ENABLE 1
2145*8975f5c5SAndroid Build Coastguard Worker 
2146*8975f5c5SAndroid Build Coastguard Worker /*
2147*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_DISPLAYPORT_LINK_RATE - returns the negotiated lane bandwidth of the
2148*8975f5c5SAndroid Build Coastguard Worker  * DisplayPort main link.
2149*8975f5c5SAndroid Build Coastguard Worker  * This attribute is only available for DisplayPort flat panels.
2150*8975f5c5SAndroid Build Coastguard Worker  */
2151*8975f5c5SAndroid Build Coastguard Worker 
2152*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DISPLAYPORT_LINK_RATE 291 /* R-DG */
2153*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DISPLAYPORT_LINK_RATE_DISABLED 0x0
2154*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DISPLAYPORT_LINK_RATE_1_62GBPS 0x6
2155*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DISPLAYPORT_LINK_RATE_2_70GBPS 0xA
2156*8975f5c5SAndroid Build Coastguard Worker 
2157*8975f5c5SAndroid Build Coastguard Worker /*
2158*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STEREO_EYES_EXCHANGE - Controls whether or not the left and right
2159*8975f5c5SAndroid Build Coastguard Worker  * eyes of a stereo image are flipped.
2160*8975f5c5SAndroid Build Coastguard Worker  */
2161*8975f5c5SAndroid Build Coastguard Worker 
2162*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO_EYES_EXCHANGE 292 /* RW-X */
2163*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO_EYES_EXCHANGE_OFF 0
2164*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STEREO_EYES_EXCHANGE_ON 1
2165*8975f5c5SAndroid Build Coastguard Worker 
2166*8975f5c5SAndroid Build Coastguard Worker /*
2167*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_NO_SCANOUT - returns whether the special "NoScanout" mode is
2168*8975f5c5SAndroid Build Coastguard Worker  * enabled on the specified X screen or GPU; for details on this mode,
2169*8975f5c5SAndroid Build Coastguard Worker  * see the description of the "none" value for the "UseDisplayDevice"
2170*8975f5c5SAndroid Build Coastguard Worker  * X configuration option in the NVIDIA driver README.
2171*8975f5c5SAndroid Build Coastguard Worker  */
2172*8975f5c5SAndroid Build Coastguard Worker 
2173*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_NO_SCANOUT 293 /* R--G */
2174*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_NO_SCANOUT_DISABLED 0
2175*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_NO_SCANOUT_ENABLED 1
2176*8975f5c5SAndroid Build Coastguard Worker 
2177*8975f5c5SAndroid Build Coastguard Worker /*
2178*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_CSC_CHANGED_EVENT This attribute is sent as an event
2179*8975f5c5SAndroid Build Coastguard Worker  * when the color space conversion matrix has been altered by another
2180*8975f5c5SAndroid Build Coastguard Worker  * client.
2181*8975f5c5SAndroid Build Coastguard Worker  */
2182*8975f5c5SAndroid Build Coastguard Worker 
2183*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_CSC_CHANGED_EVENT 294 /* --- */
2184*8975f5c5SAndroid Build Coastguard Worker 
2185*8975f5c5SAndroid Build Coastguard Worker /*
2186*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_SLAVEABLE - Returns a bitmask of the display devices
2187*8975f5c5SAndroid Build Coastguard Worker  * that are (currently) allowed to be selected as slave devices for the
2188*8975f5c5SAndroid Build Coastguard Worker  * given GPU
2189*8975f5c5SAndroid Build Coastguard Worker  */
2190*8975f5c5SAndroid Build Coastguard Worker 
2191*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SLAVEABLE 295 /* R-DG */
2192*8975f5c5SAndroid Build Coastguard Worker 
2193*8975f5c5SAndroid Build Coastguard Worker /*
2194*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_SYNC_TO_DISPLAY This attribute controls whether or not
2195*8975f5c5SAndroid Build Coastguard Worker  * the non-SDI display device will be sync'ed to the SDI display device
2196*8975f5c5SAndroid Build Coastguard Worker  * (when configured in TwinView, Clone Mode or when using the SDI device
2197*8975f5c5SAndroid Build Coastguard Worker  * with OpenGL).
2198*8975f5c5SAndroid Build Coastguard Worker  */
2199*8975f5c5SAndroid Build Coastguard Worker 
2200*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SYNC_TO_DISPLAY 296 /* --- */
2201*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SYNC_TO_DISPLAY_DISABLE 0
2202*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_SYNC_TO_DISPLAY_ENABLE 1
2203*8975f5c5SAndroid Build Coastguard Worker 
2204*8975f5c5SAndroid Build Coastguard Worker /*
2205*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_X_SERVER_UNIQUE_ID - returns a pseudo-unique identifier for this
2206*8975f5c5SAndroid Build Coastguard Worker  * X server. Intended for use in cases where an NV-CONTROL client communicates
2207*8975f5c5SAndroid Build Coastguard Worker  * with multiple X servers, and wants some level of confidence that two
2208*8975f5c5SAndroid Build Coastguard Worker  * X Display connections correspond to the same or different X servers.
2209*8975f5c5SAndroid Build Coastguard Worker  */
2210*8975f5c5SAndroid Build Coastguard Worker 
2211*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_X_SERVER_UNIQUE_ID 297 /* R--- */
2212*8975f5c5SAndroid Build Coastguard Worker 
2213*8975f5c5SAndroid Build Coastguard Worker /*
2214*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_PIXMAP_CACHE - This attribute controls whether the driver attempts to
2215*8975f5c5SAndroid Build Coastguard Worker  * store video memory pixmaps in a cache.  The cache speeds up allocation and
2216*8975f5c5SAndroid Build Coastguard Worker  * deallocation of pixmaps, but could use more memory than when the cache is
2217*8975f5c5SAndroid Build Coastguard Worker  * disabled.
2218*8975f5c5SAndroid Build Coastguard Worker  */
2219*8975f5c5SAndroid Build Coastguard Worker 
2220*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_PIXMAP_CACHE 298 /* RW-X */
2221*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_PIXMAP_CACHE_DISABLE 0
2222*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_PIXMAP_CACHE_ENABLE 1
2223*8975f5c5SAndroid Build Coastguard Worker 
2224*8975f5c5SAndroid Build Coastguard Worker /*
2225*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_PIXMAP_CACHE_ROUNDING_SIZE_KB - When the pixmap cache is enabled and
2226*8975f5c5SAndroid Build Coastguard Worker  * there is not enough free space in the cache to fit a new pixmap, the driver
2227*8975f5c5SAndroid Build Coastguard Worker  * will round up to the next multiple of this number of kilobytes when
2228*8975f5c5SAndroid Build Coastguard Worker  * allocating more memory for the cache.
2229*8975f5c5SAndroid Build Coastguard Worker  */
2230*8975f5c5SAndroid Build Coastguard Worker 
2231*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_PIXMAP_CACHE_ROUNDING_SIZE_KB 299 /* RW-X */
2232*8975f5c5SAndroid Build Coastguard Worker 
2233*8975f5c5SAndroid Build Coastguard Worker /*
2234*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_IS_GVO_DISPLAY - returns whether or not a given display is an
2235*8975f5c5SAndroid Build Coastguard Worker  * SDI device.
2236*8975f5c5SAndroid Build Coastguard Worker  */
2237*8975f5c5SAndroid Build Coastguard Worker 
2238*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_IS_GVO_DISPLAY 300 /* R-D */
2239*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_IS_GVO_DISPLAY_FALSE 0
2240*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_IS_GVO_DISPLAY_TRUE 1
2241*8975f5c5SAndroid Build Coastguard Worker 
2242*8975f5c5SAndroid Build Coastguard Worker /*
2243*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_PCI_ID - Returns the PCI vendor and device ID of the specified
2244*8975f5c5SAndroid Build Coastguard Worker  * device.
2245*8975f5c5SAndroid Build Coastguard Worker  *
2246*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_PCI_ID is a "packed" integer attribute; the PCI vendor ID is stored
2247*8975f5c5SAndroid Build Coastguard Worker  * in the upper 16 bits of the integer, and the PCI device ID is stored in the
2248*8975f5c5SAndroid Build Coastguard Worker  * lower 16 bits of the integer.
2249*8975f5c5SAndroid Build Coastguard Worker  */
2250*8975f5c5SAndroid Build Coastguard Worker 
2251*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_PCI_ID 301 /* R--GI */
2252*8975f5c5SAndroid Build Coastguard Worker 
2253*8975f5c5SAndroid Build Coastguard Worker /*
2254*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_FULL_RANGE_COLOR - Allow full range color data [4-1019]
2255*8975f5c5SAndroid Build Coastguard Worker  * without clamping to [64-940].
2256*8975f5c5SAndroid Build Coastguard Worker  */
2257*8975f5c5SAndroid Build Coastguard Worker 
2258*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_FULL_RANGE_COLOR 302 /* RW- */
2259*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_FULL_RANGE_COLOR_DISABLED 0
2260*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_FULL_RANGE_COLOR_ENABLED 1
2261*8975f5c5SAndroid Build Coastguard Worker 
2262*8975f5c5SAndroid Build Coastguard Worker /*
2263*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_SLI_MOSAIC_MODE_AVAILABLE - Returns whether or not
2264*8975f5c5SAndroid Build Coastguard Worker  * SLI Mosaic Mode supported.
2265*8975f5c5SAndroid Build Coastguard Worker  */
2266*8975f5c5SAndroid Build Coastguard Worker 
2267*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SLI_MOSAIC_MODE_AVAILABLE 303 /* R-- */
2268*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SLI_MOSAIC_MODE_AVAILABLE_FALSE 0
2269*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SLI_MOSAIC_MODE_AVAILABLE_TRUE 1
2270*8975f5c5SAndroid Build Coastguard Worker 
2271*8975f5c5SAndroid Build Coastguard Worker /*
2272*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_ENABLE_RGB_DATA - Allows clients to specify when
2273*8975f5c5SAndroid Build Coastguard Worker  * the GVO board should process colors as RGB when the output data
2274*8975f5c5SAndroid Build Coastguard Worker  * format is one of the NV_CTRL_GVO_DATA_FORMAT_???_PASSTRHU modes.
2275*8975f5c5SAndroid Build Coastguard Worker  */
2276*8975f5c5SAndroid Build Coastguard Worker 
2277*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_ENABLE_RGB_DATA 304 /* RW- */
2278*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_ENABLE_RGB_DATA_DISABLE 0
2279*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_ENABLE_RGB_DATA_ENABLE 1
2280*8975f5c5SAndroid Build Coastguard Worker 
2281*8975f5c5SAndroid Build Coastguard Worker /*
2282*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_IMAGE_SHARPENING_DEFAULT - Returns default value of
2283*8975f5c5SAndroid Build Coastguard Worker  * Image Sharpening.
2284*8975f5c5SAndroid Build Coastguard Worker  */
2285*8975f5c5SAndroid Build Coastguard Worker 
2286*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_IMAGE_SHARPENING_DEFAULT 305 /* R-- */
2287*8975f5c5SAndroid Build Coastguard Worker 
2288*8975f5c5SAndroid Build Coastguard Worker /*
2289*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_PCI_DOMAIN - Returns the PCI domain number the specified device is
2290*8975f5c5SAndroid Build Coastguard Worker  * using.
2291*8975f5c5SAndroid Build Coastguard Worker  */
2292*8975f5c5SAndroid Build Coastguard Worker 
2293*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_PCI_DOMAIN 306 /* R--GI */
2294*8975f5c5SAndroid Build Coastguard Worker 
2295*8975f5c5SAndroid Build Coastguard Worker /*
2296*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_NUM_JACKS - Returns the number of input BNC jacks available
2297*8975f5c5SAndroid Build Coastguard Worker  * on a GVI device.
2298*8975f5c5SAndroid Build Coastguard Worker  */
2299*8975f5c5SAndroid Build Coastguard Worker 
2300*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_NUM_JACKS 307 /* R--I */
2301*8975f5c5SAndroid Build Coastguard Worker 
2302*8975f5c5SAndroid Build Coastguard Worker /*
2303*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_MAX_LINKS_PER_STREAM - Returns the maximum supported number of
2304*8975f5c5SAndroid Build Coastguard Worker  * links that can be tied to one stream.
2305*8975f5c5SAndroid Build Coastguard Worker  */
2306*8975f5c5SAndroid Build Coastguard Worker 
2307*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_MAX_LINKS_PER_STREAM 308 /* R--I */
2308*8975f5c5SAndroid Build Coastguard Worker 
2309*8975f5c5SAndroid Build Coastguard Worker /*
2310*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_DETECTED_CHANNEL_BITS_PER_COMPONENT - Returns the detected
2311*8975f5c5SAndroid Build Coastguard Worker  * number of bits per component (BPC) of data on the given input jack+
2312*8975f5c5SAndroid Build Coastguard Worker  * channel.
2313*8975f5c5SAndroid Build Coastguard Worker  *
2314*8975f5c5SAndroid Build Coastguard Worker  * The jack number should be specified in the lower 16 bits of the
2315*8975f5c5SAndroid Build Coastguard Worker  * "display_mask" parameter, while the channel number should be specified in
2316*8975f5c5SAndroid Build Coastguard Worker  * the upper 16 bits.
2317*8975f5c5SAndroid Build Coastguard Worker  */
2318*8975f5c5SAndroid Build Coastguard Worker 
2319*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_DETECTED_CHANNEL_BITS_PER_COMPONENT 309 /* R--I */
2320*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_BITS_PER_COMPONENT_UNKNOWN 0
2321*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_BITS_PER_COMPONENT_8 1
2322*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_BITS_PER_COMPONENT_10 2
2323*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_BITS_PER_COMPONENT_12 3
2324*8975f5c5SAndroid Build Coastguard Worker 
2325*8975f5c5SAndroid Build Coastguard Worker /*
2326*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_REQUESTED_STREAM_BITS_PER_COMPONENT - Specify the number of
2327*8975f5c5SAndroid Build Coastguard Worker  * bits per component (BPC) of data for the captured stream.
2328*8975f5c5SAndroid Build Coastguard Worker  * The stream number should be specified in the "display_mask" parameter.
2329*8975f5c5SAndroid Build Coastguard Worker  *
2330*8975f5c5SAndroid Build Coastguard Worker  * Note: Setting this attribute may also result in the following
2331*8975f5c5SAndroid Build Coastguard Worker  *       NV-CONTROL attributes being reset on the GVI device (to ensure
2332*8975f5c5SAndroid Build Coastguard Worker  *       the configuration remains valid):
2333*8975f5c5SAndroid Build Coastguard Worker  *           NV_CTRL_GVI_REQUESTED_STREAM_COMPONENT_SAMPLING
2334*8975f5c5SAndroid Build Coastguard Worker  */
2335*8975f5c5SAndroid Build Coastguard Worker 
2336*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_REQUESTED_STREAM_BITS_PER_COMPONENT 310 /* RW-I */
2337*8975f5c5SAndroid Build Coastguard Worker 
2338*8975f5c5SAndroid Build Coastguard Worker /*
2339*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_DETECTED_CHANNEL_COMPONENT_SAMPLING - Returns the detected
2340*8975f5c5SAndroid Build Coastguard Worker  * sampling format for the input jack+channel.
2341*8975f5c5SAndroid Build Coastguard Worker  *
2342*8975f5c5SAndroid Build Coastguard Worker  * The jack number should be specified in the lower 16 bits of the
2343*8975f5c5SAndroid Build Coastguard Worker  * "display_mask" parameter, while the channel number should be specified in
2344*8975f5c5SAndroid Build Coastguard Worker  * the upper 16 bits.
2345*8975f5c5SAndroid Build Coastguard Worker  */
2346*8975f5c5SAndroid Build Coastguard Worker 
2347*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_DETECTED_CHANNEL_COMPONENT_SAMPLING 311 /* R--I */
2348*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_COMPONENT_SAMPLING_UNKNOWN 0
2349*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_COMPONENT_SAMPLING_4444 1
2350*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_COMPONENT_SAMPLING_4224 2
2351*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_COMPONENT_SAMPLING_444 3
2352*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_COMPONENT_SAMPLING_422 4
2353*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_COMPONENT_SAMPLING_420 5
2354*8975f5c5SAndroid Build Coastguard Worker 
2355*8975f5c5SAndroid Build Coastguard Worker /*
2356*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_REQUESTED_COMPONENT_SAMPLING - Specify the sampling format for
2357*8975f5c5SAndroid Build Coastguard Worker  * the captured stream.
2358*8975f5c5SAndroid Build Coastguard Worker  * The possible values are the NV_CTRL_GVI_DETECTED_COMPONENT_SAMPLING
2359*8975f5c5SAndroid Build Coastguard Worker  * constants.
2360*8975f5c5SAndroid Build Coastguard Worker  * The stream number should be specified in the "display_mask" parameter.
2361*8975f5c5SAndroid Build Coastguard Worker  */
2362*8975f5c5SAndroid Build Coastguard Worker 
2363*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_REQUESTED_STREAM_COMPONENT_SAMPLING 312 /* RW-I */
2364*8975f5c5SAndroid Build Coastguard Worker 
2365*8975f5c5SAndroid Build Coastguard Worker /*
2366*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_CHROMA_EXPAND - Enable or disable 4:2:2 -> 4:4:4 chroma
2367*8975f5c5SAndroid Build Coastguard Worker  * expansion for the captured stream.  This value is ignored when a
2368*8975f5c5SAndroid Build Coastguard Worker  * COMPONENT_SAMPLING format is selected that does not use chroma subsampling,
2369*8975f5c5SAndroid Build Coastguard Worker  * or if a BITS_PER_COMPONENT value is selected that is not supported.
2370*8975f5c5SAndroid Build Coastguard Worker  * The stream number should be specified in the "display_mask" parameter.
2371*8975f5c5SAndroid Build Coastguard Worker  */
2372*8975f5c5SAndroid Build Coastguard Worker 
2373*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_REQUESTED_STREAM_CHROMA_EXPAND 313 /* RW-I */
2374*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_CHROMA_EXPAND_FALSE 0
2375*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_CHROMA_EXPAND_TRUE 1
2376*8975f5c5SAndroid Build Coastguard Worker 
2377*8975f5c5SAndroid Build Coastguard Worker /*
2378*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_DETECTED_CHANNEL_COLOR_SPACE - Returns the detected color space
2379*8975f5c5SAndroid Build Coastguard Worker  * of the input jack+channel.
2380*8975f5c5SAndroid Build Coastguard Worker  *
2381*8975f5c5SAndroid Build Coastguard Worker  * The jack number should be specified in the lower 16 bits of the
2382*8975f5c5SAndroid Build Coastguard Worker  * "display_mask" parameter, while the channel number should be specified in
2383*8975f5c5SAndroid Build Coastguard Worker  * the upper 16 bits.
2384*8975f5c5SAndroid Build Coastguard Worker  */
2385*8975f5c5SAndroid Build Coastguard Worker 
2386*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_DETECTED_CHANNEL_COLOR_SPACE 314 /* R--I */
2387*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_COLOR_SPACE_UNKNOWN 0
2388*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_COLOR_SPACE_GBR 1
2389*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_COLOR_SPACE_GBRA 2
2390*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_COLOR_SPACE_GBRD 3
2391*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_COLOR_SPACE_YCBCR 4
2392*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_COLOR_SPACE_YCBCRA 5
2393*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_COLOR_SPACE_YCBCRD 6
2394*8975f5c5SAndroid Build Coastguard Worker 
2395*8975f5c5SAndroid Build Coastguard Worker /*
2396*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_DETECTED_CHANNEL_LINK_ID - Returns the detected link identifier
2397*8975f5c5SAndroid Build Coastguard Worker  * for the given input jack+channel.
2398*8975f5c5SAndroid Build Coastguard Worker  *
2399*8975f5c5SAndroid Build Coastguard Worker  * The jack number should be specified in the lower 16 bits of the
2400*8975f5c5SAndroid Build Coastguard Worker  * "display_mask" parameter, while the channel number should be specified in
2401*8975f5c5SAndroid Build Coastguard Worker  * the upper 16 bits.
2402*8975f5c5SAndroid Build Coastguard Worker  */
2403*8975f5c5SAndroid Build Coastguard Worker 
2404*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_DETECTED_CHANNEL_LINK_ID 315 /* R--I */
2405*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_LINK_ID_UNKNOWN 0xFFFF
2406*8975f5c5SAndroid Build Coastguard Worker 
2407*8975f5c5SAndroid Build Coastguard Worker /*
2408*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_DETECTED_CHANNEL_SMPTE352_IDENTIFIER - Returns the 4-byte
2409*8975f5c5SAndroid Build Coastguard Worker  * SMPTE 352 identifier from the given input jack+channel.
2410*8975f5c5SAndroid Build Coastguard Worker  *
2411*8975f5c5SAndroid Build Coastguard Worker  * The jack number should be specified in the lower 16 bits of the
2412*8975f5c5SAndroid Build Coastguard Worker  * "display_mask" parameter, while the channel number should be specified in
2413*8975f5c5SAndroid Build Coastguard Worker  * the upper 16 bits.
2414*8975f5c5SAndroid Build Coastguard Worker  */
2415*8975f5c5SAndroid Build Coastguard Worker 
2416*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_DETECTED_CHANNEL_SMPTE352_IDENTIFIER 316 /* R--I */
2417*8975f5c5SAndroid Build Coastguard Worker 
2418*8975f5c5SAndroid Build Coastguard Worker /*
2419*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_GLOBAL_IDENTIFIER - Returns a global identifier for the
2420*8975f5c5SAndroid Build Coastguard Worker  * GVI device.  This identifier can be used to relate GVI devices named
2421*8975f5c5SAndroid Build Coastguard Worker  * in NV-CONTROL with those enumerated in OpenGL.
2422*8975f5c5SAndroid Build Coastguard Worker  */
2423*8975f5c5SAndroid Build Coastguard Worker 
2424*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_GLOBAL_IDENTIFIER 317 /* R--I */
2425*8975f5c5SAndroid Build Coastguard Worker 
2426*8975f5c5SAndroid Build Coastguard Worker /*
2427*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_FRAMELOCK_SYNC_DELAY_RESOLUTION - Returns the number of nanoseconds
2428*8975f5c5SAndroid Build Coastguard Worker  * that one unit of NV_CTRL_FRAMELOCK_SYNC_DELAY corresponds to.
2429*8975f5c5SAndroid Build Coastguard Worker  */
2430*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_FRAMELOCK_SYNC_DELAY_RESOLUTION 318 /* R-- */
2431*8975f5c5SAndroid Build Coastguard Worker 
2432*8975f5c5SAndroid Build Coastguard Worker /*
2433*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_COOLER_MANUAL_CONTROL - Query the current or set a new
2434*8975f5c5SAndroid Build Coastguard Worker  * cooler control state; the value of this attribute controls the
2435*8975f5c5SAndroid Build Coastguard Worker  * availability of additional cooler control attributes (see below).
2436*8975f5c5SAndroid Build Coastguard Worker  *
2437*8975f5c5SAndroid Build Coastguard Worker  * Note: this attribute is unavailable unless cooler control support
2438*8975f5c5SAndroid Build Coastguard Worker  * has been enabled in the X server (by the user).
2439*8975f5c5SAndroid Build Coastguard Worker  */
2440*8975f5c5SAndroid Build Coastguard Worker 
2441*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_COOLER_MANUAL_CONTROL 319 /* RW-G */
2442*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_COOLER_MANUAL_CONTROL_FALSE 0
2443*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_COOLER_MANUAL_CONTROL_TRUE 1
2444*8975f5c5SAndroid Build Coastguard Worker 
2445*8975f5c5SAndroid Build Coastguard Worker /*
2446*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_THERMAL_COOLER_LEVEL - Returns cooler's current operating
2447*8975f5c5SAndroid Build Coastguard Worker  * level.
2448*8975f5c5SAndroid Build Coastguard Worker  */
2449*8975f5c5SAndroid Build Coastguard Worker 
2450*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_COOLER_LEVEL 320 /* RW-C */
2451*8975f5c5SAndroid Build Coastguard Worker 
2452*8975f5c5SAndroid Build Coastguard Worker /* NV_CTRL_THERMAL_COOLER_LEVEL_SET_DEFAULT - Sets default values of
2453*8975f5c5SAndroid Build Coastguard Worker  * cooler.
2454*8975f5c5SAndroid Build Coastguard Worker  */
2455*8975f5c5SAndroid Build Coastguard Worker 
2456*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_COOLER_LEVEL_SET_DEFAULT 321 /* -W-C */
2457*8975f5c5SAndroid Build Coastguard Worker 
2458*8975f5c5SAndroid Build Coastguard Worker /*
2459*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_THERMAL_COOLER_CONTROL_TYPE -
2460*8975f5c5SAndroid Build Coastguard Worker  * Returns a cooler's control signal characteristics.
2461*8975f5c5SAndroid Build Coastguard Worker  * The possible types are restricted, Variable and Toggle.
2462*8975f5c5SAndroid Build Coastguard Worker  */
2463*8975f5c5SAndroid Build Coastguard Worker 
2464*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_COOLER_CONTROL_TYPE 322 /* R--C */
2465*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_COOLER_CONTROL_TYPE_NONE 0
2466*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_COOLER_CONTROL_TYPE_TOGGLE 1
2467*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_COOLER_CONTROL_TYPE_VARIABLE 2
2468*8975f5c5SAndroid Build Coastguard Worker 
2469*8975f5c5SAndroid Build Coastguard Worker /*
2470*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_THERMAL_COOLER_TARGET - Returns objects that cooler cools.
2471*8975f5c5SAndroid Build Coastguard Worker  * Targets may be GPU, Memory, Power Supply or All of these.
2472*8975f5c5SAndroid Build Coastguard Worker  * GPU_RELATED = GPU | MEMORY | POWER_SUPPLY
2473*8975f5c5SAndroid Build Coastguard Worker  *
2474*8975f5c5SAndroid Build Coastguard Worker  */
2475*8975f5c5SAndroid Build Coastguard Worker 
2476*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_COOLER_TARGET 323 /* R--C */
2477*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_COOLER_TARGET_NONE 0
2478*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_COOLER_TARGET_GPU 1
2479*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_COOLER_TARGET_MEMORY 2
2480*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_COOLER_TARGET_POWER_SUPPLY 4
2481*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_COOLER_TARGET_GPU_RELATED                               \
2482*8975f5c5SAndroid Build Coastguard Worker     (NV_CTRL_THERMAL_COOLER_TARGET_GPU | NV_CTRL_THERMAL_COOLER_TARGET_MEMORY | \
2483*8975f5c5SAndroid Build Coastguard Worker      NV_CTRL_THERMAL_COOLER_TARGET_POWER_SUPPLY)
2484*8975f5c5SAndroid Build Coastguard Worker 
2485*8975f5c5SAndroid Build Coastguard Worker /*
2486*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_ECC_SUPPORTED - Reports whether ECC is supported by the
2487*8975f5c5SAndroid Build Coastguard Worker  * targeted GPU.
2488*8975f5c5SAndroid Build Coastguard Worker  */
2489*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_SUPPORTED 324 /* R--G */
2490*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_SUPPORTED_FALSE 0
2491*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_SUPPORTED_TRUE 1
2492*8975f5c5SAndroid Build Coastguard Worker 
2493*8975f5c5SAndroid Build Coastguard Worker /*
2494*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_ECC_STATUS - Returns the current hardware ECC setting
2495*8975f5c5SAndroid Build Coastguard Worker  * for the targeted GPU.
2496*8975f5c5SAndroid Build Coastguard Worker  */
2497*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_STATUS 325 /* R--G */
2498*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_STATUS_DISABLED 0
2499*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_STATUS_ENABLED 1
2500*8975f5c5SAndroid Build Coastguard Worker 
2501*8975f5c5SAndroid Build Coastguard Worker /*
2502*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_ECC_CONFIGURATION - Reports whether ECC can be configured
2503*8975f5c5SAndroid Build Coastguard Worker  * dynamically for the GPU in question.
2504*8975f5c5SAndroid Build Coastguard Worker  */
2505*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_CONFIGURATION_SUPPORTED 326 /* R--G */
2506*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_CONFIGURATION_SUPPORTED_FALSE 0
2507*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_CONFIGURATION_SUPPORTED_TRUE 1
2508*8975f5c5SAndroid Build Coastguard Worker 
2509*8975f5c5SAndroid Build Coastguard Worker /*
2510*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_ECC_CONFIGURATION_SETTING - Returns the current ECC
2511*8975f5c5SAndroid Build Coastguard Worker  * configuration setting or specifies new settings.  New settings do not
2512*8975f5c5SAndroid Build Coastguard Worker  * take effect until the next POST.
2513*8975f5c5SAndroid Build Coastguard Worker  */
2514*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_CONFIGURATION 327 /* RW-G */
2515*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_CONFIGURATION_DISABLED 0
2516*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_CONFIGURATION_ENABLED 1
2517*8975f5c5SAndroid Build Coastguard Worker 
2518*8975f5c5SAndroid Build Coastguard Worker /*
2519*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_ECC_DEFAULT_CONFIGURATION_SETTING - Returns the default
2520*8975f5c5SAndroid Build Coastguard Worker  * ECC configuration setting.
2521*8975f5c5SAndroid Build Coastguard Worker  */
2522*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_DEFAULT_CONFIGURATION 328 /* R--G */
2523*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_DEFAULT_CONFIGURATION_DISABLED 0
2524*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_DEFAULT_CONFIGURATION_ENABLED 1
2525*8975f5c5SAndroid Build Coastguard Worker 
2526*8975f5c5SAndroid Build Coastguard Worker /*
2527*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_ECC_SINGLE_BIT_ERRORS - Returns the number of single-bit
2528*8975f5c5SAndroid Build Coastguard Worker  * ECC errors detected by the targeted GPU since the last POST.
2529*8975f5c5SAndroid Build Coastguard Worker  * Note: this attribute is a 64-bit integer attribute.
2530*8975f5c5SAndroid Build Coastguard Worker  */
2531*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_SINGLE_BIT_ERRORS 329 /* R--GQ */
2532*8975f5c5SAndroid Build Coastguard Worker 
2533*8975f5c5SAndroid Build Coastguard Worker /*
2534*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_ECC_DOUBLE_BIT_ERRORS - Returns the number of double-bit
2535*8975f5c5SAndroid Build Coastguard Worker  * ECC errors detected by the targeted GPU since the last POST.
2536*8975f5c5SAndroid Build Coastguard Worker  * Note: this attribute is a 64-bit integer attribute.
2537*8975f5c5SAndroid Build Coastguard Worker  */
2538*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_DOUBLE_BIT_ERRORS 330 /* R--GQ */
2539*8975f5c5SAndroid Build Coastguard Worker 
2540*8975f5c5SAndroid Build Coastguard Worker /*
2541*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_ECC_AGGREGATE_SINGLE_BIT_ERRORS - Returns the number of
2542*8975f5c5SAndroid Build Coastguard Worker  * single-bit ECC errors detected by the targeted GPU since the
2543*8975f5c5SAndroid Build Coastguard Worker  * last counter reset.
2544*8975f5c5SAndroid Build Coastguard Worker  * Note: this attribute is a 64-bit integer attribute.
2545*8975f5c5SAndroid Build Coastguard Worker  */
2546*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_AGGREGATE_SINGLE_BIT_ERRORS 331 /* R--GQ */
2547*8975f5c5SAndroid Build Coastguard Worker 
2548*8975f5c5SAndroid Build Coastguard Worker /*
2549*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_ECC_AGGREGATE_DOUBLE_BIT_ERRORS - Returns the number of
2550*8975f5c5SAndroid Build Coastguard Worker  * double-bit ECC errors detected by the targeted GPU since the
2551*8975f5c5SAndroid Build Coastguard Worker  * last counter reset.
2552*8975f5c5SAndroid Build Coastguard Worker  * Note: this attribute is a 64-bit integer attribute.
2553*8975f5c5SAndroid Build Coastguard Worker  */
2554*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_AGGREGATE_DOUBLE_BIT_ERRORS 332 /* R--GQ */
2555*8975f5c5SAndroid Build Coastguard Worker 
2556*8975f5c5SAndroid Build Coastguard Worker /*
2557*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_ECC_RESET_ERROR_STATUS - Resets the volatile/aggregate
2558*8975f5c5SAndroid Build Coastguard Worker  * single-bit and double-bit error counters.  This attribute is a
2559*8975f5c5SAndroid Build Coastguard Worker  * bitmask attribute.
2560*8975f5c5SAndroid Build Coastguard Worker  */
2561*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_RESET_ERROR_STATUS 333 /* -W-G */
2562*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_RESET_ERROR_STATUS_VOLATILE 0x00000001
2563*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_ECC_RESET_ERROR_STATUS_AGGREGATE 0x00000002
2564*8975f5c5SAndroid Build Coastguard Worker 
2565*8975f5c5SAndroid Build Coastguard Worker /*
2566*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_POWER_MIZER_MODE - Provides a hint to the driver
2567*8975f5c5SAndroid Build Coastguard Worker  * as to how to manage the performance of the GPU.
2568*8975f5c5SAndroid Build Coastguard Worker  *
2569*8975f5c5SAndroid Build Coastguard Worker  * ADAPTIVE                     - adjust GPU clocks based on GPU
2570*8975f5c5SAndroid Build Coastguard Worker  *                                utilization
2571*8975f5c5SAndroid Build Coastguard Worker  * PREFER_MAXIMUM_PERFORMANCE   - raise GPU clocks to favor
2572*8975f5c5SAndroid Build Coastguard Worker  *                                maximum performance, to the extent
2573*8975f5c5SAndroid Build Coastguard Worker  *                                that thermal and other constraints
2574*8975f5c5SAndroid Build Coastguard Worker  *                                allow
2575*8975f5c5SAndroid Build Coastguard Worker  */
2576*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_POWER_MIZER_MODE 334 /* RW-G */
2577*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_POWER_MIZER_MODE_ADAPTIVE 0
2578*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_POWER_MIZER_MODE_PREFER_MAXIMUM_PERFORMANCE 1
2579*8975f5c5SAndroid Build Coastguard Worker 
2580*8975f5c5SAndroid Build Coastguard Worker /*
2581*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_SYNC_OUTPUT_FORMAT - Returns the output sync signal
2582*8975f5c5SAndroid Build Coastguard Worker  * from the GVI device.
2583*8975f5c5SAndroid Build Coastguard Worker  */
2584*8975f5c5SAndroid Build Coastguard Worker 
2585*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_SYNC_OUTPUT_FORMAT 335 /* R--I */
2586*8975f5c5SAndroid Build Coastguard Worker 
2587*8975f5c5SAndroid Build Coastguard Worker /*
2588*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_MAX_CHANNELS_PER_JACK  - Returns the maximum
2589*8975f5c5SAndroid Build Coastguard Worker  * supported number of (logical) channels within a single physical jack of
2590*8975f5c5SAndroid Build Coastguard Worker  * a GVI device.  For most SDI video formats, there is only one channel
2591*8975f5c5SAndroid Build Coastguard Worker  * (channel 0).  But for 3G video formats (as specified in SMPTE 425),
2592*8975f5c5SAndroid Build Coastguard Worker  * as an example, there are two channels (channel 0 and channel 1) per
2593*8975f5c5SAndroid Build Coastguard Worker  * physical jack.
2594*8975f5c5SAndroid Build Coastguard Worker  */
2595*8975f5c5SAndroid Build Coastguard Worker 
2596*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_MAX_CHANNELS_PER_JACK 336 /* R--I */
2597*8975f5c5SAndroid Build Coastguard Worker 
2598*8975f5c5SAndroid Build Coastguard Worker /*
2599*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_MAX_STREAMS  - Returns the maximum number of streams
2600*8975f5c5SAndroid Build Coastguard Worker  * that can be configured on the GVI device.
2601*8975f5c5SAndroid Build Coastguard Worker  */
2602*8975f5c5SAndroid Build Coastguard Worker 
2603*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_MAX_STREAMS 337 /* R--I */
2604*8975f5c5SAndroid Build Coastguard Worker 
2605*8975f5c5SAndroid Build Coastguard Worker /*
2606*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_NUM_CAPTURE_SURFACES - The GVI interface exposed through
2607*8975f5c5SAndroid Build Coastguard Worker  * NV-CONTROL and the GLX_NV_video_input extension uses internal capture
2608*8975f5c5SAndroid Build Coastguard Worker  * surfaces when frames are read from the GVI device.  The
2609*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_NUM_CAPTURE_SURFACES can be used to query and assign the
2610*8975f5c5SAndroid Build Coastguard Worker  * number of capture surfaces.  This attribute is applied when
2611*8975f5c5SAndroid Build Coastguard Worker  * glXBindVideoCaptureDeviceNV() is called by the application.
2612*8975f5c5SAndroid Build Coastguard Worker  *
2613*8975f5c5SAndroid Build Coastguard Worker  * A lower number of capture surfaces will mean less video memory is used,
2614*8975f5c5SAndroid Build Coastguard Worker  * but can result in frames being dropped if the application cannot keep up
2615*8975f5c5SAndroid Build Coastguard Worker  * with the capture device.  A higher number will prevent frames from being
2616*8975f5c5SAndroid Build Coastguard Worker  * dropped, making capture more reliable but will consume move video memory.
2617*8975f5c5SAndroid Build Coastguard Worker  */
2618*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_NUM_CAPTURE_SURFACES 338 /* RW-I */
2619*8975f5c5SAndroid Build Coastguard Worker 
2620*8975f5c5SAndroid Build Coastguard Worker /*
2621*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_OVERSCAN_COMPENSATION - not supported
2622*8975f5c5SAndroid Build Coastguard Worker  */
2623*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_OVERSCAN_COMPENSATION 339 /* RWDG */
2624*8975f5c5SAndroid Build Coastguard Worker 
2625*8975f5c5SAndroid Build Coastguard Worker /*
2626*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_PCIE_GENERATION - Reports the current PCIe generation.
2627*8975f5c5SAndroid Build Coastguard Worker  */
2628*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_PCIE_GENERATION 341 /* R--GI */
2629*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_PCIE_GENERATION1 0x00000001
2630*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_PCIE_GENERATION2 0x00000002
2631*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_PCIE_GENERATION3 0x00000003
2632*8975f5c5SAndroid Build Coastguard Worker 
2633*8975f5c5SAndroid Build Coastguard Worker /*
2634*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_BOUND_GPU - Returns the NV_CTRL_TARGET_TYPE_GPU target_id of
2635*8975f5c5SAndroid Build Coastguard Worker  * the GPU currently bound to the GVI device.  Returns -1 if no GPU is
2636*8975f5c5SAndroid Build Coastguard Worker  * currently bound to the GVI device.
2637*8975f5c5SAndroid Build Coastguard Worker  */
2638*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_BOUND_GPU 342 /* R--I */
2639*8975f5c5SAndroid Build Coastguard Worker 
2640*8975f5c5SAndroid Build Coastguard Worker /*
2641*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT3 - this attribute is only
2642*8975f5c5SAndroid Build Coastguard Worker  * intended to be used to query the ValidValues for
2643*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT for VIDEO_FORMAT values between
2644*8975f5c5SAndroid Build Coastguard Worker  * 64 and 95.  See NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT for details.
2645*8975f5c5SAndroid Build Coastguard Worker  */
2646*8975f5c5SAndroid Build Coastguard Worker 
2647*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT3 343 /* ---GI */
2648*8975f5c5SAndroid Build Coastguard Worker 
2649*8975f5c5SAndroid Build Coastguard Worker /*
2650*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_ACCELERATE_TRAPEZOIDS - Toggles RENDER Trapezoid acceleration
2651*8975f5c5SAndroid Build Coastguard Worker  */
2652*8975f5c5SAndroid Build Coastguard Worker 
2653*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_ACCELERATE_TRAPEZOIDS 344 /* RW- */
2654*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_ACCELERATE_TRAPEZOIDS_DISABLE 0
2655*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_ACCELERATE_TRAPEZOIDS_ENABLE 1
2656*8975f5c5SAndroid Build Coastguard Worker 
2657*8975f5c5SAndroid Build Coastguard Worker /*
2658*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_CORES - Returns number of GPU cores supported by the graphics
2659*8975f5c5SAndroid Build Coastguard Worker  * pipeline.
2660*8975f5c5SAndroid Build Coastguard Worker  */
2661*8975f5c5SAndroid Build Coastguard Worker 
2662*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_CORES 345 /* R--G */
2663*8975f5c5SAndroid Build Coastguard Worker 
2664*8975f5c5SAndroid Build Coastguard Worker /*
2665*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_MEMORY_BUS_WIDTH - Returns memory bus bandwidth on the associated
2666*8975f5c5SAndroid Build Coastguard Worker  * subdevice.
2667*8975f5c5SAndroid Build Coastguard Worker  */
2668*8975f5c5SAndroid Build Coastguard Worker 
2669*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_MEMORY_BUS_WIDTH 346 /* R--G */
2670*8975f5c5SAndroid Build Coastguard Worker 
2671*8975f5c5SAndroid Build Coastguard Worker /*
2672*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVI_TEST_MODE - This attribute controls the GVI test mode.  When
2673*8975f5c5SAndroid Build Coastguard Worker  * enabled, the GVI device will generate fake data as quickly as possible.  All
2674*8975f5c5SAndroid Build Coastguard Worker  * GVI settings are still valid when this is enabled (e.g., the requested video
2675*8975f5c5SAndroid Build Coastguard Worker  * format is honored and sets the video size).
2676*8975f5c5SAndroid Build Coastguard Worker  * This may be used to test the pipeline.
2677*8975f5c5SAndroid Build Coastguard Worker  */
2678*8975f5c5SAndroid Build Coastguard Worker 
2679*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_TEST_MODE 347 /* R--I */
2680*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_TEST_MODE_DISABLE 0
2681*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVI_TEST_MODE_ENABLE 1
2682*8975f5c5SAndroid Build Coastguard Worker 
2683*8975f5c5SAndroid Build Coastguard Worker /*
2684*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_COLOR_SPACE - This option sets color space of the video
2685*8975f5c5SAndroid Build Coastguard Worker  * signal.
2686*8975f5c5SAndroid Build Coastguard Worker  */
2687*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_COLOR_SPACE 348 /* RWDG */
2688*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_COLOR_SPACE_RGB 0
2689*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_COLOR_SPACE_YCbCr422 1
2690*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_COLOR_SPACE_YCbCr444 2
2691*8975f5c5SAndroid Build Coastguard Worker 
2692*8975f5c5SAndroid Build Coastguard Worker /*
2693*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_COLOR_RANGE - This option sets color range of the video
2694*8975f5c5SAndroid Build Coastguard Worker  * signal.
2695*8975f5c5SAndroid Build Coastguard Worker  */
2696*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_COLOR_RANGE 349 /* RWDG */
2697*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_COLOR_RANGE_FULL 0
2698*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_COLOR_RANGE_LIMITED 1
2699*8975f5c5SAndroid Build Coastguard Worker 
2700*8975f5c5SAndroid Build Coastguard Worker /*
2701*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_SCALING_DEFAULT_TARGET - not supported
2702*8975f5c5SAndroid Build Coastguard Worker  *
2703*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_SCALING_DEFAULT_METHOD - not supported
2704*8975f5c5SAndroid Build Coastguard Worker  */
2705*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_SCALING_DEFAULT_TARGET 350 /* R-DG */
2706*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_SCALING_DEFAULT_METHOD 351 /* R-DG */
2707*8975f5c5SAndroid Build Coastguard Worker 
2708*8975f5c5SAndroid Build Coastguard Worker /*
2709*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_DITHERING_MODE - Controls the dithering mode, when
2710*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_CURRENT_DITHERING is Enabled.
2711*8975f5c5SAndroid Build Coastguard Worker  *
2712*8975f5c5SAndroid Build Coastguard Worker  * AUTO: allow the driver to choose the dithering mode automatically.
2713*8975f5c5SAndroid Build Coastguard Worker  *
2714*8975f5c5SAndroid Build Coastguard Worker  * DYNAMIC_2X2: use a 2x2 matrix to dither from the GPU's pixel
2715*8975f5c5SAndroid Build Coastguard Worker  * pipeline to the bit depth of the flat panel.  The matrix values
2716*8975f5c5SAndroid Build Coastguard Worker  * are changed from frame to frame.
2717*8975f5c5SAndroid Build Coastguard Worker  *
2718*8975f5c5SAndroid Build Coastguard Worker  * STATIC_2X2: use a 2x2 matrix to dither from the GPU's pixel
2719*8975f5c5SAndroid Build Coastguard Worker  * pipeline to the bit depth of the flat panel.  The matrix values
2720*8975f5c5SAndroid Build Coastguard Worker  * do not change from frame to frame.
2721*8975f5c5SAndroid Build Coastguard Worker  *
2722*8975f5c5SAndroid Build Coastguard Worker  * TEMPORAL: use a pseudorandom value from a uniform distribution calculated at
2723*8975f5c5SAndroid Build Coastguard Worker  * every pixel to achieve stochastic dithering.  This method produces a better
2724*8975f5c5SAndroid Build Coastguard Worker  * visual result than 2x2 matrix approaches.
2725*8975f5c5SAndroid Build Coastguard Worker  */
2726*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DITHERING_MODE 352 /* RWDG */
2727*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DITHERING_MODE_AUTO 0
2728*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DITHERING_MODE_DYNAMIC_2X2 1
2729*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DITHERING_MODE_STATIC_2X2 2
2730*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DITHERING_MODE_TEMPORAL 3
2731*8975f5c5SAndroid Build Coastguard Worker 
2732*8975f5c5SAndroid Build Coastguard Worker /*
2733*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_CURRENT_DITHERING - Returns the current dithering state.
2734*8975f5c5SAndroid Build Coastguard Worker  */
2735*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURRENT_DITHERING 353 /* R-DG */
2736*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURRENT_DITHERING_DISABLED 0
2737*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURRENT_DITHERING_ENABLED 1
2738*8975f5c5SAndroid Build Coastguard Worker 
2739*8975f5c5SAndroid Build Coastguard Worker /*
2740*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_CURRENT_DITHERING_MODE - Returns the current dithering
2741*8975f5c5SAndroid Build Coastguard Worker  * mode.
2742*8975f5c5SAndroid Build Coastguard Worker  */
2743*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURRENT_DITHERING_MODE 354 /* R-DG */
2744*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURRENT_DITHERING_MODE_NONE 0
2745*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURRENT_DITHERING_MODE_DYNAMIC_2X2 1
2746*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURRENT_DITHERING_MODE_STATIC_2X2 2
2747*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURRENT_DITHERING_MODE_TEMPORAL 3
2748*8975f5c5SAndroid Build Coastguard Worker 
2749*8975f5c5SAndroid Build Coastguard Worker /*
2750*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_THERMAL_SENSOR_READING - Returns the thermal sensor's current
2751*8975f5c5SAndroid Build Coastguard Worker  * reading.
2752*8975f5c5SAndroid Build Coastguard Worker  */
2753*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_READING 355 /* R--S */
2754*8975f5c5SAndroid Build Coastguard Worker 
2755*8975f5c5SAndroid Build Coastguard Worker /*
2756*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_THERMAL_SENSOR_PROVIDER - Returns the hardware device that
2757*8975f5c5SAndroid Build Coastguard Worker  * provides the thermal sensor.
2758*8975f5c5SAndroid Build Coastguard Worker  */
2759*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER 356 /* R--S */
2760*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER_NONE 0
2761*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER_GPU_INTERNAL 1
2762*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER_ADM1032 2
2763*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER_ADT7461 3
2764*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER_MAX6649 4
2765*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER_MAX1617 5
2766*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER_LM99 6
2767*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER_LM89 7
2768*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER_LM64 8
2769*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER_G781 9
2770*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER_ADT7473 10
2771*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER_SBMAX6649 11
2772*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER_VBIOSEVT 12
2773*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER_OS 13
2774*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_PROVIDER_UNKNOWN 0xFFFFFFFF
2775*8975f5c5SAndroid Build Coastguard Worker 
2776*8975f5c5SAndroid Build Coastguard Worker /*
2777*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_THERMAL_SENSOR_TARGET - Returns what hardware component
2778*8975f5c5SAndroid Build Coastguard Worker  * the thermal sensor is measuring.
2779*8975f5c5SAndroid Build Coastguard Worker  */
2780*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_TARGET 357 /* R--S */
2781*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_TARGET_NONE 0
2782*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_TARGET_GPU 1
2783*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_TARGET_MEMORY 2
2784*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_TARGET_POWER_SUPPLY 4
2785*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_TARGET_BOARD 8
2786*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_THERMAL_SENSOR_TARGET_UNKNOWN 0xFFFFFFFF
2787*8975f5c5SAndroid Build Coastguard Worker 
2788*8975f5c5SAndroid Build Coastguard Worker /*
2789*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_SHOW_MULTIGPU_VISUAL_INDICATOR - when TRUE, OpenGL will
2790*8975f5c5SAndroid Build Coastguard Worker  * draw information about the current MULTIGPU mode.
2791*8975f5c5SAndroid Build Coastguard Worker  */
2792*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SHOW_MULTIGPU_VISUAL_INDICATOR 358 /* RW-X */
2793*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SHOW_MULTIGPU_VISUAL_INDICATOR_FALSE 0
2794*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SHOW_MULTIGPU_VISUAL_INDICATOR_TRUE 1
2795*8975f5c5SAndroid Build Coastguard Worker 
2796*8975f5c5SAndroid Build Coastguard Worker /*
2797*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_CURRENT_PROCESSOR_CLOCK_FREQS - Returns GPU's processor
2798*8975f5c5SAndroid Build Coastguard Worker  * clock freqs.
2799*8975f5c5SAndroid Build Coastguard Worker  */
2800*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_CURRENT_PROCESSOR_CLOCK_FREQS 359 /* RW-G */
2801*8975f5c5SAndroid Build Coastguard Worker 
2802*8975f5c5SAndroid Build Coastguard Worker /*
2803*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS - query the flags (various information
2804*8975f5c5SAndroid Build Coastguard Worker  * for the specified NV_CTRL_GVIO_VIDEO_FORMAT_*.  So that this can be
2805*8975f5c5SAndroid Build Coastguard Worker  * queried with existing interfaces, the video format should be specified
2806*8975f5c5SAndroid Build Coastguard Worker  * in the display_mask field; eg:
2807*8975f5c5SAndroid Build Coastguard Worker  *
2808*8975f5c5SAndroid Build Coastguard Worker  * XNVCTRLQueryTargetAttribute(dpy,
2809*8975f5c5SAndroid Build Coastguard Worker  *                             NV_CTRL_TARGET_TYPE_GVI,
2810*8975f5c5SAndroid Build Coastguard Worker  *                             gvi,
2811*8975f5c5SAndroid Build Coastguard Worker  *                             NV_CTRL_GVIO_VIDEO_FORMAT_720P_60_00_SMPTE296,
2812*8975f5c5SAndroid Build Coastguard Worker  *                             NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS,
2813*8975f5c5SAndroid Build Coastguard Worker  *                             &flags);
2814*8975f5c5SAndroid Build Coastguard Worker  *
2815*8975f5c5SAndroid Build Coastguard Worker  * Note: The NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_3G_1080P_NO_12BPC flag is set
2816*8975f5c5SAndroid Build Coastguard Worker  *       for those 1080P 3G modes (level A and B) that do not support
2817*8975f5c5SAndroid Build Coastguard Worker  *       12 bits per component (when configuring a GVI stream.)
2818*8975f5c5SAndroid Build Coastguard Worker  */
2819*8975f5c5SAndroid Build Coastguard Worker 
2820*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS 360 /* R--I */
2821*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_NONE 0x00000000
2822*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_INTERLACED 0x00000001
2823*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_PROGRESSIVE 0x00000002
2824*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_PSF 0x00000004
2825*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_3G_LEVEL_A 0x00000008
2826*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_3G_LEVEL_B 0x00000010
2827*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_3G \
2828*8975f5c5SAndroid Build Coastguard Worker     ((NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_3G_LEVEL_A) | (NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_3G_LEVEL_B))
2829*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVIO_VIDEO_FORMAT_FLAGS_3G_1080P_NO_12BPC 0x00000020
2830*8975f5c5SAndroid Build Coastguard Worker 
2831*8975f5c5SAndroid Build Coastguard Worker /*
2832*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_PCIE_MAX_LINK_SPEED - returns maximum PCIe link speed,
2833*8975f5c5SAndroid Build Coastguard Worker  * in gigatransfers per second (GT/s).
2834*8975f5c5SAndroid Build Coastguard Worker  */
2835*8975f5c5SAndroid Build Coastguard Worker 
2836*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_PCIE_MAX_LINK_SPEED 361 /* R--GI */
2837*8975f5c5SAndroid Build Coastguard Worker 
2838*8975f5c5SAndroid Build Coastguard Worker /*
2839*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_RESET_TRANSCEIVER_TO_FACTORY_SETTINGS - Resets the
2840*8975f5c5SAndroid Build Coastguard Worker  * 3D Vision Pro transceiver to its factory settings.
2841*8975f5c5SAndroid Build Coastguard Worker  */
2842*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_RESET_TRANSCEIVER_TO_FACTORY_SETTINGS 363 /* -W-T */
2843*8975f5c5SAndroid Build Coastguard Worker 
2844*8975f5c5SAndroid Build Coastguard Worker /*
2845*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL - Controls the channel that is
2846*8975f5c5SAndroid Build Coastguard Worker  * currently used by the 3D Vision Pro transceiver.
2847*8975f5c5SAndroid Build Coastguard Worker  */
2848*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL 364 /* RW-T */
2849*8975f5c5SAndroid Build Coastguard Worker 
2850*8975f5c5SAndroid Build Coastguard Worker /*
2851*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_TRANSCEIVER_MODE - Controls the mode in which the
2852*8975f5c5SAndroid Build Coastguard Worker  * 3D Vision Pro transceiver operates.
2853*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_TM_LOW_RANGE is bidirectional
2854*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_TM_MEDIUM_RANGE is bidirectional
2855*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_TM_HIGH_RANGE may be bidirectional just up to a
2856*8975f5c5SAndroid Build Coastguard Worker  *     given range, and unidirectional beyond it
2857*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_TM_COUNT is the total number of
2858*8975f5c5SAndroid Build Coastguard Worker  *     3D Vision Pro transceiver modes
2859*8975f5c5SAndroid Build Coastguard Worker  */
2860*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_TRANSCEIVER_MODE 365 /* RW-T */
2861*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_TRANSCEIVER_MODE_INVALID 0
2862*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_TRANSCEIVER_MODE_LOW_RANGE 1
2863*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_TRANSCEIVER_MODE_MEDIUM_RANGE 2
2864*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_TRANSCEIVER_MODE_HIGH_RANGE 3
2865*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_TRANSCEIVER_MODE_COUNT 4
2866*8975f5c5SAndroid Build Coastguard Worker 
2867*8975f5c5SAndroid Build Coastguard Worker /*
2868*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_SYNCHRONOUS_PALETTE_UPDATES - controls whether updates to the color
2869*8975f5c5SAndroid Build Coastguard Worker  * lookup table (LUT) are synchronous with respect to X rendering.  For example,
2870*8975f5c5SAndroid Build Coastguard Worker  * if an X client sends XStoreColors followed by XFillRectangle, the driver will
2871*8975f5c5SAndroid Build Coastguard Worker  * guarantee that the FillRectangle request is not processed until after the
2872*8975f5c5SAndroid Build Coastguard Worker  * updated LUT colors are actually visible on the screen if
2873*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_SYNCHRONOUS_PALETTE_UPDATES is enabled.  Otherwise, the rendering may
2874*8975f5c5SAndroid Build Coastguard Worker  * occur first.
2875*8975f5c5SAndroid Build Coastguard Worker  *
2876*8975f5c5SAndroid Build Coastguard Worker  * This makes a difference for applications that use the LUT to animate, such as
2877*8975f5c5SAndroid Build Coastguard Worker  * XPilot.  If you experience flickering in applications that use LUT
2878*8975f5c5SAndroid Build Coastguard Worker  * animations, try enabling this attribute.
2879*8975f5c5SAndroid Build Coastguard Worker  *
2880*8975f5c5SAndroid Build Coastguard Worker  * When synchronous updates are enabled, XStoreColors requests will be processed
2881*8975f5c5SAndroid Build Coastguard Worker  * at your screen's refresh rate.
2882*8975f5c5SAndroid Build Coastguard Worker  */
2883*8975f5c5SAndroid Build Coastguard Worker 
2884*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SYNCHRONOUS_PALETTE_UPDATES 367 /* RWDG */
2885*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SYNCHRONOUS_PALETTE_UPDATES_DISABLE 0
2886*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_SYNCHRONOUS_PALETTE_UPDATES_ENABLE 1
2887*8975f5c5SAndroid Build Coastguard Worker 
2888*8975f5c5SAndroid Build Coastguard Worker /*
2889*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_DITHERING_DEPTH - Controls the dithering depth when
2890*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_CURRENT_DITHERING is ENABLED.  Some displays connected
2891*8975f5c5SAndroid Build Coastguard Worker  * to the GPU via the DVI or LVDS interfaces cannot display the
2892*8975f5c5SAndroid Build Coastguard Worker  * full color range of ten bits per channel, so the GPU will
2893*8975f5c5SAndroid Build Coastguard Worker  * dither to either 6 or 8 bits per channel.
2894*8975f5c5SAndroid Build Coastguard Worker  */
2895*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DITHERING_DEPTH 368 /* RWDG */
2896*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DITHERING_DEPTH_AUTO 0
2897*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DITHERING_DEPTH_6_BITS 1
2898*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DITHERING_DEPTH_8_BITS 2
2899*8975f5c5SAndroid Build Coastguard Worker 
2900*8975f5c5SAndroid Build Coastguard Worker /*
2901*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_CURRENT_DITHERING_DEPTH - Returns the current dithering
2902*8975f5c5SAndroid Build Coastguard Worker  * depth value.
2903*8975f5c5SAndroid Build Coastguard Worker  */
2904*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURRENT_DITHERING_DEPTH 369 /* R-DG */
2905*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURRENT_DITHERING_DEPTH_NONE 0
2906*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURRENT_DITHERING_DEPTH_6_BITS 1
2907*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURRENT_DITHERING_DEPTH_8_BITS 2
2908*8975f5c5SAndroid Build Coastguard Worker 
2909*8975f5c5SAndroid Build Coastguard Worker /*
2910*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL_FREQUENCY - Returns the
2911*8975f5c5SAndroid Build Coastguard Worker  * frequency of the channel(in kHz) of the 3D Vision Pro transceiver.
2912*8975f5c5SAndroid Build Coastguard Worker  * Use the display_mask parameter to specify the channel number.
2913*8975f5c5SAndroid Build Coastguard Worker  */
2914*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL_FREQUENCY 370 /* R--T */
2915*8975f5c5SAndroid Build Coastguard Worker 
2916*8975f5c5SAndroid Build Coastguard Worker /*
2917*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL_QUALITY - Returns the
2918*8975f5c5SAndroid Build Coastguard Worker  * quality of the channel(in percentage) of the 3D Vision Pro transceiver.
2919*8975f5c5SAndroid Build Coastguard Worker  * Use the display_mask parameter to specify the channel number.
2920*8975f5c5SAndroid Build Coastguard Worker  */
2921*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL_QUALITY 371 /* R--T */
2922*8975f5c5SAndroid Build Coastguard Worker 
2923*8975f5c5SAndroid Build Coastguard Worker /*
2924*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL_COUNT - Returns the number of
2925*8975f5c5SAndroid Build Coastguard Worker  * channels on the 3D Vision Pro transceiver.
2926*8975f5c5SAndroid Build Coastguard Worker  */
2927*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_TRANSCEIVER_CHANNEL_COUNT 372 /* R--T */
2928*8975f5c5SAndroid Build Coastguard Worker 
2929*8975f5c5SAndroid Build Coastguard Worker /*
2930*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_PAIR_GLASSES - Puts the 3D Vision Pro
2931*8975f5c5SAndroid Build Coastguard Worker  * transceiver into pairing mode to gather additional glasses.
2932*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_PAIR_GLASSES_STOP - stops any pairing
2933*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_PAIR_GLASSES_BEACON - starts continuous
2934*8975f5c5SAndroid Build Coastguard Worker  *     pairing via beacon mode
2935*8975f5c5SAndroid Build Coastguard Worker  * Any other value, N - Puts the 3D Vision Pro transceiver into
2936*8975f5c5SAndroid Build Coastguard Worker  *     authenticated pairing mode for N seconds.
2937*8975f5c5SAndroid Build Coastguard Worker  */
2938*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_PAIR_GLASSES 373 /* -W-T */
2939*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_PAIR_GLASSES_STOP 0
2940*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_PAIR_GLASSES_BEACON 0xFFFFFFFF
2941*8975f5c5SAndroid Build Coastguard Worker 
2942*8975f5c5SAndroid Build Coastguard Worker /*
2943*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_UNPAIR_GLASSES - Tells a specific pair
2944*8975f5c5SAndroid Build Coastguard Worker  * of glasses to unpair. The glasses will "forget" the address
2945*8975f5c5SAndroid Build Coastguard Worker  * of the 3D Vision Pro transceiver to which they have been paired.
2946*8975f5c5SAndroid Build Coastguard Worker  * To unpair all the currently paired glasses, specify
2947*8975f5c5SAndroid Build Coastguard Worker  * the glasses id as 0.
2948*8975f5c5SAndroid Build Coastguard Worker  */
2949*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_UNPAIR_GLASSES 374 /* -W-T */
2950*8975f5c5SAndroid Build Coastguard Worker 
2951*8975f5c5SAndroid Build Coastguard Worker /*
2952*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_DISCOVER_GLASSES - Tells the 3D Vision Pro
2953*8975f5c5SAndroid Build Coastguard Worker  * transceiver about the glasses that have been paired using
2954*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_PAIR_GLASSES_BEACON. Unless this is done,
2955*8975f5c5SAndroid Build Coastguard Worker  * the 3D Vision Pro transceiver will not know about glasses paired in
2956*8975f5c5SAndroid Build Coastguard Worker  * beacon mode.
2957*8975f5c5SAndroid Build Coastguard Worker  */
2958*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_DISCOVER_GLASSES 375 /* -W-T */
2959*8975f5c5SAndroid Build Coastguard Worker 
2960*8975f5c5SAndroid Build Coastguard Worker /*
2961*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_IDENTIFY_GLASSES - Causes glasses LEDs to
2962*8975f5c5SAndroid Build Coastguard Worker  * flash for a short period of time.
2963*8975f5c5SAndroid Build Coastguard Worker  */
2964*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_IDENTIFY_GLASSES 376 /* -W-T */
2965*8975f5c5SAndroid Build Coastguard Worker 
2966*8975f5c5SAndroid Build Coastguard Worker /*
2967*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_GLASSES_SYNC_CYCLE - Controls the
2968*8975f5c5SAndroid Build Coastguard Worker  * sync cycle duration(in milliseconds) of the glasses.
2969*8975f5c5SAndroid Build Coastguard Worker  * Use the display_mask parameter to specify the glasses id.
2970*8975f5c5SAndroid Build Coastguard Worker  */
2971*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_GLASSES_SYNC_CYCLE 378 /* RW-T */
2972*8975f5c5SAndroid Build Coastguard Worker 
2973*8975f5c5SAndroid Build Coastguard Worker /*
2974*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_GLASSES_MISSED_SYNC_CYCLES - Returns the
2975*8975f5c5SAndroid Build Coastguard Worker  * number of state sync cycles recently missed by the glasses.
2976*8975f5c5SAndroid Build Coastguard Worker  * Use the display_mask parameter to specify the glasses id.
2977*8975f5c5SAndroid Build Coastguard Worker  */
2978*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_GLASSES_MISSED_SYNC_CYCLES 379 /* R--T */
2979*8975f5c5SAndroid Build Coastguard Worker 
2980*8975f5c5SAndroid Build Coastguard Worker /*
2981*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_GLASSES_BATTERY_LEVEL - Returns the
2982*8975f5c5SAndroid Build Coastguard Worker  * battery level(in percentage) of the glasses.
2983*8975f5c5SAndroid Build Coastguard Worker  * Use the display_mask parameter to specify the glasses id.
2984*8975f5c5SAndroid Build Coastguard Worker  */
2985*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_GLASSES_BATTERY_LEVEL 380 /* R--T */
2986*8975f5c5SAndroid Build Coastguard Worker 
2987*8975f5c5SAndroid Build Coastguard Worker /*
2988*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_ANC_PARITY_COMPUTATION - Controls the SDI device's computation
2989*8975f5c5SAndroid Build Coastguard Worker  * of the parity bit (bit 8) for ANC data words.
2990*8975f5c5SAndroid Build Coastguard Worker  */
2991*8975f5c5SAndroid Build Coastguard Worker 
2992*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_ANC_PARITY_COMPUTATION 381 /* RW--- */
2993*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_ANC_PARITY_COMPUTATION_AUTO 0
2994*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_ANC_PARITY_COMPUTATION_ON 1
2995*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_ANC_PARITY_COMPUTATION_OFF 2
2996*8975f5c5SAndroid Build Coastguard Worker 
2997*8975f5c5SAndroid Build Coastguard Worker /*
2998*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_GLASSES_PAIR_EVENT - This attribute is sent
2999*8975f5c5SAndroid Build Coastguard Worker  * as an event when glasses get paired in response to pair command
3000*8975f5c5SAndroid Build Coastguard Worker  * from any of the clients.
3001*8975f5c5SAndroid Build Coastguard Worker  */
3002*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_GLASSES_PAIR_EVENT 382 /* ---T */
3003*8975f5c5SAndroid Build Coastguard Worker 
3004*8975f5c5SAndroid Build Coastguard Worker /*
3005*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_3D_VISION_PRO_GLASSES_UNPAIR_EVENT - This attribute is sent
3006*8975f5c5SAndroid Build Coastguard Worker  * as an event when glasses get unpaired in response to unpair command
3007*8975f5c5SAndroid Build Coastguard Worker  * from any of the clients.
3008*8975f5c5SAndroid Build Coastguard Worker  */
3009*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_3D_VISION_PRO_GLASSES_UNPAIR_EVENT 383 /* ---T */
3010*8975f5c5SAndroid Build Coastguard Worker 
3011*8975f5c5SAndroid Build Coastguard Worker /*
3012*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_PCIE_CURRENT_LINK_WIDTH - returns the current
3013*8975f5c5SAndroid Build Coastguard Worker  * PCIe link width, in number of lanes.
3014*8975f5c5SAndroid Build Coastguard Worker  */
3015*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_PCIE_CURRENT_LINK_WIDTH 384 /* R--GI */
3016*8975f5c5SAndroid Build Coastguard Worker 
3017*8975f5c5SAndroid Build Coastguard Worker /*
3018*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GPU_PCIE_CURRENT_LINK_SPEED - returns the current
3019*8975f5c5SAndroid Build Coastguard Worker  * PCIe link speed, in megatransfers per second (GT/s).
3020*8975f5c5SAndroid Build Coastguard Worker  */
3021*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GPU_PCIE_CURRENT_LINK_SPEED 385 /* R--GI */
3022*8975f5c5SAndroid Build Coastguard Worker 
3023*8975f5c5SAndroid Build Coastguard Worker /*
3024*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVO_AUDIO_BLANKING - specifies whether the GVO device should delete
3025*8975f5c5SAndroid Build Coastguard Worker  * audio ancillary data packets when frames are repeated.
3026*8975f5c5SAndroid Build Coastguard Worker  *
3027*8975f5c5SAndroid Build Coastguard Worker  * When a new frame is not ready in time, the current frame, including all
3028*8975f5c5SAndroid Build Coastguard Worker  * ancillary data packets, is repeated.  When this data includes audio packets,
3029*8975f5c5SAndroid Build Coastguard Worker  * this can result in stutters or clicks.  When this option is enabled, the GVO
3030*8975f5c5SAndroid Build Coastguard Worker  * device will detect when frames are repeated, identify audio ancillary data
3031*8975f5c5SAndroid Build Coastguard Worker  * packets, and mark them for deletion.
3032*8975f5c5SAndroid Build Coastguard Worker  *
3033*8975f5c5SAndroid Build Coastguard Worker  * This option is applied when the GVO device is bound.
3034*8975f5c5SAndroid Build Coastguard Worker  */
3035*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_AUDIO_BLANKING 386 /* RW- */
3036*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_AUDIO_BLANKING_DISABLE 0
3037*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_GVO_AUDIO_BLANKING_ENABLE 1
3038*8975f5c5SAndroid Build Coastguard Worker 
3039*8975f5c5SAndroid Build Coastguard Worker /*
3040*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_CURRENT_METAMODE_ID - switch modes to the MetaMode with
3041*8975f5c5SAndroid Build Coastguard Worker  * the specified ID.
3042*8975f5c5SAndroid Build Coastguard Worker  */
3043*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_CURRENT_METAMODE_ID 387 /* RW- */
3044*8975f5c5SAndroid Build Coastguard Worker 
3045*8975f5c5SAndroid Build Coastguard Worker /*
3046*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_DISPLAY_ENABLED - Returns whether or not the display device
3047*8975f5c5SAndroid Build Coastguard Worker  * is currently enabled.
3048*8975f5c5SAndroid Build Coastguard Worker  */
3049*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DISPLAY_ENABLED 388 /* R-D */
3050*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DISPLAY_ENABLED_TRUE 1
3051*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_DISPLAY_ENABLED_FALSE 0
3052*8975f5c5SAndroid Build Coastguard Worker 
3053*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_LAST_ATTRIBUTE NV_CTRL_DISPLAY_ENABLED
3054*8975f5c5SAndroid Build Coastguard Worker 
3055*8975f5c5SAndroid Build Coastguard Worker /**************************************************************************/
3056*8975f5c5SAndroid Build Coastguard Worker 
3057*8975f5c5SAndroid Build Coastguard Worker /*
3058*8975f5c5SAndroid Build Coastguard Worker  * String Attributes:
3059*8975f5c5SAndroid Build Coastguard Worker  *
3060*8975f5c5SAndroid Build Coastguard Worker  * String attributes can be queryied through the XNVCTRLQueryStringAttribute()
3061*8975f5c5SAndroid Build Coastguard Worker  * and XNVCTRLQueryTargetStringAttribute() function calls.
3062*8975f5c5SAndroid Build Coastguard Worker  *
3063*8975f5c5SAndroid Build Coastguard Worker  * String attributes can be set through the XNVCTRLSetStringAttribute()
3064*8975f5c5SAndroid Build Coastguard Worker  * function call.  (There are currently no string attributes that can be
3065*8975f5c5SAndroid Build Coastguard Worker  * set on non-X Screen targets.)
3066*8975f5c5SAndroid Build Coastguard Worker  *
3067*8975f5c5SAndroid Build Coastguard Worker  * Unless otherwise noted, all string attributes can be queried/set using an
3068*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_TARGET_TYPE_X_SCREEN target.  Attributes that cannot take an
3069*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_TARGET_TYPE_X_SCREEN target also cannot be queried/set through
3070*8975f5c5SAndroid Build Coastguard Worker  * XNVCTRLQueryStringAttribute()/XNVCTRLSetStringAttribute() (Since
3071*8975f5c5SAndroid Build Coastguard Worker  * these assume an X Screen target).
3072*8975f5c5SAndroid Build Coastguard Worker  */
3073*8975f5c5SAndroid Build Coastguard Worker 
3074*8975f5c5SAndroid Build Coastguard Worker /*
3075*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_PRODUCT_NAME - the GPU product name on which the
3076*8975f5c5SAndroid Build Coastguard Worker  * specified X screen is running.
3077*8975f5c5SAndroid Build Coastguard Worker  *
3078*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetStringAttribute()
3079*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target.
3080*8975f5c5SAndroid Build Coastguard Worker  */
3081*8975f5c5SAndroid Build Coastguard Worker 
3082*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_PRODUCT_NAME 0 /* R--G */
3083*8975f5c5SAndroid Build Coastguard Worker 
3084*8975f5c5SAndroid Build Coastguard Worker /*
3085*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_VBIOS_VERSION - the video bios version on the GPU on
3086*8975f5c5SAndroid Build Coastguard Worker  * which the specified X screen is running.
3087*8975f5c5SAndroid Build Coastguard Worker  */
3088*8975f5c5SAndroid Build Coastguard Worker 
3089*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_VBIOS_VERSION 1 /* R--G */
3090*8975f5c5SAndroid Build Coastguard Worker 
3091*8975f5c5SAndroid Build Coastguard Worker /*
3092*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_NVIDIA_DRIVER_VERSION - string representation of the
3093*8975f5c5SAndroid Build Coastguard Worker  * NVIDIA driver version number for the NVIDIA X driver in use.
3094*8975f5c5SAndroid Build Coastguard Worker  */
3095*8975f5c5SAndroid Build Coastguard Worker 
3096*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_NVIDIA_DRIVER_VERSION 3 /* R--G */
3097*8975f5c5SAndroid Build Coastguard Worker 
3098*8975f5c5SAndroid Build Coastguard Worker /*
3099*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_DISPLAY_DEVICE_NAME - name of the display device
3100*8975f5c5SAndroid Build Coastguard Worker  * specified in the display_mask argument.
3101*8975f5c5SAndroid Build Coastguard Worker  *
3102*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetStringAttribute()
3103*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target.
3104*8975f5c5SAndroid Build Coastguard Worker  */
3105*8975f5c5SAndroid Build Coastguard Worker 
3106*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_DISPLAY_DEVICE_NAME 4 /* R-DG */
3107*8975f5c5SAndroid Build Coastguard Worker 
3108*8975f5c5SAndroid Build Coastguard Worker /*
3109*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_TV_ENCODER_NAME - name of the TV encoder used by the
3110*8975f5c5SAndroid Build Coastguard Worker  * specified display device; only valid if the display device is a TV.
3111*8975f5c5SAndroid Build Coastguard Worker  */
3112*8975f5c5SAndroid Build Coastguard Worker 
3113*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_TV_ENCODER_NAME 5 /* R-DG */
3114*8975f5c5SAndroid Build Coastguard Worker 
3115*8975f5c5SAndroid Build Coastguard Worker /*
3116*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_GVIO_FIRMWARE_VERSION - indicates the version of the
3117*8975f5c5SAndroid Build Coastguard Worker  * Firmware on the GVIO device.
3118*8975f5c5SAndroid Build Coastguard Worker  */
3119*8975f5c5SAndroid Build Coastguard Worker 
3120*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_GVIO_FIRMWARE_VERSION 8 /* R--I */
3121*8975f5c5SAndroid Build Coastguard Worker 
3122*8975f5c5SAndroid Build Coastguard Worker /*
3123*8975f5c5SAndroid Build Coastguard Worker  * The following is deprecated; use NV_CTRL_STRING_GVIO_FIRMWARE_VERSION,
3124*8975f5c5SAndroid Build Coastguard Worker  * instead
3125*8975f5c5SAndroid Build Coastguard Worker  */
3126*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_GVO_FIRMWARE_VERSION 8 /* R-- */
3127*8975f5c5SAndroid Build Coastguard Worker 
3128*8975f5c5SAndroid Build Coastguard Worker /*
3129*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_CURRENT_MODELINE - Return the ModeLine currently
3130*8975f5c5SAndroid Build Coastguard Worker  * being used by the specified display device.
3131*8975f5c5SAndroid Build Coastguard Worker  *
3132*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetStringAttribute()
3133*8975f5c5SAndroid Build Coastguard Worker  * using an NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target.
3134*8975f5c5SAndroid Build Coastguard Worker  *
3135*8975f5c5SAndroid Build Coastguard Worker  * The ModeLine string may be prepended with a comma-separated list of
3136*8975f5c5SAndroid Build Coastguard Worker  * "token=value" pairs, separated from the ModeLine string by "::".
3137*8975f5c5SAndroid Build Coastguard Worker  * This "token=value" syntax is the same as that used in
3138*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_MODELINES
3139*8975f5c5SAndroid Build Coastguard Worker  */
3140*8975f5c5SAndroid Build Coastguard Worker 
3141*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_CURRENT_MODELINE 9 /* R-DG */
3142*8975f5c5SAndroid Build Coastguard Worker 
3143*8975f5c5SAndroid Build Coastguard Worker /*
3144*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_ADD_MODELINE - Adds a ModeLine to the specified
3145*8975f5c5SAndroid Build Coastguard Worker  * display device.  The ModeLine is not added if validation fails.
3146*8975f5c5SAndroid Build Coastguard Worker  *
3147*8975f5c5SAndroid Build Coastguard Worker  * The ModeLine string should have the same syntax as a ModeLine in
3148*8975f5c5SAndroid Build Coastguard Worker  * the X configuration file; e.g.,
3149*8975f5c5SAndroid Build Coastguard Worker  *
3150*8975f5c5SAndroid Build Coastguard Worker  * "1600x1200"  229.5  1600 1664 1856 2160  1200 1201 1204 1250  +HSync +VSync
3151*8975f5c5SAndroid Build Coastguard Worker  */
3152*8975f5c5SAndroid Build Coastguard Worker 
3153*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_ADD_MODELINE 10 /* -WDG */
3154*8975f5c5SAndroid Build Coastguard Worker 
3155*8975f5c5SAndroid Build Coastguard Worker /*
3156*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_DELETE_MODELINE - Deletes an existing ModeLine
3157*8975f5c5SAndroid Build Coastguard Worker  * from the specified display device.  The currently selected
3158*8975f5c5SAndroid Build Coastguard Worker  * ModeLine cannot be deleted.  (This also means you cannot delete
3159*8975f5c5SAndroid Build Coastguard Worker  * the last ModeLine.)
3160*8975f5c5SAndroid Build Coastguard Worker  *
3161*8975f5c5SAndroid Build Coastguard Worker  * The ModeLine string should have the same syntax as a ModeLine in
3162*8975f5c5SAndroid Build Coastguard Worker  * the X configuration file; e.g.,
3163*8975f5c5SAndroid Build Coastguard Worker  *
3164*8975f5c5SAndroid Build Coastguard Worker  * "1600x1200"  229.5  1600 1664 1856 2160  1200 1201 1204 1250  +HSync +VSync
3165*8975f5c5SAndroid Build Coastguard Worker  */
3166*8975f5c5SAndroid Build Coastguard Worker 
3167*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_DELETE_MODELINE 11 /* -WDG */
3168*8975f5c5SAndroid Build Coastguard Worker 
3169*8975f5c5SAndroid Build Coastguard Worker /*
3170*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_CURRENT_METAMODE - Returns the metamode currently
3171*8975f5c5SAndroid Build Coastguard Worker  * being used by the specified X screen.  The MetaMode string has the
3172*8975f5c5SAndroid Build Coastguard Worker  * same syntax as the MetaMode X configuration option, as documented
3173*8975f5c5SAndroid Build Coastguard Worker  * in the NVIDIA driver README.
3174*8975f5c5SAndroid Build Coastguard Worker  *
3175*8975f5c5SAndroid Build Coastguard Worker  * The returned string may be prepended with a comma-separated list of
3176*8975f5c5SAndroid Build Coastguard Worker  * "token=value" pairs, separated from the MetaMode string by "::".
3177*8975f5c5SAndroid Build Coastguard Worker  * This "token=value" syntax is the same as that used in
3178*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_METAMODES.
3179*8975f5c5SAndroid Build Coastguard Worker  */
3180*8975f5c5SAndroid Build Coastguard Worker 
3181*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_CURRENT_METAMODE 12 /* RW-- */
3182*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_CURRENT_METAMODE_VERSION_1 NV_CTRL_STRING_CURRENT_METAMODE
3183*8975f5c5SAndroid Build Coastguard Worker 
3184*8975f5c5SAndroid Build Coastguard Worker /*
3185*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_ADD_METAMODE - Adds a MetaMode to the specified
3186*8975f5c5SAndroid Build Coastguard Worker  * X Screen.
3187*8975f5c5SAndroid Build Coastguard Worker  *
3188*8975f5c5SAndroid Build Coastguard Worker  * It is recommended to not use this attribute, but instead use
3189*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_OPERATION_ADD_METAMODE.
3190*8975f5c5SAndroid Build Coastguard Worker  */
3191*8975f5c5SAndroid Build Coastguard Worker 
3192*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_ADD_METAMODE 13 /* -W-- */
3193*8975f5c5SAndroid Build Coastguard Worker 
3194*8975f5c5SAndroid Build Coastguard Worker /*
3195*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_DELETE_METAMODE - Deletes an existing MetaMode from
3196*8975f5c5SAndroid Build Coastguard Worker  * the specified X Screen.  The currently selected MetaMode cannot be
3197*8975f5c5SAndroid Build Coastguard Worker  * deleted.  (This also means you cannot delete the last MetaMode).
3198*8975f5c5SAndroid Build Coastguard Worker  * The MetaMode string should have the same syntax as the MetaMode X
3199*8975f5c5SAndroid Build Coastguard Worker  * configuration option, as documented in the NVIDIA driver README.
3200*8975f5c5SAndroid Build Coastguard Worker  */
3201*8975f5c5SAndroid Build Coastguard Worker 
3202*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_DELETE_METAMODE 14 /* -WD-- */
3203*8975f5c5SAndroid Build Coastguard Worker 
3204*8975f5c5SAndroid Build Coastguard Worker /*
3205*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_VCSC_PRODUCT_NAME - Querys the product name of the
3206*8975f5c5SAndroid Build Coastguard Worker  * VCSC device.
3207*8975f5c5SAndroid Build Coastguard Worker  *
3208*8975f5c5SAndroid Build Coastguard Worker  * This attribute must be queried through XNVCTRLQueryTargetStringAttribute()
3209*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_VCSC target.
3210*8975f5c5SAndroid Build Coastguard Worker  */
3211*8975f5c5SAndroid Build Coastguard Worker 
3212*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_VCSC_PRODUCT_NAME 15 /* R---V */
3213*8975f5c5SAndroid Build Coastguard Worker 
3214*8975f5c5SAndroid Build Coastguard Worker /*
3215*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_VCSC_PRODUCT_ID - Querys the product ID of the VCSC device.
3216*8975f5c5SAndroid Build Coastguard Worker  *
3217*8975f5c5SAndroid Build Coastguard Worker  * This attribute must be queried through XNVCTRLQueryTargetStringAttribute()
3218*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_VCSC target.
3219*8975f5c5SAndroid Build Coastguard Worker  */
3220*8975f5c5SAndroid Build Coastguard Worker 
3221*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_VCSC_PRODUCT_ID 16 /* R---V */
3222*8975f5c5SAndroid Build Coastguard Worker 
3223*8975f5c5SAndroid Build Coastguard Worker /*
3224*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_VCSC_SERIAL_NUMBER - Querys the unique serial number
3225*8975f5c5SAndroid Build Coastguard Worker  * of the VCS device.
3226*8975f5c5SAndroid Build Coastguard Worker  *
3227*8975f5c5SAndroid Build Coastguard Worker  * This attribute must be queried through XNVCTRLQueryTargetStringAttribute()
3228*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_VCSC target.
3229*8975f5c5SAndroid Build Coastguard Worker  */
3230*8975f5c5SAndroid Build Coastguard Worker 
3231*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_VCSC_SERIAL_NUMBER 17 /* R---V */
3232*8975f5c5SAndroid Build Coastguard Worker 
3233*8975f5c5SAndroid Build Coastguard Worker /*
3234*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_VCSC_BUILD_DATE - Querys the date of the VCS device.
3235*8975f5c5SAndroid Build Coastguard Worker  * the returned string is in the following format: "Week.Year"
3236*8975f5c5SAndroid Build Coastguard Worker  *
3237*8975f5c5SAndroid Build Coastguard Worker  * This attribute must be queried through XNVCTRLQueryTargetStringAttribute()
3238*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_VCSC target.
3239*8975f5c5SAndroid Build Coastguard Worker  */
3240*8975f5c5SAndroid Build Coastguard Worker 
3241*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_VCSC_BUILD_DATE 18 /* R---V */
3242*8975f5c5SAndroid Build Coastguard Worker 
3243*8975f5c5SAndroid Build Coastguard Worker /*
3244*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_VCSC_FIRMWARE_VERSION - Querys the firmware version
3245*8975f5c5SAndroid Build Coastguard Worker  * of the VCS device.
3246*8975f5c5SAndroid Build Coastguard Worker  *
3247*8975f5c5SAndroid Build Coastguard Worker  * This attribute must be queried through XNVCTRLQueryTargetStringAttribute()
3248*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_VCSC target.
3249*8975f5c5SAndroid Build Coastguard Worker  */
3250*8975f5c5SAndroid Build Coastguard Worker 
3251*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_VCSC_FIRMWARE_VERSION 19 /* R---V */
3252*8975f5c5SAndroid Build Coastguard Worker 
3253*8975f5c5SAndroid Build Coastguard Worker /*
3254*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_VCSC_FIRMWARE_REVISION - Querys the firmware revision
3255*8975f5c5SAndroid Build Coastguard Worker  * of the VCS device.
3256*8975f5c5SAndroid Build Coastguard Worker  *
3257*8975f5c5SAndroid Build Coastguard Worker  * This attribute must be queried through XNVCTRLQueryTargetStringAttribute()
3258*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_VCS target.
3259*8975f5c5SAndroid Build Coastguard Worker  */
3260*8975f5c5SAndroid Build Coastguard Worker 
3261*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_VCSC_FIRMWARE_REVISION 20 /* R---V */
3262*8975f5c5SAndroid Build Coastguard Worker 
3263*8975f5c5SAndroid Build Coastguard Worker /*
3264*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_VCSC_HARDWARE_VERSION - Querys the hardware version
3265*8975f5c5SAndroid Build Coastguard Worker  * of the VCS device.
3266*8975f5c5SAndroid Build Coastguard Worker  *
3267*8975f5c5SAndroid Build Coastguard Worker  * This attribute must be queried through XNVCTRLQueryTargetStringAttribute()
3268*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_VCSC target.
3269*8975f5c5SAndroid Build Coastguard Worker  */
3270*8975f5c5SAndroid Build Coastguard Worker 
3271*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_VCSC_HARDWARE_VERSION 21 /* R---V */
3272*8975f5c5SAndroid Build Coastguard Worker 
3273*8975f5c5SAndroid Build Coastguard Worker /*
3274*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_VCSC_HARDWARE_REVISION - Querys the hardware revision
3275*8975f5c5SAndroid Build Coastguard Worker  * of the VCS device.
3276*8975f5c5SAndroid Build Coastguard Worker  *
3277*8975f5c5SAndroid Build Coastguard Worker  * This attribute must be queried through XNVCTRLQueryTargetStringAttribute()
3278*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_VCSC target.
3279*8975f5c5SAndroid Build Coastguard Worker  */
3280*8975f5c5SAndroid Build Coastguard Worker 
3281*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_VCSC_HARDWARE_REVISION 22 /* R---V */
3282*8975f5c5SAndroid Build Coastguard Worker 
3283*8975f5c5SAndroid Build Coastguard Worker /*
3284*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_MOVE_METAMODE - Moves a MetaMode to the specified
3285*8975f5c5SAndroid Build Coastguard Worker  * index location.  The MetaMode must already exist in the X Screen's
3286*8975f5c5SAndroid Build Coastguard Worker  * list of MetaModes (as returned by the NV_CTRL_BINARY_DATA_METAMODES
3287*8975f5c5SAndroid Build Coastguard Worker  * attribute).  If the index is larger than the number of MetaModes in
3288*8975f5c5SAndroid Build Coastguard Worker  * the list, the MetaMode is moved to the end of the list.  The
3289*8975f5c5SAndroid Build Coastguard Worker  * MetaMode string should have the same syntax as the MetaMode X
3290*8975f5c5SAndroid Build Coastguard Worker  * configuration option, as documented in the NVIDIA driver README.
3291*8975f5c5SAndroid Build Coastguard Worker 
3292*8975f5c5SAndroid Build Coastguard Worker  * The MetaMode string must be prepended with a comma-separated list
3293*8975f5c5SAndroid Build Coastguard Worker  * of "token=value" pairs, separated from the MetaMode string by "::".
3294*8975f5c5SAndroid Build Coastguard Worker  * Currently, the only valid token is "index", which indicates where
3295*8975f5c5SAndroid Build Coastguard Worker  * in the MetaMode list the MetaMode should be moved to.
3296*8975f5c5SAndroid Build Coastguard Worker  *
3297*8975f5c5SAndroid Build Coastguard Worker  * Other tokens may be added in the future.
3298*8975f5c5SAndroid Build Coastguard Worker  *
3299*8975f5c5SAndroid Build Coastguard Worker  * E.g.,
3300*8975f5c5SAndroid Build Coastguard Worker  *  "index=5 :: CRT-0: 1024x768 @1024x768 +0+0"
3301*8975f5c5SAndroid Build Coastguard Worker  */
3302*8975f5c5SAndroid Build Coastguard Worker 
3303*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_MOVE_METAMODE 23 /* -W-- */
3304*8975f5c5SAndroid Build Coastguard Worker 
3305*8975f5c5SAndroid Build Coastguard Worker /*
3306*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_VALID_HORIZ_SYNC_RANGES - returns the valid
3307*8975f5c5SAndroid Build Coastguard Worker  * horizontal sync ranges used to perform mode validation for the
3308*8975f5c5SAndroid Build Coastguard Worker  * specified display device.  The ranges are in the same format as the
3309*8975f5c5SAndroid Build Coastguard Worker  * "HorizSync" X config option:
3310*8975f5c5SAndroid Build Coastguard Worker  *
3311*8975f5c5SAndroid Build Coastguard Worker  *   "horizsync-range may be a comma separated list of either discrete
3312*8975f5c5SAndroid Build Coastguard Worker  *   values or ranges of values.  A range of values is two values
3313*8975f5c5SAndroid Build Coastguard Worker  *   separated by a dash."
3314*8975f5c5SAndroid Build Coastguard Worker  *
3315*8975f5c5SAndroid Build Coastguard Worker  * The values are in kHz.
3316*8975f5c5SAndroid Build Coastguard Worker  *
3317*8975f5c5SAndroid Build Coastguard Worker  * Additionally, the string may be prepended with a comma-separated
3318*8975f5c5SAndroid Build Coastguard Worker  * list of "token=value" pairs, separated from the HorizSync string by
3319*8975f5c5SAndroid Build Coastguard Worker  * "::".  Valid tokens:
3320*8975f5c5SAndroid Build Coastguard Worker  *
3321*8975f5c5SAndroid Build Coastguard Worker  *    Token     Value
3322*8975f5c5SAndroid Build Coastguard Worker  *   "source"  "edid"     - HorizSync is from the display device's EDID
3323*8975f5c5SAndroid Build Coastguard Worker  *             "xconfig"  - HorizSync is from the "HorizSync" entry in
3324*8975f5c5SAndroid Build Coastguard Worker  *                          the Monitor section of the X config file
3325*8975f5c5SAndroid Build Coastguard Worker  *             "option"   - HorizSync is from the "HorizSync" NVIDIA X
3326*8975f5c5SAndroid Build Coastguard Worker  *                          config option
3327*8975f5c5SAndroid Build Coastguard Worker  *             "twinview" - HorizSync is from the "SecondMonitorHorizSync"
3328*8975f5c5SAndroid Build Coastguard Worker  *                          NVIDIA X config option
3329*8975f5c5SAndroid Build Coastguard Worker  *             "builtin"  - HorizSync is from NVIDIA X driver builtin
3330*8975f5c5SAndroid Build Coastguard Worker  *                          default values
3331*8975f5c5SAndroid Build Coastguard Worker  *
3332*8975f5c5SAndroid Build Coastguard Worker  * Additional tokens and/or values may be added in the future.
3333*8975f5c5SAndroid Build Coastguard Worker  *
3334*8975f5c5SAndroid Build Coastguard Worker  * Example: "source=edid :: 30.000-62.000"
3335*8975f5c5SAndroid Build Coastguard Worker  */
3336*8975f5c5SAndroid Build Coastguard Worker 
3337*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_VALID_HORIZ_SYNC_RANGES 24 /* R-DG */
3338*8975f5c5SAndroid Build Coastguard Worker 
3339*8975f5c5SAndroid Build Coastguard Worker /*
3340*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_VALID_VERT_REFRESH_RANGES - returns the valid
3341*8975f5c5SAndroid Build Coastguard Worker  * vertical refresh ranges used to perform mode validation for the
3342*8975f5c5SAndroid Build Coastguard Worker  * specified display device.  The ranges are in the same format as the
3343*8975f5c5SAndroid Build Coastguard Worker  * "VertRefresh" X config option:
3344*8975f5c5SAndroid Build Coastguard Worker  *
3345*8975f5c5SAndroid Build Coastguard Worker  *   "vertrefresh-range may be a comma separated list of either discrete
3346*8975f5c5SAndroid Build Coastguard Worker  *    values or ranges of values.  A range of values is two values
3347*8975f5c5SAndroid Build Coastguard Worker  *    separated by a dash."
3348*8975f5c5SAndroid Build Coastguard Worker  *
3349*8975f5c5SAndroid Build Coastguard Worker  * The values are in Hz.
3350*8975f5c5SAndroid Build Coastguard Worker  *
3351*8975f5c5SAndroid Build Coastguard Worker  * Additionally, the string may be prepended with a comma-separated
3352*8975f5c5SAndroid Build Coastguard Worker  * list of "token=value" pairs, separated from the VertRefresh string by
3353*8975f5c5SAndroid Build Coastguard Worker  * "::".  Valid tokens:
3354*8975f5c5SAndroid Build Coastguard Worker  *
3355*8975f5c5SAndroid Build Coastguard Worker  *    Token     Value
3356*8975f5c5SAndroid Build Coastguard Worker  *   "source"  "edid"     - VertRefresh is from the display device's EDID
3357*8975f5c5SAndroid Build Coastguard Worker  *             "xconfig"  - VertRefresh is from the "VertRefresh" entry in
3358*8975f5c5SAndroid Build Coastguard Worker  *                          the Monitor section of the X config file
3359*8975f5c5SAndroid Build Coastguard Worker  *             "option"   - VertRefresh is from the "VertRefresh" NVIDIA X
3360*8975f5c5SAndroid Build Coastguard Worker  *                          config option
3361*8975f5c5SAndroid Build Coastguard Worker  *             "twinview" - VertRefresh is from the "SecondMonitorVertRefresh"
3362*8975f5c5SAndroid Build Coastguard Worker  *                          NVIDIA X config option
3363*8975f5c5SAndroid Build Coastguard Worker  *             "builtin"  - VertRefresh is from NVIDIA X driver builtin
3364*8975f5c5SAndroid Build Coastguard Worker  *                          default values
3365*8975f5c5SAndroid Build Coastguard Worker  *
3366*8975f5c5SAndroid Build Coastguard Worker  * Additional tokens and/or values may be added in the future.
3367*8975f5c5SAndroid Build Coastguard Worker  *
3368*8975f5c5SAndroid Build Coastguard Worker  * Example: "source=edid :: 50.000-75.000"
3369*8975f5c5SAndroid Build Coastguard Worker  */
3370*8975f5c5SAndroid Build Coastguard Worker 
3371*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_VALID_VERT_REFRESH_RANGES 25 /* R-DG */
3372*8975f5c5SAndroid Build Coastguard Worker 
3373*8975f5c5SAndroid Build Coastguard Worker /*
3374*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_XINERAMA_SCREEN_INFO - returns the physical X Screen's
3375*8975f5c5SAndroid Build Coastguard Worker  * initial position and size (in absolute coordinates) within the Xinerama
3376*8975f5c5SAndroid Build Coastguard Worker  * desktop as the "token=value" string:  "x=#, y=#, width=#, height=#"
3377*8975f5c5SAndroid Build Coastguard Worker  *
3378*8975f5c5SAndroid Build Coastguard Worker  * Querying this attribute returns FALSE if NV_CTRL_XINERAMA is not
3379*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_XINERAMA_ON.
3380*8975f5c5SAndroid Build Coastguard Worker  */
3381*8975f5c5SAndroid Build Coastguard Worker 
3382*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_XINERAMA_SCREEN_INFO 26 /* R--- */
3383*8975f5c5SAndroid Build Coastguard Worker 
3384*8975f5c5SAndroid Build Coastguard Worker /*
3385*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_TWINVIEW_XINERAMA_INFO_ORDER - used to specify the
3386*8975f5c5SAndroid Build Coastguard Worker  * order that display devices will be returned via Xinerama when
3387*8975f5c5SAndroid Build Coastguard Worker  * nvidiaXineramaInfo is enabled.  Follows the same syntax as the
3388*8975f5c5SAndroid Build Coastguard Worker  * nvidiaXineramaInfoOrder X config option.
3389*8975f5c5SAndroid Build Coastguard Worker  */
3390*8975f5c5SAndroid Build Coastguard Worker 
3391*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_NVIDIA_XINERAMA_INFO_ORDER 27 /* RW-- */
3392*8975f5c5SAndroid Build Coastguard Worker 
3393*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_TWINVIEW_XINERAMA_INFO_ORDER \
3394*8975f5c5SAndroid Build Coastguard Worker     NV_CTRL_STRING_NVIDIA_XINERAMA_INFO_ORDER /* for backwards compatibility: */
3395*8975f5c5SAndroid Build Coastguard Worker 
3396*8975f5c5SAndroid Build Coastguard Worker /*
3397*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_SLI_MODE - returns a string describing the current
3398*8975f5c5SAndroid Build Coastguard Worker  * SLI mode, if any, or FALSE if SLI is not currently enabled.
3399*8975f5c5SAndroid Build Coastguard Worker  *
3400*8975f5c5SAndroid Build Coastguard Worker  * This string should be used for informational purposes only, and
3401*8975f5c5SAndroid Build Coastguard Worker  * should not be used to distinguish between SLI modes, other than to
3402*8975f5c5SAndroid Build Coastguard Worker  * recognize when SLI is disabled (FALSE is returned) or
3403*8975f5c5SAndroid Build Coastguard Worker  * enabled (the returned string is non-NULL and describes the current
3404*8975f5c5SAndroid Build Coastguard Worker  * SLI configuration).
3405*8975f5c5SAndroid Build Coastguard Worker  */
3406*8975f5c5SAndroid Build Coastguard Worker 
3407*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_SLI_MODE 28 /* R---*/
3408*8975f5c5SAndroid Build Coastguard Worker 
3409*8975f5c5SAndroid Build Coastguard Worker /*
3410*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_PERFORMANCE_MODES - returns a string with all the
3411*8975f5c5SAndroid Build Coastguard Worker  * performance modes defined for this GPU along with their associated
3412*8975f5c5SAndroid Build Coastguard Worker  * NV Clock and Memory Clock values.
3413*8975f5c5SAndroid Build Coastguard Worker  *
3414*8975f5c5SAndroid Build Coastguard Worker  * Each performance modes are returned as a comma-separated list of
3415*8975f5c5SAndroid Build Coastguard Worker  * "token=value" pairs.  Each set of performance mode tokens are separated
3416*8975f5c5SAndroid Build Coastguard Worker  * by a ";".  Valid tokens:
3417*8975f5c5SAndroid Build Coastguard Worker  *
3418*8975f5c5SAndroid Build Coastguard Worker  *    Token      Value
3419*8975f5c5SAndroid Build Coastguard Worker  *   "perf"      integer   - the Performance level
3420*8975f5c5SAndroid Build Coastguard Worker  *   "nvclock"   integer   - the GPU clocks (in MHz) for the perf level
3421*8975f5c5SAndroid Build Coastguard Worker  *   "memclock"  integer   - the memory clocks (in MHz) for the perf level
3422*8975f5c5SAndroid Build Coastguard Worker  *
3423*8975f5c5SAndroid Build Coastguard Worker  *
3424*8975f5c5SAndroid Build Coastguard Worker  * Example:
3425*8975f5c5SAndroid Build Coastguard Worker  *
3426*8975f5c5SAndroid Build Coastguard Worker  *   perf=0, nvclock=500, memclock=505 ; perf=1, nvclock=650, memclock=505
3427*8975f5c5SAndroid Build Coastguard Worker  *
3428*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetStringAttribute()
3429*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target.
3430*8975f5c5SAndroid Build Coastguard Worker  */
3431*8975f5c5SAndroid Build Coastguard Worker 
3432*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_PERFORMANCE_MODES 29 /* R--G */
3433*8975f5c5SAndroid Build Coastguard Worker 
3434*8975f5c5SAndroid Build Coastguard Worker /*
3435*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_VCSC_FAN_STATUS - returns a string with status of all the
3436*8975f5c5SAndroid Build Coastguard Worker  * fans in the Visual Computing System, if such a query is supported.  Fan
3437*8975f5c5SAndroid Build Coastguard Worker  * information is reported along with its tachometer reading (in RPM) and a
3438*8975f5c5SAndroid Build Coastguard Worker  * flag indicating whether the fan has failed or not.
3439*8975f5c5SAndroid Build Coastguard Worker  *
3440*8975f5c5SAndroid Build Coastguard Worker  * Valid tokens:
3441*8975f5c5SAndroid Build Coastguard Worker  *
3442*8975f5c5SAndroid Build Coastguard Worker  *    Token      Value
3443*8975f5c5SAndroid Build Coastguard Worker  *   "fan"       integer   - the Fan index
3444*8975f5c5SAndroid Build Coastguard Worker  *   "speed"     integer   - the tachometer reading of the fan in rpm
3445*8975f5c5SAndroid Build Coastguard Worker  *   "fail"      integer   - flag to indicate whether the fan has failed
3446*8975f5c5SAndroid Build Coastguard Worker  *
3447*8975f5c5SAndroid Build Coastguard Worker  * Example:
3448*8975f5c5SAndroid Build Coastguard Worker  *
3449*8975f5c5SAndroid Build Coastguard Worker  *   fan=0, speed=694, fail=0 ; fan=1, speed=693, fail=0
3450*8975f5c5SAndroid Build Coastguard Worker  *
3451*8975f5c5SAndroid Build Coastguard Worker  * This attribute must be queried through XNVCTRLQueryTargetStringAttribute()
3452*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_VCSC target.
3453*8975f5c5SAndroid Build Coastguard Worker  *
3454*8975f5c5SAndroid Build Coastguard Worker  */
3455*8975f5c5SAndroid Build Coastguard Worker 
3456*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_VCSC_FAN_STATUS 30 /* R---V */
3457*8975f5c5SAndroid Build Coastguard Worker 
3458*8975f5c5SAndroid Build Coastguard Worker /*
3459*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_VCSC_TEMPERATURES - returns a string with all Temperature
3460*8975f5c5SAndroid Build Coastguard Worker  * readings in the Visual Computing System, if such a query is supported.
3461*8975f5c5SAndroid Build Coastguard Worker  * Intake, Exhaust and Board Temperature values are reported in Celcius.
3462*8975f5c5SAndroid Build Coastguard Worker  *
3463*8975f5c5SAndroid Build Coastguard Worker  * Valid tokens:
3464*8975f5c5SAndroid Build Coastguard Worker  *
3465*8975f5c5SAndroid Build Coastguard Worker  *    Token      Value
3466*8975f5c5SAndroid Build Coastguard Worker  *   "intake"    integer   - the intake temperature for the VCS
3467*8975f5c5SAndroid Build Coastguard Worker  *   "exhaust"   integer   - the exhaust temperature for the VCS
3468*8975f5c5SAndroid Build Coastguard Worker  *   "board"     integer   - the board temperature of the VCS
3469*8975f5c5SAndroid Build Coastguard Worker  *
3470*8975f5c5SAndroid Build Coastguard Worker  * Example:
3471*8975f5c5SAndroid Build Coastguard Worker  *
3472*8975f5c5SAndroid Build Coastguard Worker  *   intake=29, exhaust=46, board=41
3473*8975f5c5SAndroid Build Coastguard Worker  *
3474*8975f5c5SAndroid Build Coastguard Worker  * This attribute must be queried through XNVCTRLQueryTargetStringAttribute()
3475*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_VCSC target.
3476*8975f5c5SAndroid Build Coastguard Worker  *
3477*8975f5c5SAndroid Build Coastguard Worker  */
3478*8975f5c5SAndroid Build Coastguard Worker 
3479*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_VCSC_TEMPERATURES 31 /* R---V */
3480*8975f5c5SAndroid Build Coastguard Worker 
3481*8975f5c5SAndroid Build Coastguard Worker /*
3482*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_VCSC_PSU_INFO - returns a string with all Power Supply Unit
3483*8975f5c5SAndroid Build Coastguard Worker  * related readings in the Visual Computing System, if such a query is
3484*8975f5c5SAndroid Build Coastguard Worker  * supported.  Current in amperes, Power in watts, Voltage in volts and PSU
3485*8975f5c5SAndroid Build Coastguard Worker  * state may be reported.  Not all PSU types support all of these values, and
3486*8975f5c5SAndroid Build Coastguard Worker  * therefore some readings may be unknown.
3487*8975f5c5SAndroid Build Coastguard Worker  *
3488*8975f5c5SAndroid Build Coastguard Worker  * Valid tokens:
3489*8975f5c5SAndroid Build Coastguard Worker  *
3490*8975f5c5SAndroid Build Coastguard Worker  *    Token      Value
3491*8975f5c5SAndroid Build Coastguard Worker  *   "current"   integer   - the current drawn in amperes by the VCS
3492*8975f5c5SAndroid Build Coastguard Worker  *   "power"     integer   - the power drawn in watts by the VCS
3493*8975f5c5SAndroid Build Coastguard Worker  *   "voltage"   integer   - the voltage reading of the VCS
3494*8975f5c5SAndroid Build Coastguard Worker  *   "state"     integer   - flag to indicate whether PSU is operating normally
3495*8975f5c5SAndroid Build Coastguard Worker  *
3496*8975f5c5SAndroid Build Coastguard Worker  * Example:
3497*8975f5c5SAndroid Build Coastguard Worker  *
3498*8975f5c5SAndroid Build Coastguard Worker  *   current=10, power=15, voltage=unknown, state=normal
3499*8975f5c5SAndroid Build Coastguard Worker  *
3500*8975f5c5SAndroid Build Coastguard Worker  * This attribute must be queried through XNVCTRLQueryTargetStringAttribute()
3501*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_VCSC target.
3502*8975f5c5SAndroid Build Coastguard Worker  *
3503*8975f5c5SAndroid Build Coastguard Worker  */
3504*8975f5c5SAndroid Build Coastguard Worker 
3505*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_VCSC_PSU_INFO 32 /* R---V */
3506*8975f5c5SAndroid Build Coastguard Worker 
3507*8975f5c5SAndroid Build Coastguard Worker /*
3508*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_GVIO_VIDEO_FORMAT_NAME - query the name for the specified
3509*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_GVIO_VIDEO_FORMAT_*.  So that this can be queried with existing
3510*8975f5c5SAndroid Build Coastguard Worker  * interfaces, XNVCTRLQueryStringAttribute() should be used, and the video
3511*8975f5c5SAndroid Build Coastguard Worker  * format specified in the display_mask field; eg:
3512*8975f5c5SAndroid Build Coastguard Worker  *
3513*8975f5c5SAndroid Build Coastguard Worker  * XNVCTRLQueryStringAttribute(dpy,
3514*8975f5c5SAndroid Build Coastguard Worker  *                             screen,
3515*8975f5c5SAndroid Build Coastguard Worker  *                             NV_CTRL_GVIO_VIDEO_FORMAT_720P_60_00_SMPTE296,
3516*8975f5c5SAndroid Build Coastguard Worker  *                             NV_CTRL_GVIO_VIDEO_FORMAT_NAME,
3517*8975f5c5SAndroid Build Coastguard Worker  *                             &name);
3518*8975f5c5SAndroid Build Coastguard Worker  */
3519*8975f5c5SAndroid Build Coastguard Worker 
3520*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_GVIO_VIDEO_FORMAT_NAME 33 /* R--GI */
3521*8975f5c5SAndroid Build Coastguard Worker 
3522*8975f5c5SAndroid Build Coastguard Worker /*
3523*8975f5c5SAndroid Build Coastguard Worker  * The following is deprecated; use NV_CTRL_STRING_GVIO_VIDEO_FORMAT_NAME,
3524*8975f5c5SAndroid Build Coastguard Worker  * instead
3525*8975f5c5SAndroid Build Coastguard Worker  */
3526*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_GVO_VIDEO_FORMAT_NAME 33 /* R--- */
3527*8975f5c5SAndroid Build Coastguard Worker 
3528*8975f5c5SAndroid Build Coastguard Worker /*
3529*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_GPU_CURRENT_CLOCK_FREQS - returns a string with the
3530*8975f5c5SAndroid Build Coastguard Worker  * associated NV Clock, Memory Clock and Processor Clock values.
3531*8975f5c5SAndroid Build Coastguard Worker  *
3532*8975f5c5SAndroid Build Coastguard Worker  * Current valid tokens are "nvclock", "memclock", and "processorclock".
3533*8975f5c5SAndroid Build Coastguard Worker  * Not all tokens will be reported on all GPUs, and additional tokens
3534*8975f5c5SAndroid Build Coastguard Worker  * may be added in the future.
3535*8975f5c5SAndroid Build Coastguard Worker  *
3536*8975f5c5SAndroid Build Coastguard Worker  * Clock values are returned as a comma-separated list of
3537*8975f5c5SAndroid Build Coastguard Worker  * "token=value" pairs.
3538*8975f5c5SAndroid Build Coastguard Worker  * Valid tokens:
3539*8975f5c5SAndroid Build Coastguard Worker  *
3540*8975f5c5SAndroid Build Coastguard Worker  *    Token           Value
3541*8975f5c5SAndroid Build Coastguard Worker  *   "nvclock"        integer - the GPU clocks (in MHz) for the current
3542*8975f5c5SAndroid Build Coastguard Worker  *                              perf level
3543*8975f5c5SAndroid Build Coastguard Worker  *   "memclock"       integer - the memory clocks (in MHz) for the current
3544*8975f5c5SAndroid Build Coastguard Worker  *                              perf level
3545*8975f5c5SAndroid Build Coastguard Worker  *   "processorclock" integer - the processor clocks (in MHz) for the perf level
3546*8975f5c5SAndroid Build Coastguard Worker  *
3547*8975f5c5SAndroid Build Coastguard Worker  *
3548*8975f5c5SAndroid Build Coastguard Worker  * Example:
3549*8975f5c5SAndroid Build Coastguard Worker  *
3550*8975f5c5SAndroid Build Coastguard Worker  *    nvclock=459, memclock=400, processorclock=918
3551*8975f5c5SAndroid Build Coastguard Worker  *
3552*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetStringAttribute()
3553*8975f5c5SAndroid Build Coastguard Worker  * using an NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target.
3554*8975f5c5SAndroid Build Coastguard Worker  */
3555*8975f5c5SAndroid Build Coastguard Worker 
3556*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_GPU_CURRENT_CLOCK_FREQS 34 /* RW-G */
3557*8975f5c5SAndroid Build Coastguard Worker 
3558*8975f5c5SAndroid Build Coastguard Worker /*
3559*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_HARDWARE_REVISION - Returns the
3560*8975f5c5SAndroid Build Coastguard Worker  * hardware revision of the 3D Vision Pro transceiver.
3561*8975f5c5SAndroid Build Coastguard Worker  */
3562*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_HARDWARE_REVISION 35 /* R--T */
3563*8975f5c5SAndroid Build Coastguard Worker 
3564*8975f5c5SAndroid Build Coastguard Worker /*
3565*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_VERSION_A - Returns the
3566*8975f5c5SAndroid Build Coastguard Worker  * firmware version of chip A of the 3D Vision Pro transceiver.
3567*8975f5c5SAndroid Build Coastguard Worker  */
3568*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_VERSION_A 36 /* R--T */
3569*8975f5c5SAndroid Build Coastguard Worker 
3570*8975f5c5SAndroid Build Coastguard Worker /*
3571*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_DATE_A - Returns the
3572*8975f5c5SAndroid Build Coastguard Worker  * date of the firmware of chip A of the 3D Vision Pro transceiver.
3573*8975f5c5SAndroid Build Coastguard Worker  */
3574*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_DATE_A 37 /* R--T */
3575*8975f5c5SAndroid Build Coastguard Worker 
3576*8975f5c5SAndroid Build Coastguard Worker /*
3577*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_VERSION_B - Returns the
3578*8975f5c5SAndroid Build Coastguard Worker  * firmware version of chip B of the 3D Vision Pro transceiver.
3579*8975f5c5SAndroid Build Coastguard Worker  */
3580*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_VERSION_B 38 /* R--T */
3581*8975f5c5SAndroid Build Coastguard Worker 
3582*8975f5c5SAndroid Build Coastguard Worker /*
3583*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_DATE_B - Returns the
3584*8975f5c5SAndroid Build Coastguard Worker  * date of the firmware of chip B of the 3D Vision Pro transceiver.
3585*8975f5c5SAndroid Build Coastguard Worker  */
3586*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_FIRMWARE_DATE_B 39 /* R--T */
3587*8975f5c5SAndroid Build Coastguard Worker 
3588*8975f5c5SAndroid Build Coastguard Worker /*
3589*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_ADDRESS - Returns the RF address
3590*8975f5c5SAndroid Build Coastguard Worker  * of the 3D Vision Pro transceiver.
3591*8975f5c5SAndroid Build Coastguard Worker  */
3592*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_3D_VISION_PRO_TRANSCEIVER_ADDRESS 40 /* R--T */
3593*8975f5c5SAndroid Build Coastguard Worker 
3594*8975f5c5SAndroid Build Coastguard Worker /*
3595*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_3D_VISION_PRO_GLASSES_FIRMWARE_VERSION_A - Returns the
3596*8975f5c5SAndroid Build Coastguard Worker  * firmware version of chip A of the glasses.
3597*8975f5c5SAndroid Build Coastguard Worker  * Use the display_mask parameter to specify the glasses id.
3598*8975f5c5SAndroid Build Coastguard Worker  */
3599*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_3D_VISION_PRO_GLASSES_FIRMWARE_VERSION_A 41 /* R--T */
3600*8975f5c5SAndroid Build Coastguard Worker 
3601*8975f5c5SAndroid Build Coastguard Worker /*
3602*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_3D_VISION_PRO_GLASSES_FIRMWARE_DATE_A - Returns the
3603*8975f5c5SAndroid Build Coastguard Worker  * date of the firmware of chip A of the glasses.
3604*8975f5c5SAndroid Build Coastguard Worker  * Use the display_mask parameter to specify the glasses id.
3605*8975f5c5SAndroid Build Coastguard Worker  */
3606*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_3D_VISION_PRO_GLASSES_FIRMWARE_DATE_A 42 /* R--T */
3607*8975f5c5SAndroid Build Coastguard Worker 
3608*8975f5c5SAndroid Build Coastguard Worker /*
3609*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_3D_VISION_PRO_GLASSES_ADDRESS - Returns the RF address
3610*8975f5c5SAndroid Build Coastguard Worker  * of the glasses.
3611*8975f5c5SAndroid Build Coastguard Worker  * Use the display_mask parameter to specify the glasses id.
3612*8975f5c5SAndroid Build Coastguard Worker  */
3613*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_3D_VISION_PRO_GLASSES_ADDRESS 43 /* R--T */
3614*8975f5c5SAndroid Build Coastguard Worker 
3615*8975f5c5SAndroid Build Coastguard Worker /*
3616*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_3D_VISION_PRO_GLASSES_NAME - Controls the name the
3617*8975f5c5SAndroid Build Coastguard Worker  * glasses should use.
3618*8975f5c5SAndroid Build Coastguard Worker  * Use the display_mask parameter to specify the glasses id.
3619*8975f5c5SAndroid Build Coastguard Worker  * Glasses' name should start and end with an alpha-numeric character.
3620*8975f5c5SAndroid Build Coastguard Worker  */
3621*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_3D_VISION_PRO_GLASSES_NAME 44 /* RW-T */
3622*8975f5c5SAndroid Build Coastguard Worker 
3623*8975f5c5SAndroid Build Coastguard Worker /*
3624*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_CURRENT_METAMODE_VERSION_2 - Returns the metamode currently
3625*8975f5c5SAndroid Build Coastguard Worker  * being used by the specified X screen.  The MetaMode string has the same
3626*8975f5c5SAndroid Build Coastguard Worker  * syntax as the MetaMode X configuration option, as documented in the NVIDIA
3627*8975f5c5SAndroid Build Coastguard Worker  * driver README.  Also, see NV_CTRL_BINARY_DATA_METAMODES_VERSION_2 for more
3628*8975f5c5SAndroid Build Coastguard Worker  * details on the base syntax.
3629*8975f5c5SAndroid Build Coastguard Worker  *
3630*8975f5c5SAndroid Build Coastguard Worker  * The returned string may also be prepended with a comma-separated list of
3631*8975f5c5SAndroid Build Coastguard Worker  * "token=value" pairs, separated from the MetaMode string by "::".
3632*8975f5c5SAndroid Build Coastguard Worker  */
3633*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_CURRENT_METAMODE_VERSION_2 45 /* RW-- */
3634*8975f5c5SAndroid Build Coastguard Worker 
3635*8975f5c5SAndroid Build Coastguard Worker /*
3636*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_DISPLAY_NAME_TYPE_BASENAME - Returns a type name for the
3637*8975f5c5SAndroid Build Coastguard Worker  * display device ("CRT", "DFP", or "TV").  However, note that the determination
3638*8975f5c5SAndroid Build Coastguard Worker  * of the name is based on the protocol through which the X driver communicates
3639*8975f5c5SAndroid Build Coastguard Worker  * to the display device.  E.g., if the driver communicates using VGA ,then the
3640*8975f5c5SAndroid Build Coastguard Worker  * basename is "CRT"; if the driver communicates using TMDS, LVDS, or DP, then
3641*8975f5c5SAndroid Build Coastguard Worker  * the name is "DFP".
3642*8975f5c5SAndroid Build Coastguard Worker  */
3643*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_DISPLAY_NAME_TYPE_BASENAME 46 /* R-D- */
3644*8975f5c5SAndroid Build Coastguard Worker 
3645*8975f5c5SAndroid Build Coastguard Worker /*
3646*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_DISPLAY_NAME_TYPE_ID - Returns the type-based name + ID for
3647*8975f5c5SAndroid Build Coastguard Worker  * the display device, e.g. "CRT-0", "DFP-1", "TV-2".  If this device is a
3648*8975f5c5SAndroid Build Coastguard Worker  * DisplayPort 1.2 device, then this name will also be prepended with the
3649*8975f5c5SAndroid Build Coastguard Worker  * device's port address like so: "DFP-1.0.1.2.3".  See
3650*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_DISPLAY_NAME_TYPE_BASENAME for more information about the
3651*8975f5c5SAndroid Build Coastguard Worker  * construction of type-based names.
3652*8975f5c5SAndroid Build Coastguard Worker  */
3653*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_DISPLAY_NAME_TYPE_ID 47 /* R-D- */
3654*8975f5c5SAndroid Build Coastguard Worker 
3655*8975f5c5SAndroid Build Coastguard Worker /*
3656*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_DISPLAY_NAME_DP_GUID - Returns the GUID of the DisplayPort
3657*8975f5c5SAndroid Build Coastguard Worker  * display device.  e.g. "DP-GUID-f16a5bde-79f3-11e1-b2ae-8b5a8969ba9c"
3658*8975f5c5SAndroid Build Coastguard Worker  *
3659*8975f5c5SAndroid Build Coastguard Worker  * The display device must be a DisplayPort 1.2 device.
3660*8975f5c5SAndroid Build Coastguard Worker  */
3661*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_DISPLAY_NAME_DP_GUID 48 /* R-D- */
3662*8975f5c5SAndroid Build Coastguard Worker 
3663*8975f5c5SAndroid Build Coastguard Worker /*
3664*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_DISPLAY_NAME_EDID_HASH - Returns the SHA-1 hash of the
3665*8975f5c5SAndroid Build Coastguard Worker  * display device's EDID in 8-4-4-4-12 UID format. e.g.
3666*8975f5c5SAndroid Build Coastguard Worker  * "DPY-EDID-f16a5bde-79f3-11e1-b2ae-8b5a8969ba9c"
3667*8975f5c5SAndroid Build Coastguard Worker  *
3668*8975f5c5SAndroid Build Coastguard Worker  * The display device must have a valid EDID.
3669*8975f5c5SAndroid Build Coastguard Worker  */
3670*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_DISPLAY_NAME_EDID_HASH 49 /* R-D- */
3671*8975f5c5SAndroid Build Coastguard Worker 
3672*8975f5c5SAndroid Build Coastguard Worker /*
3673*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_DISPLAY_NAME_TARGET_INDEX - Returns the current NV-CONTROL
3674*8975f5c5SAndroid Build Coastguard Worker  * target ID (name) of the display device.  e.g. "DPY-1", "DPY-4"
3675*8975f5c5SAndroid Build Coastguard Worker  *
3676*8975f5c5SAndroid Build Coastguard Worker  * This name for the display device is not guarenteed to be the same between
3677*8975f5c5SAndroid Build Coastguard Worker  * different runs of the X server.
3678*8975f5c5SAndroid Build Coastguard Worker  */
3679*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_DISPLAY_NAME_TARGET_INDEX 50 /* R-D- */
3680*8975f5c5SAndroid Build Coastguard Worker 
3681*8975f5c5SAndroid Build Coastguard Worker /*
3682*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_DISPLAY_NAME_RANDR - Returns the RandR output name for the
3683*8975f5c5SAndroid Build Coastguard Worker  * display device.  e.g.  "VGA-1", "DVI-I-0", "DVI-D-3", "LVDS-1", "DP-2",
3684*8975f5c5SAndroid Build Coastguard Worker  * "HDMI-3", "eDP-6".  This name should match  If this device is a DisplayPort
3685*8975f5c5SAndroid Build Coastguard Worker  * 1.2 device, then this name will also be prepended with the device's port
3686*8975f5c5SAndroid Build Coastguard Worker  * address like so: "DVI-I-3.0.1.2.3"
3687*8975f5c5SAndroid Build Coastguard Worker  */
3688*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_DISPLAY_NAME_RANDR 51 /* R-D- */
3689*8975f5c5SAndroid Build Coastguard Worker 
3690*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_LAST_ATTRIBUTE NV_CTRL_STRING_DISPLAY_NAME_RANDR
3691*8975f5c5SAndroid Build Coastguard Worker 
3692*8975f5c5SAndroid Build Coastguard Worker /**************************************************************************/
3693*8975f5c5SAndroid Build Coastguard Worker 
3694*8975f5c5SAndroid Build Coastguard Worker /*
3695*8975f5c5SAndroid Build Coastguard Worker  * Binary Data Attributes:
3696*8975f5c5SAndroid Build Coastguard Worker  *
3697*8975f5c5SAndroid Build Coastguard Worker  * Binary data attributes can be queryied through the XNVCTRLQueryBinaryData()
3698*8975f5c5SAndroid Build Coastguard Worker  * and XNVCTRLQueryTargetBinaryData() function calls.
3699*8975f5c5SAndroid Build Coastguard Worker  *
3700*8975f5c5SAndroid Build Coastguard Worker  * There are currently no binary data attributes that can be set.
3701*8975f5c5SAndroid Build Coastguard Worker  *
3702*8975f5c5SAndroid Build Coastguard Worker  * Unless otherwise noted, all Binary data attributes can be queried
3703*8975f5c5SAndroid Build Coastguard Worker  * using an NV_CTRL_TARGET_TYPE_X_SCREEN target.  Attributes that cannot take
3704*8975f5c5SAndroid Build Coastguard Worker  * an NV_CTRL_TARGET_TYPE_X_SCREEN target also cannot be queried through
3705*8975f5c5SAndroid Build Coastguard Worker  * XNVCTRLQueryBinaryData() (Since an X Screen target is assumed).
3706*8975f5c5SAndroid Build Coastguard Worker  */
3707*8975f5c5SAndroid Build Coastguard Worker 
3708*8975f5c5SAndroid Build Coastguard Worker /*
3709*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_EDID - Returns a display device's EDID information
3710*8975f5c5SAndroid Build Coastguard Worker  * data.
3711*8975f5c5SAndroid Build Coastguard Worker  *
3712*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetBinaryData()
3713*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target.
3714*8975f5c5SAndroid Build Coastguard Worker  */
3715*8975f5c5SAndroid Build Coastguard Worker 
3716*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_EDID 0 /* R-DG */
3717*8975f5c5SAndroid Build Coastguard Worker 
3718*8975f5c5SAndroid Build Coastguard Worker /*
3719*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_MODELINES - Returns a display device's supported
3720*8975f5c5SAndroid Build Coastguard Worker  * ModeLines.  ModeLines are returned in a buffer, separated by a single
3721*8975f5c5SAndroid Build Coastguard Worker  * '\0' and terminated by two consecutive '\0' s like so:
3722*8975f5c5SAndroid Build Coastguard Worker  *
3723*8975f5c5SAndroid Build Coastguard Worker  *  "ModeLine 1\0ModeLine 2\0ModeLine 3\0Last ModeLine\0\0"
3724*8975f5c5SAndroid Build Coastguard Worker  *
3725*8975f5c5SAndroid Build Coastguard Worker  * This attribute may be queried through XNVCTRLQueryTargetBinaryData()
3726*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU or NV_CTRL_TARGET_TYPE_X_SCREEN target.
3727*8975f5c5SAndroid Build Coastguard Worker  *
3728*8975f5c5SAndroid Build Coastguard Worker  * Each ModeLine string may be prepended with a comma-separated list
3729*8975f5c5SAndroid Build Coastguard Worker  * of "token=value" pairs, separated from the ModeLine string with a
3730*8975f5c5SAndroid Build Coastguard Worker  * "::".  Valid tokens:
3731*8975f5c5SAndroid Build Coastguard Worker  *
3732*8975f5c5SAndroid Build Coastguard Worker  *    Token    Value
3733*8975f5c5SAndroid Build Coastguard Worker  *   "source" "xserver"    - the ModeLine is from the core X server
3734*8975f5c5SAndroid Build Coastguard Worker  *            "xconfig"    - the ModeLine was specified in the X config file
3735*8975f5c5SAndroid Build Coastguard Worker  *            "builtin"    - the NVIDIA driver provided this builtin ModeLine
3736*8975f5c5SAndroid Build Coastguard Worker  *            "vesa"       - this is a VESA standard ModeLine
3737*8975f5c5SAndroid Build Coastguard Worker  *            "edid"       - the ModeLine was in the display device's EDID
3738*8975f5c5SAndroid Build Coastguard Worker  *            "nv-control" - the ModeLine was specified via NV-CONTROL
3739*8975f5c5SAndroid Build Coastguard Worker  *
3740*8975f5c5SAndroid Build Coastguard Worker  *   "xconfig-name"        - for ModeLines that were specified in the X config
3741*8975f5c5SAndroid Build Coastguard Worker  *                           file, this is the name the X config file
3742*8975f5c5SAndroid Build Coastguard Worker  *                           gave for the ModeLine.
3743*8975f5c5SAndroid Build Coastguard Worker  *
3744*8975f5c5SAndroid Build Coastguard Worker  * Note that a ModeLine can have several sources; the "source" token
3745*8975f5c5SAndroid Build Coastguard Worker  * can appear multiple times in the "token=value" pairs list.
3746*8975f5c5SAndroid Build Coastguard Worker  * Additional source values may be specified in the future.
3747*8975f5c5SAndroid Build Coastguard Worker  *
3748*8975f5c5SAndroid Build Coastguard Worker  * Additional tokens may be added in the future, so it is recommended
3749*8975f5c5SAndroid Build Coastguard Worker  * that any token parser processing the returned string from
3750*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_MODELINES be implemented to gracefully ignore
3751*8975f5c5SAndroid Build Coastguard Worker  * unrecognized tokens.
3752*8975f5c5SAndroid Build Coastguard Worker  *
3753*8975f5c5SAndroid Build Coastguard Worker  * E.g.,
3754*8975f5c5SAndroid Build Coastguard Worker  *
3755*8975f5c5SAndroid Build Coastguard Worker  * "source=xserver, source=vesa, source=edid :: "1024x768_70"  75.0  1024 1048 1184 1328  768 771
3756*8975f5c5SAndroid Build Coastguard Worker  * 777 806  -HSync -VSync"
3757*8975f5c5SAndroid Build Coastguard Worker  * "source=xconfig, xconfig-name=1600x1200_60.00 :: "1600x1200_60_0"  161.0  1600 1704 1880 2160
3758*8975f5c5SAndroid Build Coastguard Worker  * 1200 1201 1204 1242  -HSync +VSync"
3759*8975f5c5SAndroid Build Coastguard Worker  */
3760*8975f5c5SAndroid Build Coastguard Worker 
3761*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_MODELINES 1 /* R-DG */
3762*8975f5c5SAndroid Build Coastguard Worker 
3763*8975f5c5SAndroid Build Coastguard Worker /*
3764*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_METAMODES - Returns an X Screen's supported
3765*8975f5c5SAndroid Build Coastguard Worker  * MetaModes.  MetaModes are returned in a buffer separated by a
3766*8975f5c5SAndroid Build Coastguard Worker  * single '\0' and terminated by two consecutive '\0' s like so:
3767*8975f5c5SAndroid Build Coastguard Worker  *
3768*8975f5c5SAndroid Build Coastguard Worker  *  "MetaMode 1\0MetaMode 2\0MetaMode 3\0Last MetaMode\0\0"
3769*8975f5c5SAndroid Build Coastguard Worker  *
3770*8975f5c5SAndroid Build Coastguard Worker  * The MetaMode string should have the same syntax as the MetaMode X
3771*8975f5c5SAndroid Build Coastguard Worker  * configuration option, as documented in the NVIDIA driver README.
3772*8975f5c5SAndroid Build Coastguard Worker 
3773*8975f5c5SAndroid Build Coastguard Worker  * Each MetaMode string may be prepended with a comma-separated list
3774*8975f5c5SAndroid Build Coastguard Worker  * of "token=value" pairs, separated from the MetaMode string with
3775*8975f5c5SAndroid Build Coastguard Worker  * "::".  Currently, valid tokens are:
3776*8975f5c5SAndroid Build Coastguard Worker  *
3777*8975f5c5SAndroid Build Coastguard Worker  *    Token        Value
3778*8975f5c5SAndroid Build Coastguard Worker  *   "id"         <number>     - the id of this MetaMode; this is stored in
3779*8975f5c5SAndroid Build Coastguard Worker  *                               the Vertical Refresh field, as viewed
3780*8975f5c5SAndroid Build Coastguard Worker  *                               by the XRandR and XF86VidMode X *
3781*8975f5c5SAndroid Build Coastguard Worker  *                               extensions.
3782*8975f5c5SAndroid Build Coastguard Worker  *
3783*8975f5c5SAndroid Build Coastguard Worker  *   "switchable" "yes"/"no"   - whether this MetaMode may be switched to via
3784*8975f5c5SAndroid Build Coastguard Worker  *                               ctrl-alt-+/-; Implicit MetaModes (see
3785*8975f5c5SAndroid Build Coastguard Worker  *                               the "IncludeImplicitMetaModes" X
3786*8975f5c5SAndroid Build Coastguard Worker  *                               config option), for example, are not
3787*8975f5c5SAndroid Build Coastguard Worker  *                               normally made available through
3788*8975f5c5SAndroid Build Coastguard Worker  *                               ctrl-alt-+/-.
3789*8975f5c5SAndroid Build Coastguard Worker  *
3790*8975f5c5SAndroid Build Coastguard Worker  *   "source"     "xconfig"    - the MetaMode was specified in the X
3791*8975f5c5SAndroid Build Coastguard Worker  *                               config file.
3792*8975f5c5SAndroid Build Coastguard Worker  *                "implicit"   - the MetaMode was implicitly added; see the
3793*8975f5c5SAndroid Build Coastguard Worker  *                               "IncludeImplicitMetaModes" X config option
3794*8975f5c5SAndroid Build Coastguard Worker  *                               for details.
3795*8975f5c5SAndroid Build Coastguard Worker  *                "nv-control" - the MetaMode was added via the NV-CONTROL X
3796*8975f5c5SAndroid Build Coastguard Worker  *                               extension to the currently running X server.
3797*8975f5c5SAndroid Build Coastguard Worker  *                "RandR"      - the MetaMode was modified in response to an
3798*8975f5c5SAndroid Build Coastguard Worker  *                               RandR RRSetCrtcConfig request.
3799*8975f5c5SAndroid Build Coastguard Worker  *
3800*8975f5c5SAndroid Build Coastguard Worker  * Additional tokens may be added in the future, so it is recommended
3801*8975f5c5SAndroid Build Coastguard Worker  * that any token parser processing the returned string from
3802*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_METAMODES be implemented to gracefully ignore
3803*8975f5c5SAndroid Build Coastguard Worker  * unrecognized tokens.
3804*8975f5c5SAndroid Build Coastguard Worker  *
3805*8975f5c5SAndroid Build Coastguard Worker  * E.g.,
3806*8975f5c5SAndroid Build Coastguard Worker  *
3807*8975f5c5SAndroid Build Coastguard Worker  *   "id=50, switchable=yes, source=xconfig :: CRT-0: 1024x768 @1024x768 +0+0"
3808*8975f5c5SAndroid Build Coastguard Worker  */
3809*8975f5c5SAndroid Build Coastguard Worker 
3810*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_METAMODES 2 /* R-D- */
3811*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_METAMODES_VERSION_1 NV_CTRL_BINARY_DATA_METAMODES
3812*8975f5c5SAndroid Build Coastguard Worker 
3813*8975f5c5SAndroid Build Coastguard Worker /*
3814*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_XSCREENS_USING_GPU - Returns the list of X
3815*8975f5c5SAndroid Build Coastguard Worker  * screens currently driven by the given GPU.
3816*8975f5c5SAndroid Build Coastguard Worker  *
3817*8975f5c5SAndroid Build Coastguard Worker  * The format of the returned data is:
3818*8975f5c5SAndroid Build Coastguard Worker  *
3819*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 number of screens
3820*8975f5c5SAndroid Build Coastguard Worker  *     4 * n   CARD32 screen indices
3821*8975f5c5SAndroid Build Coastguard Worker  *
3822*8975f5c5SAndroid Build Coastguard Worker  * This attribute can only be queried through XNVCTRLQueryTargetBinaryData()
3823*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU target.  This attribute cannot be
3824*8975f5c5SAndroid Build Coastguard Worker  * queried using a NV_CTRL_TARGET_TYPE_X_SCREEN.
3825*8975f5c5SAndroid Build Coastguard Worker  */
3826*8975f5c5SAndroid Build Coastguard Worker 
3827*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_XSCREENS_USING_GPU 3 /* R-DG */
3828*8975f5c5SAndroid Build Coastguard Worker 
3829*8975f5c5SAndroid Build Coastguard Worker /*
3830*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_GPUS_USED_BY_XSCREEN - Returns the list of GPUs
3831*8975f5c5SAndroid Build Coastguard Worker  * currently in use by the given X screen.
3832*8975f5c5SAndroid Build Coastguard Worker  *
3833*8975f5c5SAndroid Build Coastguard Worker  * The format of the returned data is:
3834*8975f5c5SAndroid Build Coastguard Worker  *
3835*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 number of GPUs
3836*8975f5c5SAndroid Build Coastguard Worker  *     4 * n   CARD32 GPU indices
3837*8975f5c5SAndroid Build Coastguard Worker  */
3838*8975f5c5SAndroid Build Coastguard Worker 
3839*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_GPUS_USED_BY_XSCREEN 4 /* R--- */
3840*8975f5c5SAndroid Build Coastguard Worker 
3841*8975f5c5SAndroid Build Coastguard Worker /*
3842*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_GPUS_USING_FRAMELOCK - Returns the list of
3843*8975f5c5SAndroid Build Coastguard Worker  * GPUs currently connected to the given frame lock board.
3844*8975f5c5SAndroid Build Coastguard Worker  *
3845*8975f5c5SAndroid Build Coastguard Worker  * The format of the returned data is:
3846*8975f5c5SAndroid Build Coastguard Worker  *
3847*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 number of GPUs
3848*8975f5c5SAndroid Build Coastguard Worker  *     4 * n   CARD32 GPU indices
3849*8975f5c5SAndroid Build Coastguard Worker  *
3850*8975f5c5SAndroid Build Coastguard Worker  * This attribute can only be queried through XNVCTRLQueryTargetBinaryData()
3851*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_FRAMELOCK target.  This attribute cannot be
3852*8975f5c5SAndroid Build Coastguard Worker  * queried using a NV_CTRL_TARGET_TYPE_X_SCREEN.
3853*8975f5c5SAndroid Build Coastguard Worker  */
3854*8975f5c5SAndroid Build Coastguard Worker 
3855*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_GPUS_USING_FRAMELOCK 5 /* R-DF */
3856*8975f5c5SAndroid Build Coastguard Worker 
3857*8975f5c5SAndroid Build Coastguard Worker /*
3858*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_DISPLAY_VIEWPORT - Returns the Display Device's
3859*8975f5c5SAndroid Build Coastguard Worker  * viewport box into the given X Screen (in X Screen coordinates.)
3860*8975f5c5SAndroid Build Coastguard Worker  *
3861*8975f5c5SAndroid Build Coastguard Worker  * The format of the returned data is:
3862*8975f5c5SAndroid Build Coastguard Worker  *
3863*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 Offset X
3864*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 Offset Y
3865*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 Width
3866*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 Height
3867*8975f5c5SAndroid Build Coastguard Worker  */
3868*8975f5c5SAndroid Build Coastguard Worker 
3869*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_DISPLAY_VIEWPORT 6 /* R-DG */
3870*8975f5c5SAndroid Build Coastguard Worker 
3871*8975f5c5SAndroid Build Coastguard Worker /*
3872*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_FRAMELOCKS_USED_BY_GPU - Returns the list of
3873*8975f5c5SAndroid Build Coastguard Worker  * Framelock devices currently connected to the given GPU.
3874*8975f5c5SAndroid Build Coastguard Worker  *
3875*8975f5c5SAndroid Build Coastguard Worker  * The format of the returned data is:
3876*8975f5c5SAndroid Build Coastguard Worker  *
3877*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 number of Framelocks
3878*8975f5c5SAndroid Build Coastguard Worker  *     4 * n   CARD32 Framelock indices
3879*8975f5c5SAndroid Build Coastguard Worker  *
3880*8975f5c5SAndroid Build Coastguard Worker  * This attribute can only be queried through XNVCTRLQueryTargetBinaryData()
3881*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU target.  This attribute cannot be
3882*8975f5c5SAndroid Build Coastguard Worker  * queried using a NV_CTRL_TARGET_TYPE_X_SCREEN.
3883*8975f5c5SAndroid Build Coastguard Worker  */
3884*8975f5c5SAndroid Build Coastguard Worker 
3885*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_FRAMELOCKS_USED_BY_GPU 7 /* R-DG */
3886*8975f5c5SAndroid Build Coastguard Worker 
3887*8975f5c5SAndroid Build Coastguard Worker /*
3888*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_GPUS_USING_VCSC - Returns the list of
3889*8975f5c5SAndroid Build Coastguard Worker  * GPU devices connected to the given VCS.
3890*8975f5c5SAndroid Build Coastguard Worker  *
3891*8975f5c5SAndroid Build Coastguard Worker  * The format of the returned data is:
3892*8975f5c5SAndroid Build Coastguard Worker  *
3893*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 number of GPUs
3894*8975f5c5SAndroid Build Coastguard Worker  *     4 * n   CARD32 GPU indices
3895*8975f5c5SAndroid Build Coastguard Worker  *
3896*8975f5c5SAndroid Build Coastguard Worker  * This attribute can only be queried through XNVCTRLQueryTargetBinaryData()
3897*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_VCSC target.  This attribute cannot be
3898*8975f5c5SAndroid Build Coastguard Worker  * queried using a NV_CTRL_TARGET_TYPE_X_SCREEN and cannot be queried using
3899*8975f5c5SAndroid Build Coastguard Worker  * a  NV_CTRL_TARGET_TYPE_X_GPU
3900*8975f5c5SAndroid Build Coastguard Worker  */
3901*8975f5c5SAndroid Build Coastguard Worker 
3902*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_GPUS_USING_VCSC 8 /* R-DV */
3903*8975f5c5SAndroid Build Coastguard Worker 
3904*8975f5c5SAndroid Build Coastguard Worker /*
3905*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_VCSCS_USED_BY_GPU - Returns the VCSC device
3906*8975f5c5SAndroid Build Coastguard Worker  * that is controlling the given GPU.
3907*8975f5c5SAndroid Build Coastguard Worker  *
3908*8975f5c5SAndroid Build Coastguard Worker  * The format of the returned data is:
3909*8975f5c5SAndroid Build Coastguard Worker  *
3910*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 number of VCS (always 1)
3911*8975f5c5SAndroid Build Coastguard Worker  *     4 * n   CARD32 VCS indices
3912*8975f5c5SAndroid Build Coastguard Worker  *
3913*8975f5c5SAndroid Build Coastguard Worker  * This attribute can only be queried through XNVCTRLQueryTargetBinaryData()
3914*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU target.  This attribute cannot be
3915*8975f5c5SAndroid Build Coastguard Worker  * queried using a NV_CTRL_TARGET_TYPE_X_SCREEN
3916*8975f5c5SAndroid Build Coastguard Worker  */
3917*8975f5c5SAndroid Build Coastguard Worker 
3918*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_VCSCS_USED_BY_GPU 9 /* R-DG */
3919*8975f5c5SAndroid Build Coastguard Worker 
3920*8975f5c5SAndroid Build Coastguard Worker /*
3921*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_COOLERS_USED_BY_GPU - Returns the coolers that
3922*8975f5c5SAndroid Build Coastguard Worker  * are cooling the given GPU.
3923*8975f5c5SAndroid Build Coastguard Worker  *
3924*8975f5c5SAndroid Build Coastguard Worker  * The format of the returned data is:
3925*8975f5c5SAndroid Build Coastguard Worker  *
3926*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 number of COOLER
3927*8975f5c5SAndroid Build Coastguard Worker  *     4 * n   CARD32 COOLER indices
3928*8975f5c5SAndroid Build Coastguard Worker  *
3929*8975f5c5SAndroid Build Coastguard Worker  * This attribute can only be queried through XNVCTRLQueryTargetBinaryData()
3930*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU target.  This attribute cannot be
3931*8975f5c5SAndroid Build Coastguard Worker  * queried using a NV_CTRL_TARGET_TYPE_X_SCREEN
3932*8975f5c5SAndroid Build Coastguard Worker  */
3933*8975f5c5SAndroid Build Coastguard Worker 
3934*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_COOLERS_USED_BY_GPU 10 /* R-DG */
3935*8975f5c5SAndroid Build Coastguard Worker 
3936*8975f5c5SAndroid Build Coastguard Worker /*
3937*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_GPUS_USED_BY_LOGICAL_XSCREEN - Returns the list of
3938*8975f5c5SAndroid Build Coastguard Worker  * GPUs currently driving the given X screen.  If Xinerama is enabled, this
3939*8975f5c5SAndroid Build Coastguard Worker  * will return all GPUs that are driving any X screen.
3940*8975f5c5SAndroid Build Coastguard Worker  *
3941*8975f5c5SAndroid Build Coastguard Worker  * The format of the returned data is:
3942*8975f5c5SAndroid Build Coastguard Worker  *
3943*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 number of GPUs
3944*8975f5c5SAndroid Build Coastguard Worker  *     4 * n   CARD32 GPU indices
3945*8975f5c5SAndroid Build Coastguard Worker  */
3946*8975f5c5SAndroid Build Coastguard Worker 
3947*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_GPUS_USED_BY_LOGICAL_XSCREEN 11 /* R--- */
3948*8975f5c5SAndroid Build Coastguard Worker 
3949*8975f5c5SAndroid Build Coastguard Worker /*
3950*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_THERMAL_SENSORS_USED_BY_GPU - Returns the sensors that
3951*8975f5c5SAndroid Build Coastguard Worker  * are attached to the given GPU.
3952*8975f5c5SAndroid Build Coastguard Worker  *
3953*8975f5c5SAndroid Build Coastguard Worker  * The format of the returned data is:
3954*8975f5c5SAndroid Build Coastguard Worker  *
3955*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 number of SENSOR
3956*8975f5c5SAndroid Build Coastguard Worker  *     4 * n   CARD32 SENSOR indices
3957*8975f5c5SAndroid Build Coastguard Worker  *
3958*8975f5c5SAndroid Build Coastguard Worker  * This attribute can only be queried through XNVCTRLQueryTargetBinaryData()
3959*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU target.  This attribute cannot be
3960*8975f5c5SAndroid Build Coastguard Worker  * queried using a NV_CTRL_TARGET_TYPE_X_SCREEN
3961*8975f5c5SAndroid Build Coastguard Worker  */
3962*8975f5c5SAndroid Build Coastguard Worker 
3963*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_THERMAL_SENSORS_USED_BY_GPU 12 /* R--G */
3964*8975f5c5SAndroid Build Coastguard Worker 
3965*8975f5c5SAndroid Build Coastguard Worker /*
3966*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_GLASSES_PAIRED_TO_3D_VISION_PRO_TRANSCEIVER - Returns
3967*8975f5c5SAndroid Build Coastguard Worker  * the id of the glasses that are currently paired to the given
3968*8975f5c5SAndroid Build Coastguard Worker  * 3D Vision Pro transceiver.
3969*8975f5c5SAndroid Build Coastguard Worker  *
3970*8975f5c5SAndroid Build Coastguard Worker  * The format of the returned data is:
3971*8975f5c5SAndroid Build Coastguard Worker  *
3972*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 number of glasses
3973*8975f5c5SAndroid Build Coastguard Worker  *     4 * n   CARD32 id of glasses
3974*8975f5c5SAndroid Build Coastguard Worker  *
3975*8975f5c5SAndroid Build Coastguard Worker  * This attribute can only be queried through XNVCTRLQueryTargetBinaryData()
3976*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_3D_VISION_PRO_TRANSCEIVER target.
3977*8975f5c5SAndroid Build Coastguard Worker  */
3978*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_GLASSES_PAIRED_TO_3D_VISION_PRO_TRANSCEIVER 13 /* R--T */
3979*8975f5c5SAndroid Build Coastguard Worker 
3980*8975f5c5SAndroid Build Coastguard Worker /*
3981*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_DISPLAY_TARGETS - Returns all the display devices
3982*8975f5c5SAndroid Build Coastguard Worker  * currently connected to any GPU on the X server.
3983*8975f5c5SAndroid Build Coastguard Worker  *
3984*8975f5c5SAndroid Build Coastguard Worker  * The format of the returned data is:
3985*8975f5c5SAndroid Build Coastguard Worker  *
3986*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 number of display devices
3987*8975f5c5SAndroid Build Coastguard Worker  *     4 * n   CARD32 display device indices
3988*8975f5c5SAndroid Build Coastguard Worker  *
3989*8975f5c5SAndroid Build Coastguard Worker  * This attribute can only be queried through XNVCTRLQueryTargetBinaryData().
3990*8975f5c5SAndroid Build Coastguard Worker  */
3991*8975f5c5SAndroid Build Coastguard Worker 
3992*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_DISPLAY_TARGETS 14 /* R--- */
3993*8975f5c5SAndroid Build Coastguard Worker 
3994*8975f5c5SAndroid Build Coastguard Worker /*
3995*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_DISPLAYS_CONNECTED_TO_GPU - Returns the list of
3996*8975f5c5SAndroid Build Coastguard Worker  * display devices that are connected to the GPU target.
3997*8975f5c5SAndroid Build Coastguard Worker  *
3998*8975f5c5SAndroid Build Coastguard Worker  * The format of the returned data is:
3999*8975f5c5SAndroid Build Coastguard Worker  *
4000*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 number of display devices
4001*8975f5c5SAndroid Build Coastguard Worker  *     4 * n   CARD32 display device indices
4002*8975f5c5SAndroid Build Coastguard Worker  *
4003*8975f5c5SAndroid Build Coastguard Worker  * This attribute can only be queried through XNVCTRLQueryTargetBinaryData()
4004*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_GPU target.
4005*8975f5c5SAndroid Build Coastguard Worker  */
4006*8975f5c5SAndroid Build Coastguard Worker 
4007*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_DISPLAYS_CONNECTED_TO_GPU 15 /* R--G */
4008*8975f5c5SAndroid Build Coastguard Worker 
4009*8975f5c5SAndroid Build Coastguard Worker /*
4010*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_METAMODES_VERSION_2  - Returns values similar to
4011*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_METAMODES(_VERSION_1) but also returns extended syntax
4012*8975f5c5SAndroid Build Coastguard Worker  * information to indicate a specific display device, as well as other per-
4013*8975f5c5SAndroid Build Coastguard Worker  * display deviceflags as "token=value" pairs.  For example:
4014*8975f5c5SAndroid Build Coastguard Worker  *
4015*8975f5c5SAndroid Build Coastguard Worker  *   "DPY-1: 1280x1024 {Stereo=PassiveLeft},
4016*8975f5c5SAndroid Build Coastguard Worker  *    DPY-2: 1280x1024 {Stereo=PassiveRight},"
4017*8975f5c5SAndroid Build Coastguard Worker  *
4018*8975f5c5SAndroid Build Coastguard Worker  * The display device names have the form "DPY-%d", where the integer
4019*8975f5c5SAndroid Build Coastguard Worker  * part of the name is the NV-CONTROL target ID for that display device
4020*8975f5c5SAndroid Build Coastguard Worker  * for this instance of the X server.  Note that display device NV-CONTROL
4021*8975f5c5SAndroid Build Coastguard Worker  * target IDs are not guaranteed to be the same from one run of the X
4022*8975f5c5SAndroid Build Coastguard Worker  * server to the next.
4023*8975f5c5SAndroid Build Coastguard Worker  */
4024*8975f5c5SAndroid Build Coastguard Worker 
4025*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_METAMODES_VERSION_2 16 /* R-D- */
4026*8975f5c5SAndroid Build Coastguard Worker 
4027*8975f5c5SAndroid Build Coastguard Worker /*
4028*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_DISPLAYS_ENABLED_ON_XSCREEN - Returns the list of
4029*8975f5c5SAndroid Build Coastguard Worker  * display devices that are currently scanning out the X screen target.
4030*8975f5c5SAndroid Build Coastguard Worker  *
4031*8975f5c5SAndroid Build Coastguard Worker  * The format of the returned data is:
4032*8975f5c5SAndroid Build Coastguard Worker  *
4033*8975f5c5SAndroid Build Coastguard Worker  *     4       CARD32 number of display devices
4034*8975f5c5SAndroid Build Coastguard Worker  *     4 * n   CARD32 display device indices
4035*8975f5c5SAndroid Build Coastguard Worker  *
4036*8975f5c5SAndroid Build Coastguard Worker  * This attribute can only be queried through XNVCTRLQueryTargetBinaryData()
4037*8975f5c5SAndroid Build Coastguard Worker  * using a NV_CTRL_TARGET_TYPE_X_SCREEN target.
4038*8975f5c5SAndroid Build Coastguard Worker  */
4039*8975f5c5SAndroid Build Coastguard Worker 
4040*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_DISPLAYS_ENABLED_ON_XSCREEN 17 /* R--- */
4041*8975f5c5SAndroid Build Coastguard Worker 
4042*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_BINARY_DATA_LAST_ATTRIBUTE NV_CTRL_BINARY_DATA_DISPLAYS_ENABLED_ON_XSCREEN
4043*8975f5c5SAndroid Build Coastguard Worker 
4044*8975f5c5SAndroid Build Coastguard Worker /**************************************************************************/
4045*8975f5c5SAndroid Build Coastguard Worker 
4046*8975f5c5SAndroid Build Coastguard Worker /*
4047*8975f5c5SAndroid Build Coastguard Worker  * String Operation Attributes:
4048*8975f5c5SAndroid Build Coastguard Worker  *
4049*8975f5c5SAndroid Build Coastguard Worker  * These attributes are used with the XNVCTRLStringOperation()
4050*8975f5c5SAndroid Build Coastguard Worker  * function; a string is specified as input, and a string is returned
4051*8975f5c5SAndroid Build Coastguard Worker  * as output.
4052*8975f5c5SAndroid Build Coastguard Worker  *
4053*8975f5c5SAndroid Build Coastguard Worker  * Unless otherwise noted, all attributes can be operated upon using
4054*8975f5c5SAndroid Build Coastguard Worker  * an NV_CTRL_TARGET_TYPE_X_SCREEN target.
4055*8975f5c5SAndroid Build Coastguard Worker  */
4056*8975f5c5SAndroid Build Coastguard Worker 
4057*8975f5c5SAndroid Build Coastguard Worker /*
4058*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_OPERATION_ADD_METAMODE - provide a MetaMode string
4059*8975f5c5SAndroid Build Coastguard Worker  * as input, and returns a string containing comma-separated list of
4060*8975f5c5SAndroid Build Coastguard Worker  * "token=value" pairs as output.  Currently, the only output token is
4061*8975f5c5SAndroid Build Coastguard Worker  * "id", which indicates the id that was assigned to the MetaMode.
4062*8975f5c5SAndroid Build Coastguard Worker  *
4063*8975f5c5SAndroid Build Coastguard Worker  * All ModeLines referenced in the MetaMode must already exist for
4064*8975f5c5SAndroid Build Coastguard Worker  * each display device (as returned by the
4065*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_BINARY_DATA_MODELINES attribute).
4066*8975f5c5SAndroid Build Coastguard Worker  *
4067*8975f5c5SAndroid Build Coastguard Worker  * The MetaMode string should have the same syntax as the MetaMode X
4068*8975f5c5SAndroid Build Coastguard Worker  * configuration option, as documented in the NVIDIA driver README.
4069*8975f5c5SAndroid Build Coastguard Worker  *
4070*8975f5c5SAndroid Build Coastguard Worker  * The input string can optionally be prepended with a string of
4071*8975f5c5SAndroid Build Coastguard Worker  * comma-separated "token=value" pairs, separated from the MetaMode
4072*8975f5c5SAndroid Build Coastguard Worker  * string by "::".  Currently, the only valid token is "index" which
4073*8975f5c5SAndroid Build Coastguard Worker  * indicates the insertion index for the MetaMode.
4074*8975f5c5SAndroid Build Coastguard Worker  *
4075*8975f5c5SAndroid Build Coastguard Worker  * E.g.,
4076*8975f5c5SAndroid Build Coastguard Worker  *
4077*8975f5c5SAndroid Build Coastguard Worker  * Input: "index=5 :: 1600x1200+0+0, 1600x1200+1600+0"
4078*8975f5c5SAndroid Build Coastguard Worker  * Output: "id=58"
4079*8975f5c5SAndroid Build Coastguard Worker  *
4080*8975f5c5SAndroid Build Coastguard Worker  * which causes the MetaMode to be inserted at position 5 in the
4081*8975f5c5SAndroid Build Coastguard Worker  * MetaMode list (all entries after 5 will be shifted down one slot in
4082*8975f5c5SAndroid Build Coastguard Worker  * the list), and the X server's containing mode stores 58 as the
4083*8975f5c5SAndroid Build Coastguard Worker  * VRefresh, so that the MetaMode can be uniquely identifed through
4084*8975f5c5SAndroid Build Coastguard Worker  * XRandR and XF86VidMode.
4085*8975f5c5SAndroid Build Coastguard Worker  */
4086*8975f5c5SAndroid Build Coastguard Worker 
4087*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_OPERATION_ADD_METAMODE 0
4088*8975f5c5SAndroid Build Coastguard Worker 
4089*8975f5c5SAndroid Build Coastguard Worker /*
4090*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_OPERATION_GTF_MODELINE - provide as input a string
4091*8975f5c5SAndroid Build Coastguard Worker  * of comma-separated "token=value" pairs, and returns a ModeLine
4092*8975f5c5SAndroid Build Coastguard Worker  * string, computed using the GTF formula using the parameters from
4093*8975f5c5SAndroid Build Coastguard Worker  * the input string.  Valid tokens for the input string are "width",
4094*8975f5c5SAndroid Build Coastguard Worker  * "height", and "refreshrate".
4095*8975f5c5SAndroid Build Coastguard Worker  *
4096*8975f5c5SAndroid Build Coastguard Worker  * E.g.,
4097*8975f5c5SAndroid Build Coastguard Worker  *
4098*8975f5c5SAndroid Build Coastguard Worker  * Input: "width=1600, height=1200, refreshrate=60"
4099*8975f5c5SAndroid Build Coastguard Worker  * Output: "160.96  1600 1704 1880 2160  1200 1201 1204 1242  -HSync +VSync"
4100*8975f5c5SAndroid Build Coastguard Worker  *
4101*8975f5c5SAndroid Build Coastguard Worker  * This operation does not have any impact on any display device's
4102*8975f5c5SAndroid Build Coastguard Worker  * modePool, and the ModeLine is not validated; it is simply intended
4103*8975f5c5SAndroid Build Coastguard Worker  * for generating ModeLines.
4104*8975f5c5SAndroid Build Coastguard Worker  */
4105*8975f5c5SAndroid Build Coastguard Worker 
4106*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_OPERATION_GTF_MODELINE 1
4107*8975f5c5SAndroid Build Coastguard Worker 
4108*8975f5c5SAndroid Build Coastguard Worker /*
4109*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_OPERATION_CVT_MODELINE - provide as input a string
4110*8975f5c5SAndroid Build Coastguard Worker  * of comma-separated "token=value" pairs, and returns a ModeLine
4111*8975f5c5SAndroid Build Coastguard Worker  * string, computed using the CVT formula using the parameters from
4112*8975f5c5SAndroid Build Coastguard Worker  * the input string.  Valid tokens for the input string are "width",
4113*8975f5c5SAndroid Build Coastguard Worker  * "height", "refreshrate", and "reduced-blanking".  The
4114*8975f5c5SAndroid Build Coastguard Worker  * "reduced-blanking" argument can be "0" or "1", to enable or disable
4115*8975f5c5SAndroid Build Coastguard Worker  * use of reduced blanking for the CVT formula.
4116*8975f5c5SAndroid Build Coastguard Worker  *
4117*8975f5c5SAndroid Build Coastguard Worker  * E.g.,
4118*8975f5c5SAndroid Build Coastguard Worker  *
4119*8975f5c5SAndroid Build Coastguard Worker  * Input: "width=1600, height=1200, refreshrate=60, reduced-blanking=1"
4120*8975f5c5SAndroid Build Coastguard Worker  * Output: "130.25  1600 1648 1680 1760  1200 1203 1207 1235  +HSync -VSync"
4121*8975f5c5SAndroid Build Coastguard Worker  *
4122*8975f5c5SAndroid Build Coastguard Worker  * This operation does not have any impact on any display device's
4123*8975f5c5SAndroid Build Coastguard Worker  * modePool, and the ModeLine is not validated; it is simply intended
4124*8975f5c5SAndroid Build Coastguard Worker  * for generating ModeLines.
4125*8975f5c5SAndroid Build Coastguard Worker  */
4126*8975f5c5SAndroid Build Coastguard Worker 
4127*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_OPERATION_CVT_MODELINE 2
4128*8975f5c5SAndroid Build Coastguard Worker 
4129*8975f5c5SAndroid Build Coastguard Worker /*
4130*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_OPERATION_BUILD_MODEPOOL - build a ModePool for the
4131*8975f5c5SAndroid Build Coastguard Worker  * specified display device on the specified target (either an X
4132*8975f5c5SAndroid Build Coastguard Worker  * screen or a GPU).  This is typically used to generate a ModePool
4133*8975f5c5SAndroid Build Coastguard Worker  * for a display device on a GPU on which no X screens are present.
4134*8975f5c5SAndroid Build Coastguard Worker  *
4135*8975f5c5SAndroid Build Coastguard Worker  * Currently, a display device's ModePool is static for the life of
4136*8975f5c5SAndroid Build Coastguard Worker  * the X server, so XNVCTRLStringOperation will return FALSE if
4137*8975f5c5SAndroid Build Coastguard Worker  * requested to build a ModePool on a display device that already has
4138*8975f5c5SAndroid Build Coastguard Worker  * a ModePool.
4139*8975f5c5SAndroid Build Coastguard Worker  *
4140*8975f5c5SAndroid Build Coastguard Worker  * The string input to BUILD_MODEPOOL may be NULL.  If it is not NULL,
4141*8975f5c5SAndroid Build Coastguard Worker  * then it is interpreted as a double-colon ("::") separated list
4142*8975f5c5SAndroid Build Coastguard Worker  * of "option=value" pairs, where the options and the syntax of their
4143*8975f5c5SAndroid Build Coastguard Worker  * values are the X configuration options that impact the behavior of
4144*8975f5c5SAndroid Build Coastguard Worker  * modePool construction; namely:
4145*8975f5c5SAndroid Build Coastguard Worker  *
4146*8975f5c5SAndroid Build Coastguard Worker  *    "ModeValidation"
4147*8975f5c5SAndroid Build Coastguard Worker  *    "HorizSync"
4148*8975f5c5SAndroid Build Coastguard Worker  *    "VertRefresh"
4149*8975f5c5SAndroid Build Coastguard Worker  *    "FlatPanelProperties"
4150*8975f5c5SAndroid Build Coastguard Worker  *    "TVStandard"
4151*8975f5c5SAndroid Build Coastguard Worker  *    "ExactModeTimingsDVI"
4152*8975f5c5SAndroid Build Coastguard Worker  *    "UseEdidFreqs"
4153*8975f5c5SAndroid Build Coastguard Worker  *
4154*8975f5c5SAndroid Build Coastguard Worker  * An example input string might look like:
4155*8975f5c5SAndroid Build Coastguard Worker  *
4156*8975f5c5SAndroid Build Coastguard Worker  *   "ModeValidation=NoVesaModes :: HorizSync=50-110 :: VertRefresh=50-150"
4157*8975f5c5SAndroid Build Coastguard Worker  *
4158*8975f5c5SAndroid Build Coastguard Worker  * This request currently does not return a string.
4159*8975f5c5SAndroid Build Coastguard Worker  */
4160*8975f5c5SAndroid Build Coastguard Worker 
4161*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_OPERATION_BUILD_MODEPOOL 3 /* DG */
4162*8975f5c5SAndroid Build Coastguard Worker 
4163*8975f5c5SAndroid Build Coastguard Worker /*
4164*8975f5c5SAndroid Build Coastguard Worker  * NV_CTRL_STRING_OPERATION_GVI_CONFIGURE_STREAMS - Configure the streams-
4165*8975f5c5SAndroid Build Coastguard Worker  * to-jack+channel topology for a GVI (Graphics capture board).
4166*8975f5c5SAndroid Build Coastguard Worker  *
4167*8975f5c5SAndroid Build Coastguard Worker  * The string input to GVI_CONFIGURE_STREAMS may be NULL.  If this is the
4168*8975f5c5SAndroid Build Coastguard Worker  * case, then the current topology is returned.
4169*8975f5c5SAndroid Build Coastguard Worker  *
4170*8975f5c5SAndroid Build Coastguard Worker  * If the input string to GVI_CONFIGURE_STREAMS is not NULL, the string
4171*8975f5c5SAndroid Build Coastguard Worker  * is interpreted as a semicolon (";") separated list of comma-separated
4172*8975f5c5SAndroid Build Coastguard Worker  * lists of "option=value" pairs that define a stream's composition.  The
4173*8975f5c5SAndroid Build Coastguard Worker  * available options and their values are:
4174*8975f5c5SAndroid Build Coastguard Worker  *
4175*8975f5c5SAndroid Build Coastguard Worker  *   "stream": Defines which stream this comma-separated list describes.
4176*8975f5c5SAndroid Build Coastguard Worker  *             Valid values are the integers between 0 and
4177*8975f5c5SAndroid Build Coastguard Worker  *             NV_CTRL_GVI_NUM_STREAMS-1 (inclusive).
4178*8975f5c5SAndroid Build Coastguard Worker  *
4179*8975f5c5SAndroid Build Coastguard Worker  *   "linkN":  Defines a jack+channel pair to use for the given link N.
4180*8975f5c5SAndroid Build Coastguard Worker  *             Valid options are the string "linkN", where N is an integer
4181*8975f5c5SAndroid Build Coastguard Worker  *             between 0 and NV_CTRL_GVI_MAX_LINKS_PER_STREAM-1 (inclusive).
4182*8975f5c5SAndroid Build Coastguard Worker  *             Valid values for these options are strings of the form
4183*8975f5c5SAndroid Build Coastguard Worker  *             "jackX" and/or "jackX.Y", where X is an integer between 0 and
4184*8975f5c5SAndroid Build Coastguard Worker  *             NV_CTRL_GVI_NUM_JACKS-1 (inclusive), and Y (optional) is an
4185*8975f5c5SAndroid Build Coastguard Worker  *             integer between 0 and NV_CTRL_GVI_MAX_CHANNELS_PER_JACK-1
4186*8975f5c5SAndroid Build Coastguard Worker  *             (inclusive).
4187*8975f5c5SAndroid Build Coastguard Worker  *
4188*8975f5c5SAndroid Build Coastguard Worker  * An example input string might look like:
4189*8975f5c5SAndroid Build Coastguard Worker  *
4190*8975f5c5SAndroid Build Coastguard Worker  *   "stream=0, link0=jack0, link1=jack1; stream=1, link0=jack2.1"
4191*8975f5c5SAndroid Build Coastguard Worker  *
4192*8975f5c5SAndroid Build Coastguard Worker  *   This example specifies two streams, stream 0 and stream 1.  Stream 0
4193*8975f5c5SAndroid Build Coastguard Worker  *   is defined to capture link0 data from the first channel (channel 0) of
4194*8975f5c5SAndroid Build Coastguard Worker  *   BNC jack 0 and link1 data from the first channel of BNC jack 1.  The
4195*8975f5c5SAndroid Build Coastguard Worker  *   second stream (Stream 1) is defined to capture link0 data from channel 1
4196*8975f5c5SAndroid Build Coastguard Worker  *   (second channel) of BNC jack 2.
4197*8975f5c5SAndroid Build Coastguard Worker  *
4198*8975f5c5SAndroid Build Coastguard Worker  * This example shows a possible configuration for capturing 3G input:
4199*8975f5c5SAndroid Build Coastguard Worker  *
4200*8975f5c5SAndroid Build Coastguard Worker  *   "stream=0, link0=jack0.0, link1=jack0.1"
4201*8975f5c5SAndroid Build Coastguard Worker  *
4202*8975f5c5SAndroid Build Coastguard Worker  * Applications should query the following attributes to determine
4203*8975f5c5SAndroid Build Coastguard Worker  * possible combinations:
4204*8975f5c5SAndroid Build Coastguard Worker  *
4205*8975f5c5SAndroid Build Coastguard Worker  *   NV_CTRL_GVI_MAX_STREAMS
4206*8975f5c5SAndroid Build Coastguard Worker  *   NV_CTRL_GVI_MAX_LINKS_PER_STREAM
4207*8975f5c5SAndroid Build Coastguard Worker  *   NV_CTRL_GVI_NUM_JACKS
4208*8975f5c5SAndroid Build Coastguard Worker  *   NV_CTRL_GVI_MAX_CHANNELS_PER_JACK
4209*8975f5c5SAndroid Build Coastguard Worker  *
4210*8975f5c5SAndroid Build Coastguard Worker  * Note: A jack+channel pair can only be tied to one link/stream.
4211*8975f5c5SAndroid Build Coastguard Worker  *
4212*8975f5c5SAndroid Build Coastguard Worker  * Upon successful configuration or querying of this attribute, a string
4213*8975f5c5SAndroid Build Coastguard Worker  * representing the current topology for all known streams on the device
4214*8975f5c5SAndroid Build Coastguard Worker  * will be returned.  On failure, NULL is returned.
4215*8975f5c5SAndroid Build Coastguard Worker  *
4216*8975f5c5SAndroid Build Coastguard Worker  * Note: Setting this attribute may also result in the following
4217*8975f5c5SAndroid Build Coastguard Worker  *       NV-CONTROL attributes being reset on the GVI device (to ensure
4218*8975f5c5SAndroid Build Coastguard Worker  *       the configuration remains valid):
4219*8975f5c5SAndroid Build Coastguard Worker  *           NV_CTRL_GVIO_REQUESTED_VIDEO_FORMAT
4220*8975f5c5SAndroid Build Coastguard Worker  *           NV_CTRL_GVI_REQUESTED_STREAM_BITS_PER_COMPONENT
4221*8975f5c5SAndroid Build Coastguard Worker  *           NV_CTRL_GVI_REQUESTED_STREAM_COMPONENT_SAMPLING
4222*8975f5c5SAndroid Build Coastguard Worker  */
4223*8975f5c5SAndroid Build Coastguard Worker 
4224*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_OPERATION_GVI_CONFIGURE_STREAMS 4 /* RW-I */
4225*8975f5c5SAndroid Build Coastguard Worker 
4226*8975f5c5SAndroid Build Coastguard Worker #define NV_CTRL_STRING_OPERATION_LAST_ATTRIBUTE NV_CTRL_STRING_OPERATION_GVI_CONFIGURE_STREAMS
4227*8975f5c5SAndroid Build Coastguard Worker 
4228*8975f5c5SAndroid Build Coastguard Worker /**************************************************************************/
4229*8975f5c5SAndroid Build Coastguard Worker 
4230*8975f5c5SAndroid Build Coastguard Worker /*
4231*8975f5c5SAndroid Build Coastguard Worker  * CTRLAttributeValidValuesRec -
4232*8975f5c5SAndroid Build Coastguard Worker  *
4233*8975f5c5SAndroid Build Coastguard Worker  * structure and related defines used by
4234*8975f5c5SAndroid Build Coastguard Worker  * XNVCTRLQueryValidAttributeValues() to describe the valid values of
4235*8975f5c5SAndroid Build Coastguard Worker  * a particular attribute.  The type field will be one of:
4236*8975f5c5SAndroid Build Coastguard Worker  *
4237*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_INTEGER : the attribute is an integer value; there
4238*8975f5c5SAndroid Build Coastguard Worker  * is no fixed range of valid values.
4239*8975f5c5SAndroid Build Coastguard Worker  *
4240*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_BITMASK : the attribute is an integer value,
4241*8975f5c5SAndroid Build Coastguard Worker  * interpretted as a bitmask.
4242*8975f5c5SAndroid Build Coastguard Worker  *
4243*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_BOOL : the attribute is a boolean, valid values are
4244*8975f5c5SAndroid Build Coastguard Worker  * either 1 (on/true) or 0 (off/false).
4245*8975f5c5SAndroid Build Coastguard Worker  *
4246*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_RANGE : the attribute can have any integer value
4247*8975f5c5SAndroid Build Coastguard Worker  * between NVCTRLAttributeValidValues.u.range.min and
4248*8975f5c5SAndroid Build Coastguard Worker  * NVCTRLAttributeValidValues.u.range.max (inclusive).
4249*8975f5c5SAndroid Build Coastguard Worker  *
4250*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_INT_BITS : the attribute can only have certain
4251*8975f5c5SAndroid Build Coastguard Worker  * integer values, indicated by which bits in
4252*8975f5c5SAndroid Build Coastguard Worker  * NVCTRLAttributeValidValues.u.bits.ints are on (for example: if bit
4253*8975f5c5SAndroid Build Coastguard Worker  * 0 is on, then 0 is a valid value; if bit 5 is on, then 5 is a valid
4254*8975f5c5SAndroid Build Coastguard Worker  * value, etc).  This is useful for attributes like NV_CTRL_FSAA_MODE,
4255*8975f5c5SAndroid Build Coastguard Worker  * which can only have certain values, depending on GPU.
4256*8975f5c5SAndroid Build Coastguard Worker  *
4257*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_64BIT_INTEGER : the attribute is a 64 bit integer value;
4258*8975f5c5SAndroid Build Coastguard Worker  * there is no fixed range of valid values.
4259*8975f5c5SAndroid Build Coastguard Worker  *
4260*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_STRING : the attribute is a string value; there is no fixed
4261*8975f5c5SAndroid Build Coastguard Worker  * range of valid values.
4262*8975f5c5SAndroid Build Coastguard Worker  *
4263*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_BINARY_DATA : the attribute is binary data; there is
4264*8975f5c5SAndroid Build Coastguard Worker  * no fixed range of valid values.
4265*8975f5c5SAndroid Build Coastguard Worker  *
4266*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_STRING_OPERATION : the attribute is a string; there is
4267*8975f5c5SAndroid Build Coastguard Worker  * no fixed range of valid values.
4268*8975f5c5SAndroid Build Coastguard Worker  *
4269*8975f5c5SAndroid Build Coastguard Worker  *
4270*8975f5c5SAndroid Build Coastguard Worker  * The permissions field of NVCTRLAttributeValidValuesRec is a bitmask
4271*8975f5c5SAndroid Build Coastguard Worker  * that may contain:
4272*8975f5c5SAndroid Build Coastguard Worker  *
4273*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_READ      - Attribute may be read (queried.)
4274*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_WRITE     - Attribute may be written to (set.)
4275*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_DISPLAY   - Attribute is valid for display target types
4276*8975f5c5SAndroid Build Coastguard Worker  *                            (requires a display_mask if queried via
4277*8975f5c5SAndroid Build Coastguard Worker  *                            a GPU or X screen.)
4278*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_GPU       - Attribute is valid for GPU target types.
4279*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_FRAMELOCK - Attribute is valid for Frame Lock target types.
4280*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_X_SCREEN  - Attribute is valid for X Screen target types.
4281*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_XINERAMA  - Attribute will be made consistent for all
4282*8975f5c5SAndroid Build Coastguard Worker  *                            X Screens when the Xinerama extension is enabled.
4283*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_VCSC      - Attribute is valid for Visual Computing System
4284*8975f5c5SAndroid Build Coastguard Worker  *                            target types.
4285*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_GVI       - Attribute is valid for Graphics Video In target
4286*8975f5c5SAndroid Build Coastguard Worker  *                            types.
4287*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_COOLER    - Attribute is valid for Cooler target types.
4288*8975f5c5SAndroid Build Coastguard Worker  * ATTRIBUTE_TYPE_3D_VISION_PRO_TRANSCEIVER - Attribute is valid for 3D Vision
4289*8975f5c5SAndroid Build Coastguard Worker  *                                            Pro Transceiver target types.
4290*8975f5c5SAndroid Build Coastguard Worker  *
4291*8975f5c5SAndroid Build Coastguard Worker  * See 'Key to Integer Attribute "Permissions"' at the top of this
4292*8975f5c5SAndroid Build Coastguard Worker  * file for a description of what these permission bits mean.
4293*8975f5c5SAndroid Build Coastguard Worker  */
4294*8975f5c5SAndroid Build Coastguard Worker 
4295*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_UNKNOWN 0
4296*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_INTEGER 1
4297*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_BITMASK 2
4298*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_BOOL 3
4299*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_RANGE 4
4300*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_INT_BITS 5
4301*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_64BIT_INTEGER 6
4302*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_STRING 7
4303*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_BINARY_DATA 8
4304*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_STRING_OPERATION 9
4305*8975f5c5SAndroid Build Coastguard Worker 
4306*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_READ 0x001
4307*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_WRITE 0x002
4308*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_DISPLAY 0x004
4309*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_GPU 0x008
4310*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_FRAMELOCK 0x010
4311*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_X_SCREEN 0x020
4312*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_XINERAMA 0x040
4313*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_VCSC 0x080
4314*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_GVI 0x100
4315*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_COOLER 0x200
4316*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_THERMAL_SENSOR 0x400
4317*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_3D_VISION_PRO_TRANSCEIVER 0x800
4318*8975f5c5SAndroid Build Coastguard Worker 
4319*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_TYPE_ALL_TARGETS                                                  \
4320*8975f5c5SAndroid Build Coastguard Worker     ((ATTRIBUTE_TYPE_DISPLAY) | (ATTRIBUTE_TYPE_GPU) | (ATTRIBUTE_TYPE_FRAMELOCK) | \
4321*8975f5c5SAndroid Build Coastguard Worker      (ATTRIBUTE_TYPE_X_SCREEN) | (ATTRIBUTE_TYPE_VCSC) | (ATTRIBUTE_TYPE_GVI) |     \
4322*8975f5c5SAndroid Build Coastguard Worker      (ATTRIBUTE_TYPE_COOLER) | (ATTRIBUTE_TYPE_THERMAL_SENSOR) |                    \
4323*8975f5c5SAndroid Build Coastguard Worker      (ATTRIBUTE_TYPE_3D_VISION_PRO_TRANSCEIVER))
4324*8975f5c5SAndroid Build Coastguard Worker 
4325*8975f5c5SAndroid Build Coastguard Worker typedef struct _NVCTRLAttributeValidValues
4326*8975f5c5SAndroid Build Coastguard Worker {
4327*8975f5c5SAndroid Build Coastguard Worker     int type;
4328*8975f5c5SAndroid Build Coastguard Worker     union
4329*8975f5c5SAndroid Build Coastguard Worker     {
4330*8975f5c5SAndroid Build Coastguard Worker         struct
4331*8975f5c5SAndroid Build Coastguard Worker         {
4332*8975f5c5SAndroid Build Coastguard Worker             int64_t min;
4333*8975f5c5SAndroid Build Coastguard Worker             int64_t max;
4334*8975f5c5SAndroid Build Coastguard Worker         } range;
4335*8975f5c5SAndroid Build Coastguard Worker         struct
4336*8975f5c5SAndroid Build Coastguard Worker         {
4337*8975f5c5SAndroid Build Coastguard Worker             unsigned int ints;
4338*8975f5c5SAndroid Build Coastguard Worker         } bits;
4339*8975f5c5SAndroid Build Coastguard Worker     } u;
4340*8975f5c5SAndroid Build Coastguard Worker     unsigned int permissions;
4341*8975f5c5SAndroid Build Coastguard Worker } NVCTRLAttributeValidValuesRec;
4342*8975f5c5SAndroid Build Coastguard Worker 
4343*8975f5c5SAndroid Build Coastguard Worker typedef struct _NVCTRLAttributePermissions
4344*8975f5c5SAndroid Build Coastguard Worker {
4345*8975f5c5SAndroid Build Coastguard Worker     int type;
4346*8975f5c5SAndroid Build Coastguard Worker     unsigned int permissions;
4347*8975f5c5SAndroid Build Coastguard Worker } NVCTRLAttributePermissionsRec;
4348*8975f5c5SAndroid Build Coastguard Worker 
4349*8975f5c5SAndroid Build Coastguard Worker /**************************************************************************/
4350*8975f5c5SAndroid Build Coastguard Worker 
4351*8975f5c5SAndroid Build Coastguard Worker /*
4352*8975f5c5SAndroid Build Coastguard Worker  * NV-CONTROL X event notification.
4353*8975f5c5SAndroid Build Coastguard Worker  *
4354*8975f5c5SAndroid Build Coastguard Worker  * To receive X event notifications dealing with NV-CONTROL, you should
4355*8975f5c5SAndroid Build Coastguard Worker  * call XNVCtrlSelectNotify() with one of the following set as the type
4356*8975f5c5SAndroid Build Coastguard Worker  * of event to receive (see NVCtrlLib.h for more information):
4357*8975f5c5SAndroid Build Coastguard Worker  */
4358*8975f5c5SAndroid Build Coastguard Worker 
4359*8975f5c5SAndroid Build Coastguard Worker #define ATTRIBUTE_CHANGED_EVENT 0
4360*8975f5c5SAndroid Build Coastguard Worker #define TARGET_ATTRIBUTE_CHANGED_EVENT 1
4361*8975f5c5SAndroid Build Coastguard Worker #define TARGET_ATTRIBUTE_AVAILABILITY_CHANGED_EVENT 2
4362*8975f5c5SAndroid Build Coastguard Worker #define TARGET_STRING_ATTRIBUTE_CHANGED_EVENT 3
4363*8975f5c5SAndroid Build Coastguard Worker #define TARGET_BINARY_ATTRIBUTE_CHANGED_EVENT 4
4364*8975f5c5SAndroid Build Coastguard Worker 
4365*8975f5c5SAndroid Build Coastguard Worker #endif /* __NVCTRL_H */
4366