diff options
author | Woody Suwalski <woodys@xandros.com> | 2007-02-12 03:55:00 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-12 12:48:42 -0500 |
commit | cd792aa896f281a224870eb5f2ee5b24682910a5 (patch) | |
tree | 3f16b6dfb372fd5eb6f86fd8e919e664eba548bb /drivers/video/cyber2000fb.c | |
parent | 3a0991029b577125ac5b3eedbe366320c581d8d6 (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.c | 19 |
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; |