aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/cyber2000fb.c
diff options
context:
space:
mode:
authorWoody Suwalski <woodys@xandros.com>2007-02-12 03:55:00 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-12 12:48:42 -0500
commitcd792aa896f281a224870eb5f2ee5b24682910a5 (patch)
tree3f16b6dfb372fd5eb6f86fd8e919e664eba548bb /drivers/video/cyber2000fb.c
parent3a0991029b577125ac5b3eedbe366320c581d8d6 (diff)
[PATCH] cyber2010 framebuffer on ARM Netwinder fix
The Netwinder machines with Cyber2010 crash badly when starting Xserver. The workaround is to disable pci burst option for this revision of video chip. [akpm@osdl.org: cleanup] Signed-off-by: Woody Suwalski <woodys@xandros.com> Cc: "Antonino A. Daplas" <adaplas@pol.net> Cc: James Simmons <jsimmons@infradead.org> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/cyber2000fb.c')
-rw-r--r--drivers/video/cyber2000fb.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/drivers/video/cyber2000fb.c b/drivers/video/cyber2000fb.c
index aae6d9c26e88..7a6eeda5ae9a 100644
--- a/drivers/video/cyber2000fb.c
+++ b/drivers/video/cyber2000fb.c
@@ -1539,16 +1539,21 @@ static int cyberpro_pci_enable_mmio(struct cfb_info *cfb)
1539 /* 1539 /*
1540 * Allow the CyberPro to accept PCI burst accesses 1540 * Allow the CyberPro to accept PCI burst accesses
1541 */ 1541 */
1542 val = cyber2000_grphr(EXT_BUS_CTL, cfb); 1542 if (cfb->id == ID_CYBERPRO_2010) {
1543 if (!(val & EXT_BUS_CTL_PCIBURST_WRITE)) { 1543 printk(KERN_INFO "%s: NOT enabling PCI bursts\n", cfb->fb.fix.id);
1544 printk(KERN_INFO "%s: enabling PCI bursts\n", cfb->fb.fix.id); 1544 } else {
1545 val = cyber2000_grphr(EXT_BUS_CTL, cfb);
1546 if (!(val & EXT_BUS_CTL_PCIBURST_WRITE)) {
1547 printk(KERN_INFO "%s: enabling PCI bursts\n",
1548 cfb->fb.fix.id);
1545 1549
1546 val |= EXT_BUS_CTL_PCIBURST_WRITE; 1550 val |= EXT_BUS_CTL_PCIBURST_WRITE;
1547 1551
1548 if (cfb->id == ID_CYBERPRO_5000) 1552 if (cfb->id == ID_CYBERPRO_5000)
1549 val |= EXT_BUS_CTL_PCIBURST_READ; 1553 val |= EXT_BUS_CTL_PCIBURST_READ;
1550 1554
1551 cyber2000_grphw(EXT_BUS_CTL, val, cfb); 1555 cyber2000_grphw(EXT_BUS_CTL, val, cfb);
1556 }
1552 } 1557 }
1553 1558
1554 return 0; 1559 return 0;