From cd792aa896f281a224870eb5f2ee5b24682910a5 Mon Sep 17 00:00:00 2001 From: Woody Suwalski Date: Mon, 12 Feb 2007 00:55:00 -0800 Subject: [PATCH] [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 Cc: "Antonino A. Daplas" Cc: James Simmons Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/video/cyber2000fb.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/video/cyber2000fb.c b/drivers/video/cyber2000fb.c index aae6d9c26e8..7a6eeda5ae9 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) /* * Allow the CyberPro to accept PCI burst accesses */ - val = cyber2000_grphr(EXT_BUS_CTL, cfb); - if (!(val & EXT_BUS_CTL_PCIBURST_WRITE)) { - printk(KERN_INFO "%s: enabling PCI bursts\n", cfb->fb.fix.id); + if (cfb->id == ID_CYBERPRO_2010) { + printk(KERN_INFO "%s: NOT enabling PCI bursts\n", cfb->fb.fix.id); + } else { + val = cyber2000_grphr(EXT_BUS_CTL, cfb); + if (!(val & EXT_BUS_CTL_PCIBURST_WRITE)) { + printk(KERN_INFO "%s: enabling PCI bursts\n", + cfb->fb.fix.id); - val |= EXT_BUS_CTL_PCIBURST_WRITE; + val |= EXT_BUS_CTL_PCIBURST_WRITE; - if (cfb->id == ID_CYBERPRO_5000) - val |= EXT_BUS_CTL_PCIBURST_READ; + if (cfb->id == ID_CYBERPRO_5000) + val |= EXT_BUS_CTL_PCIBURST_READ; - cyber2000_grphw(EXT_BUS_CTL, val, cfb); + cyber2000_grphw(EXT_BUS_CTL, val, cfb); + } } return 0; -- 2.41.1