summaryrefslogtreecommitdiff
path: root/xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c
diff options
context:
space:
mode:
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.c62
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