lkml.org 
[lkml]   [2003]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: matroxfb console oops in 2.4.2x
From
Date
On Thu, 2003-06-19 at 13:21, Petr Vandrovec wrote:
> On 19 Jun 03 at 11:06, David Woodhouse wrote:
>
> > Below is a workaround which lets the machine boot. It's obviously not a
> > fix.

> It looks like that someone tried to print something on the console
> during fbcon initialization.

take_over_console() attempts to redraw the screen.

> It is not allowed to call fbdev's putc
> before mode set was issued (at least I always believed to it; before
> first mode set hardware is in VGA state)

In this case, the hardware is uninitialised -- it's not in a PeeCee.
Is that relevant?

> Do not you see some error message in dmesg with these fixes?

If I omit the fixes, I just get...

matroxfb: Matrox Mystique (PCI) detected
matroxfb: 1280x1024x8bpp (virtual: 1280x1635)
matroxfb: framebuffer at 0x1000000, mapped to 0xc017d000, size 2097152
matroxfb: Pixel PLL not locked after 5 secs
+$S07#ba

Include the hack I showed you in matroxfb_cfb*_putcs, and I get what I
expect instead of the crash...

Console: switching to colour frame buffer device 160x64
fb0: MATROX VGA frame buffer device

If I call matrox_init_putc() earlier as you suggest, then it seems to
end up busy-waiting in mga_fifo()...

0x8c0dba18 <matrox_cfbX_putcs+184>: mov.l @(r0,r3),r1
0x8c0dba1a <matrox_cfbX_putcs+186>: extu.b r1,r1
0x8c0dba1c <matrox_cfbX_putcs+188>: cmp/hi r2,r1
0x8c0dba1e <matrox_cfbX_putcs+190>: bf.s 0x8c0dba18 <matrox_cfbX_putcs+184>

(gdb) regs
PC=8c0dba1c SR=40000100 PR=8c0dbb72 MACH=00000003 MACHL=00000780
GBR=f89858fb VBR=8c006000 SSR=00000000 SPC=00000000
R0-R7 b3020000 00000005 00000005 00001e10 07070707 8c164d0c 00000000 01800010
R8-R15 b3020000 00000010 002f0028 00000010 00000025 8c1d6948 8c2a3b14 8c2a3b14
(gdb) list *$pc
0x8c0dba1c is in matrox_cfbX_putcs (matroxfb_accel.c:610).
605 fxbndry = ((xx + fontwidth(p) - 1) << 16) | xx;
606 mmio = ACCESS_FBINFO(mmio.vbase);
607 while (count--) {
608 u_int8_t* chardata = p->fontdata + (scr_readw(s++) & p->charmask)*charcell;
609
610 mga_fifo(6);
611 mga_writel(mmio, M_FXBNDRY, fxbndry);
612 mga_writel(mmio, M_AR0, ar0);
613 mga_writel(mmio, M_AR3, 0);
614 if (easy) {



--
dwmw2

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:36    [W:0.064 / U:0.248 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site