clean
[linux-2.4.21-pre4.git] / include / linux / matroxfb.h
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 #endif
80