| 1 |
|
| 2 | |
| 3 | * Copyright 1998-2008 VIA Technologies, Inc. All Rights Reserved.
|
| 4 | * Copyright 2001-2008 S3 Graphics, Inc. All Rights Reserved.
|
| 5 |
|
| 6 |
|
| 7 |
|
| 8 | #ifndef __IOCTL_H__
|
| 9 | #define __IOCTL_H__
|
| 10 |
|
| 11 | #ifndef __user
|
| 12 | #define __user
|
| 13 | #endif
|
| 14 |
|
| 15 |
|
| 16 | #define VIAFB_GET_INFO_SIZE 0x56494101
|
| 17 | #define VIAFB_GET_INFO 0x56494102
|
| 18 | #define VIAFB_HOTPLUG 0x56494103
|
| 19 | #define VIAFB_SET_HOTPLUG_FLAG 0x56494104
|
| 20 | #define VIAFB_GET_RESOLUTION 0x56494105
|
| 21 | #define VIAFB_GET_SAMM_INFO 0x56494107
|
| 22 | #define VIAFB_TURN_ON_OUTPUT_DEVICE 0x56494108
|
| 23 | #define VIAFB_TURN_OFF_OUTPUT_DEVICE 0x56494109
|
| 24 | #define VIAFB_GET_DEVICE 0x5649410B
|
| 25 | #define VIAFB_GET_DRIVER_VERSION 0x56494112
|
| 26 | #define VIAFB_GET_CHIP_INFO 0x56494113
|
| 27 | #define VIAFB_GET_DEVICE_INFO 0x56494115
|
| 28 |
|
| 29 | #define VIAFB_GET_DEVICE_SUPPORT 0x56494118
|
| 30 | #define VIAFB_GET_DEVICE_CONNECT 0x56494119
|
| 31 | #define VIAFB_GET_PANEL_SUPPORT_EXPAND 0x5649411A
|
| 32 | #define VIAFB_GET_DRIVER_NAME 0x56494122
|
| 33 | #define VIAFB_GET_DEVICE_SUPPORT_STATE 0x56494123
|
| 34 | #define VIAFB_GET_GAMMA_LUT 0x56494124
|
| 35 | #define VIAFB_SET_GAMMA_LUT 0x56494125
|
| 36 | #define VIAFB_GET_GAMMA_SUPPORT_STATE 0x56494126
|
| 37 | #define VIAFB_SYNC_SURFACE 0x56494130
|
| 38 | #define VIAFB_GET_DRIVER_CAPS 0x56494131
|
| 39 | #define VIAFB_GET_IGA_SCALING_INFO 0x56494132
|
| 40 | #define VIAFB_GET_PANEL_MAX_SIZE 0x56494133
|
| 41 | #define VIAFB_GET_PANEL_MAX_POSITION 0x56494134
|
| 42 | #define VIAFB_SET_PANEL_SIZE 0x56494135
|
| 43 | #define VIAFB_SET_PANEL_POSITION 0x56494136
|
| 44 | #define VIAFB_GET_PANEL_POSITION 0x56494137
|
| 45 | #define VIAFB_GET_PANEL_SIZE 0x56494138
|
| 46 |
|
| 47 | #define None_Device 0x00
|
| 48 | #define CRT_Device 0x01
|
| 49 | #define LCD_Device 0x02
|
| 50 | #define DVI_Device 0x08
|
| 51 | #define CRT2_Device 0x10
|
| 52 | #define LCD2_Device 0x40
|
| 53 |
|
| 54 | #define OP_LCD_CENTERING 0x01
|
| 55 | #define OP_LCD_PANEL_ID 0x02
|
| 56 | #define OP_LCD_MODE 0x03
|
| 57 |
|
| 58 |
|
| 59 | #define OP_SAMM 0x80
|
| 60 |
|
| 61 | #define LCD_PANEL_ID_MAXIMUM 23
|
| 62 |
|
| 63 | #define STATE_ON 0x1
|
| 64 | #define STATE_OFF 0x0
|
| 65 | #define STATE_DEFAULT 0xFFFF
|
| 66 |
|
| 67 | #define MAX_ACTIVE_DEV_NUM 2
|
| 68 |
|
| 69 | struct device_t {
|
| 70 | unsigned short crt:1;
|
| 71 | unsigned short dvi:1;
|
| 72 | unsigned short lcd:1;
|
| 73 | unsigned short samm:1;
|
| 74 | unsigned short lcd_dsp_cent:1;
|
| 75 | unsigned char lcd_mode:1;
|
| 76 | unsigned short epia_dvi:1;
|
| 77 | unsigned short lcd_dual_edge:1;
|
| 78 | unsigned short lcd2:1;
|
| 79 |
|
| 80 | unsigned short primary_dev;
|
| 81 | unsigned char lcd_panel_id;
|
| 82 | unsigned short xres, yres;
|
| 83 | unsigned short xres1, yres1;
|
| 84 | unsigned short refresh;
|
| 85 | unsigned short bpp;
|
| 86 | unsigned short refresh1;
|
| 87 | unsigned short bpp1;
|
| 88 | unsigned short sequence;
|
| 89 | unsigned short bus_width;
|
| 90 | };
|
| 91 |
|
| 92 | struct viafb_ioctl_info {
|
| 93 | u32 viafb_id;
|
| 94 | #define VIAID 0x56494146
|
| 95 | u16 vendor_id;
|
| 96 | u16 device_id;
|
| 97 | u8 version;
|
| 98 | u8 revision;
|
| 99 | u8 reserved[246];
|
| 100 | };
|
| 101 |
|
| 102 | struct viafb_ioctl_mode {
|
| 103 | u32 xres;
|
| 104 | u32 yres;
|
| 105 | u32 refresh;
|
| 106 | u32 bpp;
|
| 107 | u32 xres_sec;
|
| 108 | u32 yres_sec;
|
| 109 | u32 virtual_xres_sec;
|
| 110 | u32 virtual_yres_sec;
|
| 111 | u32 refresh_sec;
|
| 112 | u32 bpp_sec;
|
| 113 | };
|
| 114 | struct viafb_ioctl_samm {
|
| 115 | u32 samm_status;
|
| 116 | u32 size_prim;
|
| 117 | u32 size_sec;
|
| 118 | u32 mem_base;
|
| 119 | u32 offset_sec;
|
| 120 | };
|
| 121 |
|
| 122 | struct viafb_driver_version {
|
| 123 | int iMajorNum;
|
| 124 | int iKernelNum;
|
| 125 | int iOSNum;
|
| 126 | int iMinorNum;
|
| 127 | };
|
| 128 |
|
| 129 | struct viafb_ioctl_lcd_attribute {
|
| 130 | unsigned int panel_id;
|
| 131 | unsigned int display_center;
|
| 132 | unsigned int lcd_mode;
|
| 133 | };
|
| 134 |
|
| 135 | struct viafb_ioctl_setting {
|
| 136 |
|
| 137 | unsigned short device_flag;
|
| 138 |
|
| 139 | unsigned short device_status;
|
| 140 | unsigned int reserved;
|
| 141 |
|
| 142 | unsigned short lcd_operation_flag;
|
| 143 |
|
| 144 | unsigned short samm_status;
|
| 145 |
|
| 146 | unsigned short first_dev_hor_res;
|
| 147 |
|
| 148 | unsigned short first_dev_ver_res;
|
| 149 |
|
| 150 | unsigned short second_dev_hor_res;
|
| 151 |
|
| 152 | unsigned short second_dev_ver_res;
|
| 153 |
|
| 154 | unsigned short first_dev_refresh;
|
| 155 |
|
| 156 | unsigned short first_dev_bpp;
|
| 157 |
|
| 158 | unsigned short second_dev_refresh;
|
| 159 |
|
| 160 | unsigned short second_dev_bpp;
|
| 161 |
|
| 162 | unsigned int primary_device;
|
| 163 | unsigned int struct_reserved[35];
|
| 164 | struct viafb_ioctl_lcd_attribute lcd_attributes;
|
| 165 | };
|
| 166 |
|
| 167 | struct _UTFunctionCaps {
|
| 168 | unsigned int dw3DScalingState;
|
| 169 | unsigned int reserved[31];
|
| 170 | };
|
| 171 |
|
| 172 | struct _POSITIONVALUE {
|
| 173 | unsigned int dwX;
|
| 174 | unsigned int dwY;
|
| 175 | };
|
| 176 |
|
| 177 | struct _panel_size_pos_info {
|
| 178 | unsigned int device_type;
|
| 179 | int x;
|
| 180 | int y;
|
| 181 | };
|
| 182 |
|
| 183 | extern int viafb_LCD_ON;
|
| 184 | extern int viafb_DVI_ON;
|
| 185 |
|
| 186 | int viafb_ioctl_get_viafb_info(u_long arg);
|
| 187 | int viafb_ioctl_hotplug(int hres, int vres, int bpp);
|
| 188 |
|
| 189 | #endif
|