lkml.org 
[lkml]   [2007]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectPATCH: cyber2010 framebuffer on ARM Netwinder fix...
Martin Michlmayr wrote:
> * Stuart Anderson <anderson@netsweng.com> [2007-01-05 09:40]:
>
>> shark w/o any changes to the kernel. I dug a bit further, both in the
>> driver, and in the HW spec for the shark, and discovered that the video
>> chip on the shark is connected via the VL bus, not the PCI bus. The
>> shark does have a VL-PCI bridge, but there doesn't seem to be anything
>> connected to the PCI side of it (which matches what lspci says). The
>> function containing the patch in question doesn't appear to even run on
>> the shark (there is a VL version that is #ifdef SHARK'd), so I'd have
>> to say the patch would have not impact on the shark.
>>
>
> OK, good news. Thanks for checking. Woody, can you submit the patch
> (with proper intentation) to linux-fbdev-devel@lists.sourceforge.net
>

As suggested - I am sending this patch to fbdev-devel....

The Netwinder machines with Cyber2010 crash badly when starting Xserver.
The workaround is to disable pci burst option for this revision of video
chip.

Thanks, Woody

The Netwinder machines with Cyber2010 crash badly when starting Xserver.
The workaround is to disable pci burst option for this revision of video chip.

Signed-off-by: Woody Suwalski <woodys@xandros.com>

---

--- a/drivers/video/cyber2000fb.c 2006-11-29 16:57:37.000000000 -0500
+++ b/drivers/video/cyber2000fb.c 2007-01-09 12:20:01.000000000 -0500
@@ -1539,16 +1539,24 @@ static int cyberpro_pci_enable_mmio(stru
/*
* 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);
-
- val |= EXT_BUS_CTL_PCIBURST_WRITE;
-
- if (cfb->id == ID_CYBERPRO_5000)
- val |= EXT_BUS_CTL_PCIBURST_READ;
-
- cyber2000_grphw(EXT_BUS_CTL, val, cfb);
+ 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;
+
+ if (cfb->id == ID_CYBERPRO_5000)
+ val |= EXT_BUS_CTL_PCIBURST_READ;
+
+ cyber2000_grphw(EXT_BUS_CTL, val, cfb);
+ }
}

return 0;
\
 
 \ /
  Last update: 2007-01-09 19:37    [W:0.031 / U:1.404 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site