aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrzysztof Helt <krzysztof.h1@wp.pl>2008-07-24 00:30:58 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-24 13:47:35 -0400
commita0d922562d56073f147a4de2983bee499dd2a10e (patch)
tree86fce6fb130a67888c89644416fa4e78c0f1fb7e
parent0e73a47f094a919e2edeaa88e840cd0400adc423 (diff)
tridentfb: add TGUI 9440 support
Add support for TGUI 9440 chip. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/video/tridentfb.c10
-rw-r--r--include/video/trident.h1
2 files changed, 8 insertions, 3 deletions
diff --git a/drivers/video/tridentfb.c b/drivers/video/tridentfb.c
index 9668be881fe3..9dedc1a5e421 100644
--- a/drivers/video/tridentfb.c
+++ b/drivers/video/tridentfb.c
@@ -87,13 +87,15 @@ MODULE_PARM_DESC(crt, "Define if CRT is connected");
87 87
88static int is_oldclock(int id) 88static int is_oldclock(int id)
89{ 89{
90 return (id == TGUI9660) || 90 return (id == TGUI9440) ||
91 (id == TGUI9660) ||
91 (id == CYBER9320); 92 (id == CYBER9320);
92} 93}
93 94
94static int is_oldprotect(int id) 95static int is_oldprotect(int id)
95{ 96{
96 return (id == TGUI9660) || 97 return (id == TGUI9440) ||
98 (id == TGUI9660) ||
97 (id == PROVIDIA9685) || 99 (id == PROVIDIA9685) ||
98 (id == CYBER9320) || 100 (id == CYBER9320) ||
99 (id == CYBER9382) || 101 (id == CYBER9382) ||
@@ -1042,7 +1044,8 @@ static int tridentfb_set_par(struct fb_info *info)
1042 if (!is_xp(par->chip_id)) 1044 if (!is_xp(par->chip_id))
1043 write3X4(par, Performance, read3X4(par, Performance) | 0x10); 1045 write3X4(par, Performance, read3X4(par, Performance) | 0x10);
1044 /* MMIO & PCI read and write burst enable */ 1046 /* MMIO & PCI read and write burst enable */
1045 write3X4(par, PCIReg, read3X4(par, PCIReg) | 0x06); 1047 if (par->chip_id != TGUI9440)
1048 write3X4(par, PCIReg, read3X4(par, PCIReg) | 0x06);
1046 1049
1047 /* convert from picoseconds to kHz */ 1050 /* convert from picoseconds to kHz */
1048 vclk = PICOS2KHZ(info->var.pixclock); 1051 vclk = PICOS2KHZ(info->var.pixclock);
@@ -1418,6 +1421,7 @@ static struct pci_device_id trident_devices[] = {
1418 {PCI_VENDOR_ID_TRIDENT, CYBERBLADEAi1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, 1421 {PCI_VENDOR_ID_TRIDENT, CYBERBLADEAi1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
1419 {PCI_VENDOR_ID_TRIDENT, CYBERBLADEAi1D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, 1422 {PCI_VENDOR_ID_TRIDENT, CYBERBLADEAi1D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
1420 {PCI_VENDOR_ID_TRIDENT, CYBERBLADEE4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, 1423 {PCI_VENDOR_ID_TRIDENT, CYBERBLADEE4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
1424 {PCI_VENDOR_ID_TRIDENT, TGUI9440, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
1421 {PCI_VENDOR_ID_TRIDENT, TGUI9660, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, 1425 {PCI_VENDOR_ID_TRIDENT, TGUI9660, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
1422 {PCI_VENDOR_ID_TRIDENT, IMAGE975, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, 1426 {PCI_VENDOR_ID_TRIDENT, IMAGE975, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
1423 {PCI_VENDOR_ID_TRIDENT, IMAGE985, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, 1427 {PCI_VENDOR_ID_TRIDENT, IMAGE985, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
diff --git a/include/video/trident.h b/include/video/trident.h
index fa690b9fcc13..76d81b2198dc 100644
--- a/include/video/trident.h
+++ b/include/video/trident.h
@@ -24,6 +24,7 @@
24#define CYBER9397DVD 0x939A 24#define CYBER9397DVD 0x939A
25#define CYBER9520 0x9520 25#define CYBER9520 0x9520
26#define CYBER9525DVD 0x9525 26#define CYBER9525DVD 0x9525
27#define TGUI9440 0x9440
27#define TGUI9660 0x9660 28#define TGUI9660 0x9660
28#define PROVIDIA9685 0x9685 29#define PROVIDIA9685 0x9685
29#define IMAGE975 0x9750 30#define IMAGE975 0x9750