1 #ifndef __LINUX_MATROXFB_H__ 2 #define __LINUX_MATROXFB_H__ 3 4 #include <asm/ioctl.h> 5 #include <asm/types.h> 6 7 struct matroxioc_output_mode { 8 __u32 output; /* which output */ 9 #define MATROXFB_OUTPUT_PRIMARY 0x0000 10 #define MATROXFB_OUTPUT_SECONDARY 0x0001 11 #define MATROXFB_OUTPUT_DFP 0x0002 12 __u32 mode; /* which mode */ 13 #define MATROXFB_OUTPUT_MODE_PAL 0x0001 14 #define MATROXFB_OUTPUT_MODE_NTSC 0x0002 15 #define MATROXFB_OUTPUT_MODE_MONITOR 0x0080 16 }; 17 #define MATROXFB_SET_OUTPUT_MODE _IOW('n',0xFA,sizeof(struct matroxioc_output_mode)) 18 #define MATROXFB_GET_OUTPUT_MODE _IOWR('n',0xFA,sizeof(struct matroxioc_output_mode)) 19 20 /* bitfield */ 21 #define MATROXFB_OUTPUT_CONN_PRIMARY (1 << MATROXFB_OUTPUT_PRIMARY) 22 #define MATROXFB_OUTPUT_CONN_SECONDARY (1 << MATROXFB_OUTPUT_SECONDARY) 23 #define MATROXFB_OUTPUT_CONN_DFP (1 << MATROXFB_OUTPUT_DFP) 24 /* connect these outputs to this framebuffer */ 25 #define MATROXFB_SET_OUTPUT_CONNECTION _IOW('n',0xF8,sizeof(__u32)) 26 /* which outputs are connected to this framebuffer */ 27 #define MATROXFB_GET_OUTPUT_CONNECTION _IOR('n',0xF8,sizeof(__u32)) 28 /* which outputs are available for this framebuffer */ 29 #define MATROXFB_GET_AVAILABLE_OUTPUTS _IOR('n',0xF9,sizeof(__u32)) 30 /* which outputs exist on this framebuffer */ 31 #define MATROXFB_GET_ALL_OUTPUTS _IOR('n',0xFB,sizeof(__u32)) 32 33 struct matroxfb_queryctrl { 34 __u32 id; /* ID for control */ 35 char name[32]; /* A suggested label for this control */ 36 int minimum; /* Minimum value */ 37 int maximum; /* Maximum value */ 38 unsigned int step; /* The increment between values of an integer 39 control that are distinct on the hardware */ 40 int default_value; /* Driver default value */ 41 __u32 type; /* Control type. */ 42 __u32 flags; /* Control flags */ 43 __u32 category; /* Control category code, useful for 44 separating controls by function */ 45 char group[32]; /* A suggested label string for the 46 control group */ 47 __u32 reserved[2]; 48 }; 49 50 enum matroxfb_ctrl_type { 51 MATROXFB_CTRL_TYPE_INTEGER=0, /* An integer-valued control */ 52 MATROXFB_CTRL_TYPE_BOOLEAN, /* A boolean-valued control */ 53 MATROXFB_CTRL_TYPE_MENU, /* The control has a menu of choices */ 54 MATROXFB_CTRL_TYPE_BUTTON /* A button which performs an action when clicked */ 55 }; 56 57 enum matroxfb_ctrl_id { 58 MATROXFB_CID_BRIGHTNESS=0x00980900, 59 MATROXFB_CID_CONTRAST, 60 MATROXFB_CID_SATURATION, 61 MATROXFB_CID_HUE, 62 MATROXFB_CID_GAMMA =0x00980910, 63 MATROXFB_CID_TESTOUT =0x08000000, 64 MATROXFB_CID_DEFLICKER, 65 MATROXFB_CID_LAST 66 }; 67 68 69 #define MATROXFB_TVOQUERYCTRL _IOWR('V',36,struct matroxfb_queryctrl) 70 71 struct matroxfb_control { 72 __u32 id; /* A driver-defined ID */ 73 int value; /* The current value, or new value */ 74 }; 75 76 #define MATROXFB_G_TVOCTRL _IOWR('V',27,struct matroxfb_control) 77 #define MATROXFB_S_TVOCTRL _IOW ('V',28,struct matroxfb_control) 78 79 #define FBIO_WAITFORVSYNC _IOW('F', 0x20, u_int32_t) 80 81 #endif 82 83