1344c2e5aSBen Skeggs /* 2344c2e5aSBen Skeggs * Copyright (c) 1993-2014, NVIDIA CORPORATION. All rights reserved. 3344c2e5aSBen Skeggs * 4344c2e5aSBen Skeggs * Permission is hereby granted, free of charge, to any person obtaining a 5344c2e5aSBen Skeggs * copy of this software and associated documentation files (the "Software"), 6344c2e5aSBen Skeggs * to deal in the Software without restriction, including without limitation 7344c2e5aSBen Skeggs * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8344c2e5aSBen Skeggs * and/or sell copies of the Software, and to permit persons to whom the 9344c2e5aSBen Skeggs * Software is furnished to do so, subject to the following conditions: 10344c2e5aSBen Skeggs * 11344c2e5aSBen Skeggs * The above copyright notice and this permission notice shall be included in 12344c2e5aSBen Skeggs * all copies or substantial portions of the Software. 13344c2e5aSBen Skeggs * 14344c2e5aSBen Skeggs * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15344c2e5aSBen Skeggs * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16344c2e5aSBen Skeggs * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17344c2e5aSBen Skeggs * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18344c2e5aSBen Skeggs * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19344c2e5aSBen Skeggs * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20344c2e5aSBen Skeggs * DEALINGS IN THE SOFTWARE. 21344c2e5aSBen Skeggs */ 22344c2e5aSBen Skeggs 23344c2e5aSBen Skeggs 24344c2e5aSBen Skeggs #ifndef _cl917d_h_ 25344c2e5aSBen Skeggs #define _cl917d_h_ 26344c2e5aSBen Skeggs 27344c2e5aSBen Skeggs // class methods 28344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL(a) (0x00000200 + (a)*0x00000020) 29344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_OWNER_MASK 3:0 30344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_OWNER_MASK_NONE (0x00000000) 31344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_OWNER_MASK_HEAD0 (0x00000001) 32344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_OWNER_MASK_HEAD1 (0x00000002) 33344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_OWNER_MASK_HEAD2 (0x00000004) 34344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_OWNER_MASK_HEAD3 (0x00000008) 35344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_PROTOCOL 11:8 36344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_PROTOCOL_LVDS_CUSTOM (0x00000000) 37344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_A (0x00000001) 38344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_PROTOCOL_SINGLE_TMDS_B (0x00000002) 39344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_PROTOCOL_DUAL_TMDS (0x00000005) 40344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_PROTOCOL_DP_A (0x00000008) 41344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_PROTOCOL_DP_B (0x00000009) 42344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_PROTOCOL_CUSTOM (0x0000000F) 43344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_DE_SYNC_POLARITY 14:14 44344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_DE_SYNC_POLARITY_POSITIVE_TRUE (0x00000000) 45344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_DE_SYNC_POLARITY_NEGATIVE_TRUE (0x00000001) 46344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE 21:20 47344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE_OFF (0x00000000) 48344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE_X2 (0x00000001) 49344c2e5aSBen Skeggs #define NV917D_SOR_SET_CONTROL_PIXEL_REPLICATE_MODE_X4 (0x00000002) 50344c2e5aSBen Skeggs 51344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR(a) (0x00000480 + (a)*0x00000300) 52344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_ENABLE 31:31 53344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_ENABLE_DISABLE (0x00000000) 54344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_ENABLE_ENABLE (0x00000001) 55344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_FORMAT 25:24 56344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_FORMAT_A1R5G5B5 (0x00000000) 57344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_FORMAT_A8R8G8B8 (0x00000001) 58344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_SIZE 27:26 59344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_SIZE_W32_H32 (0x00000000) 60344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_SIZE_W64_H64 (0x00000001) 61344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_SIZE_W128_H128 (0x00000002) 62344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_SIZE_W256_H256 (0x00000003) 63344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_HOT_SPOT_X 15:8 64344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_HOT_SPOT_Y 23:16 65344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_COMPOSITION 29:28 66344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_ALPHA_BLEND (0x00000000) 67344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_PREMULT_ALPHA_BLEND (0x00000001) 68344c2e5aSBen Skeggs #define NV917D_HEAD_SET_CONTROL_CURSOR_COMPOSITION_XOR (0x00000002) 69*ba839b75SLyude Paul #define NV917D_HEAD_SET_OFFSET_CURSOR(a) (0x00000484 + (a)*0x00000300) 70*ba839b75SLyude Paul #define NV917D_HEAD_SET_OFFSET_CURSOR_ORIGIN 31:0 71*ba839b75SLyude Paul #define NV917D_HEAD_SET_CONTEXT_DMA_CURSOR(a) (0x0000048C + (a)*0x00000300) 72*ba839b75SLyude Paul #define NV917D_HEAD_SET_CONTEXT_DMA_CURSOR_HANDLE 31:0 73344c2e5aSBen Skeggs #define NV917D_HEAD_SET_DITHER_CONTROL(a) (0x000004A0 + (a)*0x00000300) 74344c2e5aSBen Skeggs #define NV917D_HEAD_SET_DITHER_CONTROL_ENABLE 0:0 75344c2e5aSBen Skeggs #define NV917D_HEAD_SET_DITHER_CONTROL_ENABLE_DISABLE (0x00000000) 76344c2e5aSBen Skeggs #define NV917D_HEAD_SET_DITHER_CONTROL_ENABLE_ENABLE (0x00000001) 77344c2e5aSBen Skeggs #define NV917D_HEAD_SET_DITHER_CONTROL_BITS 2:1 78344c2e5aSBen Skeggs #define NV917D_HEAD_SET_DITHER_CONTROL_BITS_DITHER_TO_6_BITS (0x00000000) 79344c2e5aSBen Skeggs #define NV917D_HEAD_SET_DITHER_CONTROL_BITS_DITHER_TO_8_BITS (0x00000001) 80344c2e5aSBen Skeggs #define NV917D_HEAD_SET_DITHER_CONTROL_BITS_DITHER_TO_10_BITS (0x00000002) 81344c2e5aSBen Skeggs #define NV917D_HEAD_SET_DITHER_CONTROL_MODE 6:3 82344c2e5aSBen Skeggs #define NV917D_HEAD_SET_DITHER_CONTROL_MODE_DYNAMIC_ERR_ACC (0x00000000) 83344c2e5aSBen Skeggs #define NV917D_HEAD_SET_DITHER_CONTROL_MODE_STATIC_ERR_ACC (0x00000001) 84344c2e5aSBen Skeggs #define NV917D_HEAD_SET_DITHER_CONTROL_MODE_DYNAMIC_2X2 (0x00000002) 85344c2e5aSBen Skeggs #define NV917D_HEAD_SET_DITHER_CONTROL_MODE_STATIC_2X2 (0x00000003) 86344c2e5aSBen Skeggs #define NV917D_HEAD_SET_DITHER_CONTROL_MODE_TEMPORAL (0x00000004) 87344c2e5aSBen Skeggs #define NV917D_HEAD_SET_DITHER_CONTROL_PHASE 8:7 88344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS(a) (0x000004D0 + (a)*0x00000300) 89344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_USABLE 0:0 90344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_USABLE_FALSE (0x00000000) 91344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_USABLE_TRUE (0x00000001) 92344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH 11:8 93344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_8 (0x00000000) 94344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_16 (0x00000001) 95344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_32 (0x00000003) 96344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_PIXEL_DEPTH_BPP_64 (0x00000005) 97344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_SUPER_SAMPLE 13:12 98344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_SUPER_SAMPLE_X1_AA (0x00000000) 99344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_SUPER_SAMPLE_X4_AA (0x00000002) 100344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_BASE_LUT 17:16 101344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_BASE_LUT_USAGE_NONE (0x00000000) 102344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_BASE_LUT_USAGE_257 (0x00000001) 103344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_BASE_LUT_USAGE_1025 (0x00000002) 104344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_OUTPUT_LUT 21:20 105344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_OUTPUT_LUT_USAGE_NONE (0x00000000) 106344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_OUTPUT_LUT_USAGE_257 (0x00000001) 107344c2e5aSBen Skeggs #define NV917D_HEAD_SET_BASE_CHANNEL_USAGE_BOUNDS_OUTPUT_LUT_USAGE_1025 (0x00000002) 108344c2e5aSBen Skeggs #endif // _cl917d_h 109