blob: 696760af520420064886ca9c01812e3a4f7b8e3c [file] [log] [blame]
#ifndef __LINUX_MATROXFB_H__
#define __LINUX_MATROXFB_H__
#include <asm/ioctl.h>
#include <asm/types.h>
struct matroxioc_output_mode {
__u32 output; /* which output */
#define MATROXFB_OUTPUT_PRIMARY 0x0000
#define MATROXFB_OUTPUT_SECONDARY 0x0001
#define MATROXFB_OUTPUT_DFP 0x0002
__u32 mode; /* which mode */
#define MATROXFB_OUTPUT_MODE_PAL 0x0001
#define MATROXFB_OUTPUT_MODE_NTSC 0x0002
#define MATROXFB_OUTPUT_MODE_MONITOR 0x0080
};
#define MATROXFB_SET_OUTPUT_MODE _IOW('n',0xFA,sizeof(struct matroxioc_output_mode))
#define MATROXFB_GET_OUTPUT_MODE _IOWR('n',0xFA,sizeof(struct matroxioc_output_mode))
/* bitfield */
#define MATROXFB_OUTPUT_CONN_PRIMARY (1 << MATROXFB_OUTPUT_PRIMARY)
#define MATROXFB_OUTPUT_CONN_SECONDARY (1 << MATROXFB_OUTPUT_SECONDARY)
#define MATROXFB_OUTPUT_CONN_DFP (1 << MATROXFB_OUTPUT_DFP)
/* connect these outputs to this framebuffer */
#define MATROXFB_SET_OUTPUT_CONNECTION _IOW('n',0xF8,sizeof(__u32))
/* which outputs are connected to this framebuffer */
#define MATROXFB_GET_OUTPUT_CONNECTION _IOR('n',0xF8,sizeof(__u32))
/* which outputs are available for this framebuffer */
#define MATROXFB_GET_AVAILABLE_OUTPUTS _IOR('n',0xF9,sizeof(__u32))
/* which outputs exist on this framebuffer */
#define MATROXFB_GET_ALL_OUTPUTS _IOR('n',0xFB,sizeof(__u32))
struct matroxfb_queryctrl {
__u32 id; /* ID for control */
char name[32]; /* A suggested label for this control */
int minimum; /* Minimum value */
int maximum; /* Maximum value */
unsigned int step; /* The increment between values of an integer
control that are distinct on the hardware */
int default_value; /* Driver default value */
__u32 type; /* Control type. */
__u32 flags; /* Control flags */
__u32 category; /* Control category code, useful for
separating controls by function */
char group[32]; /* A suggested label string for the
control group */
__u32 reserved[2];
};
enum matroxfb_ctrl_type {
MATROXFB_CTRL_TYPE_INTEGER=0, /* An integer-valued control */
MATROXFB_CTRL_TYPE_BOOLEAN, /* A boolean-valued control */
MATROXFB_CTRL_TYPE_MENU, /* The control has a menu of choices */
MATROXFB_CTRL_TYPE_BUTTON /* A button which performs an action when clicked */
};
enum matroxfb_ctrl_id {
MATROXFB_CID_BRIGHTNESS=0x00980900,
MATROXFB_CID_CONTRAST,
MATROXFB_CID_SATURATION,
MATROXFB_CID_HUE,
MATROXFB_CID_GAMMA =0x00980910,
MATROXFB_CID_TESTOUT =0x08000000,
MATROXFB_CID_DEFLICKER,
MATROXFB_CID_LAST
};
#define MATROXFB_TVOQUERYCTRL _IOWR('V',36,struct matroxfb_queryctrl)
struct matroxfb_control {
__u32 id; /* A driver-defined ID */
int value; /* The current value, or new value */
};
#define MATROXFB_G_TVOCTRL _IOWR('V',27,struct matroxfb_control)
#define MATROXFB_S_TVOCTRL _IOW ('V',28,struct matroxfb_control)
#define FBIO_WAITFORVSYNC _IOW('F', 0x20, u_int32_t)
#endif