On Sun, Nov 27, 2005 at 11:46:54AM +0000, Philip Armstrong wrote: > On Sat, Nov 26, 2005 at 11:54:48PM +0200, Ville Syrjälä wrote: > > On Sat, Nov 26, 2005 at 09:27:57PM +0000, Tony Houghton wrote: > > > Thanks. I've done that and eventually found that it fails the check: > > > > > > if ((vma->vm_end - vma->vm_start + off) > len) > > > > > > (Example) values are: > > > > > > vm_end = 0xb6d18000 > > > vm_start = 0xb6d14000 > > > off = 0x800000 > > > len = 0x4000 > > > > > > Backtracking a bit, off gets its value from vma->vm_pgoff << PAGE_SHIFT. > > > vma->vm_pgoff is 0x1000 and off's initial value is therefore 0x1000000. > > > > > > A bit later on len (which at that point is 0x800000) is subtracted from > > > off, giving its final value, and len gets reassigned from > > > PAGE_ALIGN((start & ~PAGE_MASK) + info->fix.mmio_len). > > > > There's your problem len should be 0x1000000 (ie. 16MB) when it gets > > subtracted from off. Somehow matroxfb first told you it has 16MB of > > video RAM and then when calling mmap() it thinks it has only 8MB. > > > > You aren't playing some modprobe/rmmod game with matroxfb_crtc2 + 16MB > > card are you? > > Fwiw, I'm seeing exactly the same issue with a G400 dual head 16Mb > card. (Which I bought to replace the 32Mb G400 which I fritzed trying > to upgrade its bios :( ) > > First time a directfb app is started, it fails with similar errors to > those reported by Tony. Second time (and all subsequent times) it > works perfectly. > > Strangely you can powerdown the system via suspend2 hibernation > (pulling the plug entirely) and restart & it will then work fine the > first time after the resume from hibernation, which suggests a kernel > issue.
I take it you're not using matroxfb-full-memory patch? What happens if you do? -- Ville Syrjälä [EMAIL PROTECTED] http://www.sci.fi/~syrjala/ _______________________________________________ directfb-users mailing list [email protected] http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users
