root/drivers/video/fbdev/via/ioctl.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-or-later */
   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 /* VIAFB IOCTL definition */
  16 #define VIAFB_GET_INFO_SIZE             0x56494101      /* 'VIA\01' */
  17 #define VIAFB_GET_INFO                  0x56494102      /* 'VIA\02' */
  18 #define VIAFB_HOTPLUG                   0x56494103      /* 'VIA\03' */
  19 #define VIAFB_SET_HOTPLUG_FLAG          0x56494104      /* 'VIA\04' */
  20 #define VIAFB_GET_RESOLUTION            0x56494105      /* 'VIA\05' */
  21 #define VIAFB_GET_SAMM_INFO             0x56494107      /* 'VIA\07' */
  22 #define VIAFB_TURN_ON_OUTPUT_DEVICE     0x56494108      /* 'VIA\08' */
  23 #define VIAFB_TURN_OFF_OUTPUT_DEVICE    0x56494109      /* 'VIA\09' */
  24 #define VIAFB_GET_DEVICE                0x5649410B
  25 #define VIAFB_GET_DRIVER_VERSION        0x56494112      /* 'VIA\12' */
  26 #define VIAFB_GET_CHIP_INFO             0x56494113      /* 'VIA\13' */
  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 /*SAMM operation flag*/
  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;           /* for identifying viafb */
  94 #define VIAID       0x56494146  /* Identify myself with 'VIAF' */
  95         u16 vendor_id;
  96         u16 device_id;
  97         u8 version;
  98         u8 revision;
  99         u8 reserved[246];       /* for future use */
 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         /* Enable or disable active devices */
 137         unsigned short device_flag;
 138         /* Indicate which device should be turn on or turn off. */
 139         unsigned short device_status;
 140         unsigned int reserved;
 141         /* Indicate which LCD's attribute can be changed. */
 142         unsigned short lcd_operation_flag;
 143         /* 1: SAMM ON  0: SAMM OFF */
 144         unsigned short samm_status;
 145         /* horizontal resolution of first device */
 146         unsigned short first_dev_hor_res;
 147         /* vertical resolution of first device */
 148         unsigned short first_dev_ver_res;
 149         /* horizontal resolution of second device */
 150         unsigned short second_dev_hor_res;
 151         /* vertical resolution of second device */
 152         unsigned short second_dev_ver_res;
 153         /* refresh rate of first device */
 154         unsigned short first_dev_refresh;
 155         /* bpp of first device */
 156         unsigned short first_dev_bpp;
 157         /* refresh rate of second device */
 158         unsigned short second_dev_refresh;
 159         /* bpp of second device */
 160         unsigned short second_dev_bpp;
 161         /* Indicate which device are primary display device. */
 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 /* __IOCTL_H__ */

/* [<][>][^][v][top][bottom][index][help] */