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