From 544393fe584d333480659a4bed30f5295355df11 Mon Sep 17 00:00:00 2001 From: Thomas Winischhofer Date: Fri, 9 Sep 2005 13:04:45 -0700 Subject: [PATCH] sisfb update This lifts sisfb from version 1.7.17 to version 1.8.9. Changes include: - Added support for XGI V3XT, V5, V8, Z7 chipsets, including POSTing of all of these chipsets. - Added support for latest SiS chipsets (761). - Added support for SiS76x memory "hybrid" mode. - Added support for new LCD resolutions (eg 1280x854, 856x480). - Fixed support for 320x240 STN panels (for embedded devices). - Fixed many HDTV modes (525p, 750p, 1080i). - Fixed PCI config register reading/writing to use proper kernel functions for this purpose. - Fixed PCI ROM handling to use the kernel's proper functions. - Removed lots of "typedef"s. - Removed lots of code which was for X.org/XFree86 only. - Fixed coding style in many places. - Removed lots of 2.4 cruft. - Reduced stack size by unifying two previously separate structs into one. - Added new hooks for memory allocation (for DRM). Now the driver can truly handle multiple cards, including memory management. - Fixed numerous minor bugs. Signed-off-by: Thomas Winischhofer Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/video/sis/oem300.h | 335 +++++++++++++++++++++------------------------ 1 file changed, 158 insertions(+), 177 deletions(-) (limited to 'drivers/video/sis/oem300.h') diff --git a/drivers/video/sis/oem300.h b/drivers/video/sis/oem300.h index b1358b750f53..b73f26840143 100644 --- a/drivers/video/sis/oem300.h +++ b/drivers/video/sis/oem300.h @@ -3,7 +3,7 @@ /* * OEM Data for 300 series * - * Copyright (C) 2001-2004 by Thomas Winischhofer, Vienna, Austria + * Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria * * If distributed as part of the Linux kernel, the following license terms * apply: @@ -50,7 +50,7 @@ * */ -static const UCHAR SiS300_OEMTVDelay301[8][4] = +static const unsigned char SiS300_OEMTVDelay301[8][4] = { {0x08,0x08,0x08,0x08}, {0x08,0x08,0x08,0x08}, @@ -62,7 +62,7 @@ static const UCHAR SiS300_OEMTVDelay301[8][4] = {0x20,0x20,0x20,0x20} }; -static const UCHAR SiS300_OEMTVDelayLVDS[8][4] = +static const unsigned char SiS300_OEMTVDelayLVDS[8][4] = { {0x20,0x20,0x20,0x20}, {0x20,0x20,0x20,0x20}, @@ -74,7 +74,7 @@ static const UCHAR SiS300_OEMTVDelayLVDS[8][4] = {0x20,0x20,0x20,0x20} }; -static const UCHAR SiS300_OEMTVFlicker[8][4] = +static const unsigned char SiS300_OEMTVFlicker[8][4] = { {0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00}, @@ -86,25 +86,7 @@ static const UCHAR SiS300_OEMTVFlicker[8][4] = {0x00,0x00,0x00,0x00} }; -#if 0 /* TW: Not used */ -static const UCHAR SiS300_OEMLCDDelay1[12][4]={ - {0x2c,0x2c,0x2c,0x2c}, - {0x20,0x20,0x20,0x20}, - {0x20,0x20,0x20,0x20}, - {0x2c,0x2c,0x2c,0x2c}, - {0x2c,0x2c,0x2c,0x2c}, - {0x20,0x20,0x20,0x20}, - {0x20,0x20,0x20,0x20}, - {0x24,0x24,0x24,0x24}, - {0x24,0x24,0x24,0x24}, - {0x20,0x20,0x20,0x20}, - {0x20,0x20,0x20,0x20}, - {0x24,0x24,0x24,0x24} -}; -#endif - -/* From 630/301B BIOS */ -static const UCHAR SiS300_OEMLCDDelay2[64][4] = /* for 301/301b/302b/301LV/302LV */ +static const unsigned char SiS300_OEMLCDDelay2[64][4] = /* for 301/301b/302b/301LV/302LV */ { {0x20,0x20,0x20,0x20}, {0x20,0x20,0x20,0x20}, @@ -172,8 +154,7 @@ static const UCHAR SiS300_OEMLCDDelay2[64][4] = /* for 301/301b/302b/301LV/302 {0x20,0x20,0x20,0x20} }; -/* From 300/301LV BIOS */ -static const UCHAR SiS300_OEMLCDDelay4[12][4] = +static const unsigned char SiS300_OEMLCDDelay4[12][4] = { {0x2c,0x2c,0x2c,0x2c}, {0x20,0x20,0x20,0x20}, @@ -189,8 +170,7 @@ static const UCHAR SiS300_OEMLCDDelay4[12][4] = {0x24,0x24,0x24,0x24} }; -/* From 300/301LV BIOS */ -static const UCHAR SiS300_OEMLCDDelay5[32][4] = +static const unsigned char SiS300_OEMLCDDelay5[32][4] = { {0x20,0x20,0x20,0x20}, {0x20,0x20,0x20,0x20}, @@ -226,8 +206,8 @@ static const UCHAR SiS300_OEMLCDDelay5[32][4] = {0x20,0x20,0x20,0x20}, }; -/* Added for LVDS */ -static const UCHAR SiS300_OEMLCDDelay3[64][4] = { /* For LVDS */ +static const unsigned char SiS300_OEMLCDDelay3[64][4] = /* For LVDS */ +{ {0x20,0x20,0x20,0x20}, {0x20,0x20,0x20,0x20}, {0x20,0x20,0x20,0x20}, @@ -294,7 +274,7 @@ static const UCHAR SiS300_OEMLCDDelay3[64][4] = { /* For LVDS */ {0x20,0x20,0x20,0x20} }; -static const UCHAR SiS300_Phase1[8][5][4] = +static const unsigned char SiS300_Phase1[8][5][4] = { { {0x21,0xed,0x00,0x08}, @@ -354,11 +334,10 @@ static const UCHAR SiS300_Phase1[8][5][4] = } }; - -static const UCHAR SiS300_Phase2[8][5][4] = +static const unsigned char SiS300_Phase2[8][5][4] = { { - {0x21,0xed,0x00,0x08}, + {0x21,0xed,0x00,0x08}, {0x21,0xed,0x8a,0x08}, {0x21,0xed,0x8a,0x08}, {0x21,0xed,0x8a,0x08}, @@ -372,42 +351,42 @@ static const UCHAR SiS300_Phase2[8][5][4] = {0x2a,0x05,0xd3,0x00} }, { - {0x2a,0x05,0xd3,0x00}, + {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00} }, { - {0x2a,0x05,0xd3,0x00}, + {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00} }, { - {0x21,0xed,0x00,0x08}, + {0x21,0xed,0x00,0x08}, {0x21,0xed,0x8a,0x08}, {0x21,0xed,0x8a,0x08}, {0x21,0xed,0x8a,0x08}, {0x21,0xed,0x8a,0x08} }, { - {0x2a,0x05,0xd3,0x00}, + {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00} }, { - {0x2a,0x05,0xd3,0x00}, + {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00} }, { - {0x2a,0x05,0xd3,0x00}, + {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00}, {0x2a,0x05,0xd3,0x00}, @@ -415,7 +394,7 @@ static const UCHAR SiS300_Phase2[8][5][4] = } }; -static const UCHAR SiS300_Filter1[10][16][4] = +static const unsigned char SiS300_Filter1[10][16][4] = { { {0x00,0xf4,0x10,0x38}, @@ -599,7 +578,7 @@ static const UCHAR SiS300_Filter1[10][16][4] = }, }; -static const UCHAR SiS300_Filter2[10][9][7] = +static const unsigned char SiS300_Filter2[10][9][7] = { { {0xFF,0x03,0x02,0xF6,0xFC,0x27,0x46}, @@ -714,142 +693,144 @@ static const UCHAR SiS300_Filter2[10][9][7] = }; /* Custom data for Barco iQ Pro R300 */ -static const UCHAR barco_p1[2][9][7][3] = { - { - { { 0x16, 0xcf, 0x00 }, - { 0x18, 0x00, 0x00 }, - { 0x1a, 0xe7, 0x00 }, - { 0x1b, 0x26, 0x00 }, - { 0x1c, 0xff, 0x00 }, - { 0x1d, 0x1c, 0x00 }, - { 0x1e, 0x19, 0x00 } - }, - { - { 0x16, 0xcf, 0x00 }, - { 0x18, 0x00, 0x00 }, - { 0x1a, 0xe7, 0x00 }, - { 0x1b, 0x1e, 0x00 }, - { 0x1c, 0xff, 0x00 }, - { 0x1d, 0x1c, 0x00 }, - { 0x1e, 0x16, 0x00 } - }, - { - { 0x16, 0xcf, 0x00 }, - { 0x1a, 0xe7, 0x00 }, - { 0x1b, 0x26, 0x00 }, - { 0x1c, 0xff, 0x00 }, - { 0x1d, 0x1c, 0x00 }, - { 0x1e, 0x19, 0x00 }, - { 0, 0, 0 } - }, - { - { 0, 0, 0 } - }, - { - { 0x16, 0xcf, 0x00 }, - { 0x1a, 0xe7, 0x00 }, - { 0x1b, 0x26, 0x00 }, - { 0x1c, 0xff, 0x00 }, - { 0x1d, 0x1c, 0x00 }, - { 0x1e, 0x1e, 0x00 }, - { 0, 0, 0 } - }, - { - { 0x16, 0xd1, 0x00 }, - { 0x18, 0x00, 0x00 }, - { 0x1a, 0xe7, 0x00 }, - { 0x1b, 0x11, 0x00 }, - { 0x1c, 0xff, 0x00 }, - { 0x1d, 0x1c, 0x00 }, - { 0x1e, 0x26, 0x00 } - }, - { - { 0x16, 0xd1, 0x00 }, - { 0x1a, 0xe7, 0x00 }, - { 0x1b, 0x26, 0x00 }, - { 0x1c, 0xff, 0x00 }, - { 0x1d, 0x1c, 0x00 }, - { 0x1e, 0x30, 0x00 }, - { 0, 0, 0 } - }, - { - { 0x16, 0x00, 0x00 }, - { 0x17, 0xa0, 0x00 }, - { 0x1a, 0xa0, 0x00 }, - { 0x1b, 0x2a, 0x00 }, - { 0x1c, 0xff, 0x00 }, - { 0x1d, 0x1c, 0x00 }, - { 0, 0, 0 } - }, - { - { 0x16, 0x00, 0x00 }, - { 0x17, 0xaa, 0x00 }, - { 0x1a, 0xa0, 0x00 }, - { 0x1b, 0x2a, 0x00 }, - { 0x1c, 0xff, 0x00 }, - { 0x1d, 0x1c, 0x00 }, - { 0, 0, 0 } - } - }, - { - { - { 0x16, 0xcf, 0x00 }, - { 0x18, 0x00, 0x00 }, - { 0x1a, 0xe7, 0x00 }, - { 0x1b, 0x26, 0x00 }, - { 0x1c, 0xff, 0x00 }, - { 0x1d, 0x1c, 0x00 }, - { 0x1e, 0x19, 0x00 } - }, - { - { 0, 0, 0 } - }, - { - { 0x16, 0xcf, 0x00 }, - { 0x18, 0x00, 0x00 }, - { 0x1a, 0xe7, 0x00 }, - { 0x1b, 0x26, 0x00 }, - { 0x1c, 0xff, 0x00 }, - { 0x1d, 0x1c, 0x00 }, - { 0x1e, 0x19, 0x00 }, - }, - { - { 0, 0, 0 } - }, - { - { 0x16, 0xcf, 0x00 }, - { 0x18, 0x00, 0x00 }, - { 0x1a, 0xe7, 0x00 }, - { 0x1b, 0x26, 0x00 }, - { 0x1c, 0xff, 0x00 }, - { 0x1d, 0x1c, 0x00 }, - { 0x1e, 0x1e, 0x00 } - }, - { - { 0x16, 0xd1, 0x00 }, - { 0x18, 0x00, 0x00 }, - { 0x1a, 0xe6, 0x00 }, - { 0x1b, 0x11, 0x00 }, - { 0x1c, 0xff, 0x00 }, - { 0x1d, 0x1c, 0x00 }, - { 0x1e, 0x26, 0x00 } - }, - { - { 0x18, 0x00, 0x00 }, - { 0x1a, 0xe0, 0x00 }, - { 0x1b, 0x26, 0x00 }, - { 0x1c, 0xff, 0x00 }, - { 0x1d, 0x1c, 0x00 }, - { 0x1e, 0x30, 0x00 }, - { 0, 0, 0 } - }, - { - { 0, 0, 0 } - }, - { - { 0, 0, 0 } - } - } +static const unsigned char barco_p1[2][9][7][3] = +{ + { + { + { 0x16, 0xcf, 0x00 }, + { 0x18, 0x00, 0x00 }, + { 0x1a, 0xe7, 0x00 }, + { 0x1b, 0x26, 0x00 }, + { 0x1c, 0xff, 0x00 }, + { 0x1d, 0x1c, 0x00 }, + { 0x1e, 0x19, 0x00 } + }, + { + { 0x16, 0xcf, 0x00 }, + { 0x18, 0x00, 0x00 }, + { 0x1a, 0xe7, 0x00 }, + { 0x1b, 0x1e, 0x00 }, + { 0x1c, 0xff, 0x00 }, + { 0x1d, 0x1c, 0x00 }, + { 0x1e, 0x16, 0x00 } + }, + { + { 0x16, 0xcf, 0x00 }, + { 0x1a, 0xe7, 0x00 }, + { 0x1b, 0x26, 0x00 }, + { 0x1c, 0xff, 0x00 }, + { 0x1d, 0x1c, 0x00 }, + { 0x1e, 0x19, 0x00 }, + { 0, 0, 0 } + }, + { + { 0, 0, 0 } + }, + { + { 0x16, 0xcf, 0x00 }, + { 0x1a, 0xe7, 0x00 }, + { 0x1b, 0x26, 0x00 }, + { 0x1c, 0xff, 0x00 }, + { 0x1d, 0x1c, 0x00 }, + { 0x1e, 0x1e, 0x00 }, + { 0, 0, 0 } + }, + { + { 0x16, 0xd1, 0x00 }, + { 0x18, 0x00, 0x00 }, + { 0x1a, 0xe7, 0x00 }, + { 0x1b, 0x11, 0x00 }, + { 0x1c, 0xff, 0x00 }, + { 0x1d, 0x1c, 0x00 }, + { 0x1e, 0x26, 0x00 } + }, + { + { 0x16, 0xd1, 0x00 }, + { 0x1a, 0xe7, 0x00 }, + { 0x1b, 0x26, 0x00 }, + { 0x1c, 0xff, 0x00 }, + { 0x1d, 0x1c, 0x00 }, + { 0x1e, 0x30, 0x00 }, + { 0, 0, 0 } + }, + { + { 0x16, 0x00, 0x00 }, + { 0x17, 0xa0, 0x00 }, + { 0x1a, 0xa0, 0x00 }, + { 0x1b, 0x2a, 0x00 }, + { 0x1c, 0xff, 0x00 }, + { 0x1d, 0x1c, 0x00 }, + { 0, 0, 0 } + }, + { + { 0x16, 0x00, 0x00 }, + { 0x17, 0xaa, 0x00 }, + { 0x1a, 0xa0, 0x00 }, + { 0x1b, 0x2a, 0x00 }, + { 0x1c, 0xff, 0x00 }, + { 0x1d, 0x1c, 0x00 }, + { 0, 0, 0 } + } + }, + { + { + { 0x16, 0xcf, 0x00 }, + { 0x18, 0x00, 0x00 }, + { 0x1a, 0xe7, 0x00 }, + { 0x1b, 0x26, 0x00 }, + { 0x1c, 0xff, 0x00 }, + { 0x1d, 0x1c, 0x00 }, + { 0x1e, 0x19, 0x00 } + }, + { + { 0, 0, 0 } + }, + { + { 0x16, 0xcf, 0x00 }, + { 0x18, 0x00, 0x00 }, + { 0x1a, 0xe7, 0x00 }, + { 0x1b, 0x26, 0x00 }, + { 0x1c, 0xff, 0x00 }, + { 0x1d, 0x1c, 0x00 }, + { 0x1e, 0x19, 0x00 }, + }, + { + { 0, 0, 0 } + }, + { + { 0x16, 0xcf, 0x00 }, + { 0x18, 0x00, 0x00 }, + { 0x1a, 0xe7, 0x00 }, + { 0x1b, 0x26, 0x00 }, + { 0x1c, 0xff, 0x00 }, + { 0x1d, 0x1c, 0x00 }, + { 0x1e, 0x1e, 0x00 } + }, + { + { 0x16, 0xd1, 0x00 }, + { 0x18, 0x00, 0x00 }, + { 0x1a, 0xe6, 0x00 }, + { 0x1b, 0x11, 0x00 }, + { 0x1c, 0xff, 0x00 }, + { 0x1d, 0x1c, 0x00 }, + { 0x1e, 0x26, 0x00 } + }, + { + { 0x18, 0x00, 0x00 }, + { 0x1a, 0xe0, 0x00 }, + { 0x1b, 0x26, 0x00 }, + { 0x1c, 0xff, 0x00 }, + { 0x1d, 0x1c, 0x00 }, + { 0x1e, 0x30, 0x00 }, + { 0, 0, 0 } + }, + { + { 0, 0, 0 } + }, + { + { 0, 0, 0 } + } + } }; -- cgit v1.2.3