drivers/video/fbdev/sis/oem310.h

Source file repositories/reference/linux-study-clean/drivers/video/fbdev/sis/oem310.h

File Facts

System
Linux kernel
Corpus path
drivers/video/fbdev/sis/oem310.h
Extension
.h
Size
12667 bytes
Lines
433
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

static const unsigned char SiS310_LCDDelayCompensation_301[] =	    		/* 301 */
{
	0x00,0x00,0x00,    /*   800x600 */
	0x0b,0x0b,0x0b,    /*  1024x768 */
	0x08,0x08,0x08,    /* 1280x1024 */
	0x00,0x00,0x00,    /*   640x480 (unknown) */
	0x00,0x00,0x00,    /*  1024x600 (unknown) */
	0x00,0x00,0x00,    /*  1152x864 (unknown) */
	0x08,0x08,0x08,    /*  1280x960 (guessed) */
	0x00,0x00,0x00,    /*  1152x768 (unknown) */
	0x08,0x08,0x08,    /* 1400x1050 */
	0x08,0x08,0x08,    /*  1280x768  (guessed) */
	0x00,0x00,0x00,    /* 1600x1200 */
	0x00,0x00,0x00,    /*   320x480 (unknown) */
	0x00,0x00,0x00,
	0x00,0x00,0x00,
	0x00,0x00,0x00
};

/* This is contained in 650+301B BIOSes, but it is wrong - so we don't use it */
static const unsigned char SiS310_LCDDelayCompensation_650301LV[] =	   	/* 650 + 30xLV */
{
	0x01,0x01,0x01,    /*   800x600 */
	0x01,0x01,0x01,    /*  1024x768 */
	0x01,0x01,0x01,    /* 1280x1024 */
	0x01,0x01,0x01,    /*   640x480 (unknown) */
	0x01,0x01,0x01,    /*  1024x600 (unknown) */
	0x01,0x01,0x01,    /*  1152x864 (unknown) */
	0x01,0x01,0x01,    /*  1280x960 (guessed) */
	0x01,0x01,0x01,    /*  1152x768 (unknown) */
	0x01,0x01,0x01,    /* 1400x1050 */
	0x01,0x01,0x01,    /*  1280x768  (guessed) */
	0x01,0x01,0x01,    /* 1600x1200 */
	0x02,0x02,0x02,
	0x02,0x02,0x02,
	0x02,0x02,0x02,
	0x02,0x02,0x02
};

static const unsigned char SiS310_LCDDelayCompensation_651301LV[] =	  	/* M650/651 301LV */
{
	0x33,0x33,0x33,    /*   800x600 (guessed) - new: PanelType, not PanelRes ! */
	0x33,0x33,0x33,    /*  1024x768 */
	0x33,0x33,0x33,    /* 1280x1024 */
	0x33,0x33,0x33,    /*   640x480 (unknown) */
	0x33,0x33,0x33,    /*  1024x600 (unknown) */
	0x33,0x33,0x33,    /*  1152x864 (unknown) */
	0x33,0x33,0x33,    /*  1280x960 (guessed) */
	0x33,0x33,0x33,    /*  1152x768 (unknown) */
	0x33,0x33,0x33,    /* 1400x1050 */
	0x33,0x33,0x33,    /*  1280x768  (guessed) */
	0x33,0x33,0x33,    /* 1600x1200 */
	0x33,0x33,0x33,
	0x33,0x33,0x33,
	0x33,0x33,0x33,
	0x33,0x33,0x33
};

static const unsigned char SiS310_LCDDelayCompensation_651302LV[] =	   	/* M650/651 302LV */
{
	0x33,0x33,0x33,    /*   800x600 (guessed) */
	0x33,0x33,0x33,    /*  1024x768 */
	0x33,0x33,0x33,    /* 1280x1024 */
	0x33,0x33,0x33,    /*   640x480 (unknown) */
	0x33,0x33,0x33,    /*  1024x600 (unknown) */
	0x33,0x33,0x33,    /*  1152x864 (unknown) */
	0x33,0x33,0x33,    /*  1280x960 (guessed) */
	0x33,0x33,0x33,    /*  1152x768 (unknown) */
	0x33,0x33,0x33,    /* 1400x1050 */
	0x33,0x33,0x33,    /*  1280x768  (guessed) */
	0x33,0x33,0x33,    /* 1600x1200 */
	0x33,0x33,0x33,
	0x33,0x33,0x33,
	0x33,0x33,0x33,
	0x33,0x33,0x33
};

static const unsigned char SiS310_LCDDelayCompensation_3xx301B[] =	   	/* 30xB */
{
	0x01,0x01,0x01,    /*   800x600 */
	0x0C,0x0C,0x0C,    /*  1024x768 */
	0x0C,0x0C,0x0C,    /* 1280x1024 */
	0x08,0x08,0x08,    /*   640x480 */
	0x0C,0x0C,0x0C,    /*  1024x600 (guessed) */
	0x0C,0x0C,0x0C,    /*  1152x864 (guessed) */
	0x0C,0x0C,0x0C,    /*  1280x960 (guessed) */
	0x0C,0x0C,0x0C,    /*  1152x768 (guessed) */
	0x0C,0x0C,0x0C,    /* 1400x1050 (guessed) */
	0x0C,0x0C,0x0C,    /*  1280x768 (guessed) */
	0x0C,0x0C,0x0C,    /* 1600x1200 (guessed) */

Annotation

Implementation Notes