drivers/video/fbdev/via/ioctl.h

Source file repositories/reference/linux-study-clean/drivers/video/fbdev/via/ioctl.h

File Facts

System
Linux kernel
Corpus path
drivers/video/fbdev/via/ioctl.h
Extension
.h
Size
4982 bytes
Lines
190
Domain
Driver Families
Bucket
drivers/video
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct device_t {
	unsigned short crt:1;
	unsigned short dvi:1;
	unsigned short lcd:1;
	unsigned short samm:1;
	unsigned short lcd_dsp_cent:1;
	unsigned char lcd_mode:1;
	unsigned short epia_dvi:1;
	unsigned short lcd_dual_edge:1;
	unsigned short lcd2:1;

	unsigned short primary_dev;
	unsigned char lcd_panel_id;
	unsigned short xres, yres;
	unsigned short xres1, yres1;
	unsigned short refresh;
	unsigned short bpp;
	unsigned short refresh1;
	unsigned short bpp1;
	unsigned short sequence;
	unsigned short bus_width;
};

struct viafb_ioctl_info {
	u32 viafb_id;		/* for identifying viafb */
#define VIAID       0x56494146	/* Identify myself with 'VIAF' */
	u16 vendor_id;
	u16 device_id;
	u8 version;
	u8 revision;
	u8 reserved[246];	/* for future use */
};

struct viafb_ioctl_mode {
	u32 xres;
	u32 yres;
	u32 refresh;
	u32 bpp;
	u32 xres_sec;
	u32 yres_sec;
	u32 virtual_xres_sec;
	u32 virtual_yres_sec;
	u32 refresh_sec;
	u32 bpp_sec;
};
struct viafb_ioctl_samm {
	u32 samm_status;
	u32 size_prim;
	u32 size_sec;
	u32 mem_base;
	u32 offset_sec;
};

struct viafb_driver_version {
	int iMajorNum;
	int iKernelNum;
	int iOSNum;
	int iMinorNum;
};

struct viafb_ioctl_lcd_attribute {
	unsigned int panel_id;
	unsigned int display_center;
	unsigned int lcd_mode;
};

struct viafb_ioctl_setting {
	/* Enable or disable active devices */
	unsigned short device_flag;
	/* Indicate which device should be turn on or turn off. */
	unsigned short device_status;
	unsigned int reserved;
	/* Indicate which LCD's attribute can be changed. */
	unsigned short lcd_operation_flag;
	/* 1: SAMM ON  0: SAMM OFF */
	unsigned short samm_status;
	/* horizontal resolution of first device */
	unsigned short first_dev_hor_res;
	/* vertical resolution of first device */
	unsigned short first_dev_ver_res;
	/* horizontal resolution of second device */
	unsigned short second_dev_hor_res;
	/* vertical resolution of second device */
	unsigned short second_dev_ver_res;
	/* refresh rate of first device */
	unsigned short first_dev_refresh;
	/* bpp of first device */
	unsigned short first_dev_bpp;
	/* refresh rate of second device */
	unsigned short second_dev_refresh;

Annotation

Implementation Notes