1 /************************************************************************** 2 * Copyright (c) 2007-2011, Intel Corporation. 3 * All Rights Reserved. 4 * Copyright (c) 2008, Tungsten Graphics Inc. Cedar Park, TX., USA. 5 * All Rights Reserved. 6 * 7 * This program is free software; you can redistribute it and/or modify it 8 * under the terms and conditions of the GNU General Public License, 9 * version 2, as published by the Free Software Foundation. 10 * 11 * This program is distributed in the hope it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 14 * more details. 15 * 16 * You should have received a copy of the GNU General Public License along with 17 * this program; if not, write to the Free Software Foundation, Inc., 18 * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 19 * 20 **************************************************************************/ 21 22 #ifndef _PSB_DRM_H_ 23 #define _PSB_DRM_H_ 24 25 /* 26 * Manage the LUT for an output 27 */ 28 struct drm_psb_dpst_lut_arg { 29 uint8_t lut[256]; 30 int output_id; 31 }; 32 33 /* 34 * Validate modes 35 */ 36 struct drm_psb_mode_operation_arg { 37 u32 obj_id; 38 u16 operation; 39 struct drm_mode_modeinfo mode; 40 u64 data; 41 }; 42 43 /* 44 * Query the stolen memory for smarter management of 45 * memory by the server 46 */ 47 struct drm_psb_stolen_memory_arg { 48 u32 base; 49 u32 size; 50 }; 51 52 struct drm_psb_get_pipe_from_crtc_id_arg { 53 /** ID of CRTC being requested **/ 54 u32 crtc_id; 55 /** pipe of requested CRTC **/ 56 u32 pipe; 57 }; 58 59 struct drm_psb_gem_create { 60 __u64 size; 61 __u32 handle; 62 __u32 flags; 63 #define GMA_GEM_CREATE_STOLEN 1 /* Stolen memory can be used */ 64 }; 65 66 struct drm_psb_gem_mmap { 67 __u32 handle; 68 __u32 pad; 69 /** 70 * Fake offset to use for subsequent mmap call 71 * 72 * This is a fixed-size type for 32/64 compatibility. 73 */ 74 __u64 offset; 75 }; 76 77 /* Controlling the kernel modesetting buffers */ 78 79 #define DRM_GMA_GEM_CREATE 0x00 /* Create a GEM object */ 80 #define DRM_GMA_GEM_MMAP 0x01 /* Map GEM memory */ 81 #define DRM_GMA_STOLEN_MEMORY 0x02 /* Report stolen memory */ 82 #define DRM_GMA_2D_OP 0x03 /* Will be merged later */ 83 #define DRM_GMA_GAMMA 0x04 /* Set gamma table */ 84 #define DRM_GMA_ADB 0x05 /* Get backlight */ 85 #define DRM_GMA_DPST_BL 0x06 /* Set backlight */ 86 #define DRM_GMA_MODE_OPERATION 0x07 /* Mode validation/DC set */ 87 #define PSB_MODE_OPERATION_MODE_VALID 0x01 88 #define DRM_GMA_GET_PIPE_FROM_CRTC_ID 0x08 /* CRTC to physical pipe# */ 89 90 91 #endif 92