diff options
Diffstat (limited to 'xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c')
-rw-r--r-- | xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c | 62 |
1 files changed, 20 insertions, 42 deletions
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c b/xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c index a8a574d1a..191984040 100644 --- a/xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c +++ b/xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c @@ -28,7 +28,7 @@ * Massimiliano Ghilardi, max@Linuz.sns.it, some fixes to the * clockchip programming code. */ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c,v 1.108 2000/11/03 18:46:14 eich Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c,v 1.111 2000/11/26 10:08:52 alanh Exp $ */ #include "xf1bpp.h" #include "xf4bpp.h" @@ -143,7 +143,7 @@ static SymTabRec TRIDENTChipsets[] = { { CYBER9397DVD, "cyber9397dvd" }, { CYBER9520, "cyber9520" }, { CYBER9525DVD, "cyber9525dvd" }, - { CYBER9540, "cyber9540" }, + { CYBERBLADEE4, "cyberblade/e4" }, { TGUI9420DGi, "tgui9420dgi" }, { TGUI9440AGi, "tgui9440agi" }, { TGUI9660, "tgui9660" }, @@ -174,7 +174,7 @@ static PciChipsets TRIDENTPciChipsets[] = { { CYBER9397DVD, PCI_CHIP_939A, RES_SHARED_VGA }, { CYBER9520, PCI_CHIP_9520, RES_SHARED_VGA }, { CYBER9525DVD, PCI_CHIP_9525, RES_SHARED_VGA }, - { CYBER9540, PCI_CHIP_9540, RES_SHARED_VGA }, + { CYBERBLADEE4, PCI_CHIP_9540, RES_SHARED_VGA }, { TGUI9420DGi, PCI_CHIP_9420, RES_SHARED_VGA }, { TGUI9440AGi, PCI_CHIP_9440, RES_SHARED_VGA }, { TGUI9660, PCI_CHIP_9660, RES_SHARED_VGA }, @@ -425,8 +425,8 @@ static int ClockLimit32bpp[] = { tridentLCD LCD[] = { /* 0 3 4 5 6 7 10 11 16 */ { 0,"640x480",25200,0x5f,0x82,0x54,0x80,0xb,0x3e,0xea,0x8c,0xb,0x08}, { 1,"800x600",40000,0x7f,0x99,0x69,0x99,0x72,0xf0,0x59,0x2d,0x5e,0x08}, - { 2,"1024x768",65000,0xa3,0x6,0x8f,0xa0,0x24,0xf5,0x0f,0x25,0x96,0x08}, - { 3,"1024x768",65000,0xa3,0x6,0x8f,0xa0,0x24,0xf5,0x0f,0x25,0x96,0x08}, /*0x96*/ + { 2,"1024x768",65000,0xa3,/*0x6*/ 0x98,0x8f,0xa0,0x24,0xf5,0x0f,0x25,0x96,0x08}, + { 3,"1024x768",65000,0xa3,/*0x6*/ 0x98,0x8f,0xa0,0x24,0xf5,0x0f,0x25,0x96,0x08}, /*0x96*/ { 4,"1280x1024",108000,0xa3,0x6,0x8f,0xa0,0x24,0xf5,0x0f,0x25,0x96,0x08}, { 5,"1024x600",50500 ,0xa3,0x6,0x8f,0xa0,0xb,0x3e,0xea,0x8c,0xb,0x08}, { 0xff,"", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } @@ -435,7 +435,7 @@ tridentLCD LCD[] = { /* 0 3 4 5 6 7 10 11 16 */ tridentLCD LCD[] = { { 1,"640x480",25200,0x5f,0x82,0x54,0x80,0xb,0x3e,0xea,0x8c,0xb,0x08}, { 3,"800x600",40000,0x7f,0x82,0x6b,0x1b,0x72,0xf8,0x58,0x8c,0x72,0x08}, - { 2,"1024x768",65000,0xa3,0x6,0x8f,0xa0,0x24,0xf5,0x0f,0x24,0x0a,0x08}, + { 2,"1024x768",65000,0xa3,/*0x6*/0x98,0x8f,0xa0,0x24,0xf5,0x0f,0x24,0x0a,0x08}, { 0,"1280x1024",108000,0xce,0x81,0xa6,0x9a,0x27,0x50,0x00,0x03,0x26,0xa8}, { 0xff,"", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }; @@ -1584,19 +1584,12 @@ TRIDENTPreInit(ScrnInfoPtr pScrn, int flags) chipset = "Cyber 9525/DVD"; pTrident->NewClockCode = TRUE; break; - case CYBER9540: + case CYBERBLADEE4: pTrident->ddc1Read = Tridentddc1Read; - if ((INB(vgaIOBase + 5) & 0x0C) == 0x04) - ramtype = "EDO Ram"; - if ((INB(vgaIOBase + 5) & 0x0C) == 0x08) - ramtype = "SDRAM"; - if ((INB(vgaIOBase + 5) & 0x0C) == 0x0C) { - pTrident->HasSGRAM = TRUE; - ramtype = "SGRAM"; - } + ramtype = "SDRAM"; pTrident->IsCyber = TRUE; Support24bpp = TRUE; - chipset = "Cyber 9540"; + chipset = "CyberBlade e4/128"; pTrident->NewClockCode = TRUE; break; case IMAGE975: @@ -1642,12 +1635,7 @@ TRIDENTPreInit(ScrnInfoPtr pScrn, int flags) break; case CYBERBLADEI7: pTrident->ddc1Read = Tridentddc1Read; - if ((INB(vgaIOBase + 5) & 0x0C) == 0x08) - ramtype = "SDRAM"; - if ((INB(vgaIOBase + 5) & 0x0C) == 0x0C) { - pTrident->HasSGRAM = TRUE; - ramtype = "SGRAM"; - } + ramtype = "SDRAM"; pTrident->IsCyber = TRUE; Support24bpp = TRUE; chipset = "CyberBlade/i7"; @@ -1656,12 +1644,7 @@ TRIDENTPreInit(ScrnInfoPtr pScrn, int flags) break; case CYBERBLADEI7D: pTrident->ddc1Read = Tridentddc1Read; - if ((INB(vgaIOBase + 5) & 0x0C) == 0x08) - ramtype = "SDRAM"; - if ((INB(vgaIOBase + 5) & 0x0C) == 0x0C) { - pTrident->HasSGRAM = TRUE; - ramtype = "SGRAM"; - } + ramtype = "SDRAM"; pTrident->IsCyber = TRUE; Support24bpp = TRUE; chipset = "CyberBlade/DSTN/i7"; @@ -1670,12 +1653,7 @@ TRIDENTPreInit(ScrnInfoPtr pScrn, int flags) break; case CYBERBLADEI1: pTrident->ddc1Read = Tridentddc1Read; - if ((INB(vgaIOBase + 5) & 0x0C) == 0x08) - ramtype = "SDRAM"; - if ((INB(vgaIOBase + 5) & 0x0C) == 0x0C) { - pTrident->HasSGRAM = TRUE; - ramtype = "SGRAM"; - } + ramtype = "SDRAM"; pTrident->IsCyber = TRUE; Support24bpp = TRUE; chipset = "CyberBlade/i1"; @@ -1684,12 +1662,7 @@ TRIDENTPreInit(ScrnInfoPtr pScrn, int flags) break; case CYBERBLADEI1D: pTrident->ddc1Read = Tridentddc1Read; - if ((INB(vgaIOBase + 5) & 0x0C) == 0x08) - ramtype = "SDRAM"; - if ((INB(vgaIOBase + 5) & 0x0C) == 0x0C) { - pTrident->HasSGRAM = TRUE; - ramtype = "SGRAM"; - } + ramtype = "SDRAM"; pTrident->IsCyber = TRUE; Support24bpp = TRUE; chipset = "CyberBlade/DSTN/i1"; @@ -1750,9 +1723,13 @@ TRIDENTPreInit(ScrnInfoPtr pScrn, int flags) case 0x04: /* 8MB, but - hw cursor can't store above 4MB */ /* So, we force to 4MB for now */ /* pScrn->videoRam = 8192; */ + + if (pTrident->HWCursor) { xf86DrvMsg(pScrn->scrnIndex, X_PROBED, - "Found 8MB board, using 4MB\n"); + "Found 8MB board, using 4MB\n"); pScrn->videoRam = 4096; + } else + pScrn->videoRam = 8192; break; case 0x07: pScrn->videoRam = 2048; @@ -2202,7 +2179,7 @@ TRIDENTModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) case CYBERBLADEI1D: case CYBER9520: case CYBER9525DVD: - case CYBER9540: + case CYBERBLADEE4: case CYBER9397: case CYBER9397DVD: /* Get ready for MUX mode */ @@ -2499,6 +2476,7 @@ TRIDENTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) (pTrident->Chipset == CYBERBLADEI7D) || (pTrident->Chipset == CYBERBLADEI1) || (pTrident->Chipset == CYBERBLADEI1D) || + (pTrident->Chipset == CYBERBLADEE4) || (pTrident->Chipset == BLADE3D)) BladeAccelInit(pScreen); else |