Neomagic fb driver oopses with linux 2.5

6 messages, 2 authors, 2003-08-12 · open the first message on its own page

Neomagic fb driver oopses with linux 2.5

From: Alex Thiel <hidden>
Date: 2003-07-21 09:30:18

Hallo,

trying the 2.5 kernel series on my laptop lately I found that the fb
driver for Neomagic chips would oops after a few lines have
scrolled off the screen.

I have tried the patchset available at http://phoenix.infradead.org/~jsimmons/fbdev.diff.gz
(seems to be dated Jul 3rd), but still have the same problem.

The machine is a Sony Vaio PCG-505FX, lspci reports the graphic chip as
00:08.0 VGA compatible controller: Neomagic Corporation NM2160 [MagicGraph 128XD] (rev 01)

Kernel is 2.5.75 compiled with gcc 2.95.4. Here is the decoded oops,
this one is with the patches applied.

Unable to handle kernel paging request<1>Unable to handle kernel paging request at virtual address c4c011c0
c01e2d03
*pde = 010d8067
Oops: 0002 [#1]
CPU:    0
EIP:    0060:[<c01e2d03>]    Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010246
eax: 00000000   ebx: 0000004b   ecx: c02a9fe0   edx: c4c011c0
esi: 00000004   edi: 00000130   ebp: 00000000   esp: c2eeda34
ds: 007b   es: 007b   ss: 0068
Stack: c10f8584 c10b8ac6 ffffffff 00000026 00000010 c02da2cc c10b8cb4 c4c011c0 
       07070707 00000000 c3f53378 c2eeda94 c10b8cda e0eeda9c c01d1b67 c02da2cc 
       c2eeda94 c2eeda94 c02da2cc c3f53378 002ea7d7 c02da418 c2eeda94 c8f52288 
Call Trace: [<c01d1b67>]  [<c01e1167>]  [<c01d8577>]  [<c012627b>]  [<c01d939e>]  [<c01ba538>]  [<c0114286>]  [<c01142eb>]  [<c01143c9>]  [<c01145ae>]  [<c0114537>]  [<c011005b>]  [<c010fe00>]  [<c01e2aad>]  [<c01e2aad>]  [<c0108d0d>]  [<c01e1a2d>]  [<c01e19d0>]  [<c01e1fe3>]  [<c01e1167>]  [<c01e1107>]  [<c01d868b>]  [<c01da118>]  [<c01b6652>]  [<c01b7ba0>]  [<c01b8f22>]  [<c01ba13a>]  [<c01ba7a6>]  [<c01ac1ab>]  [<c01ae33c>]  [<c0111484>]  [<c0111484>]  [<c01a9829>]  [<c01ae1f4>]  [<c013c0ac>]  [<c013c159>]  [<c0108aa7>] 
Code: 89 02 83 c2 04 89 54 24 1c 85 f6 75 09 be 08 00 00 00 ff 44 

quoted
EIP; c01e2d03 <cfb_imageblit+323/6a0>   <=====
quoted
ecx; c02a9fe0 <cfb_tab8+0/40>
edx; c4c011c0 <__crc_single_release+39ecce/3f2bab>
esp; c2eeda34 <__crc_xfrm_policy_register_afinfo+2f842/6cfe28>
Trace; c01d1b67 <lba_28_rw_disk+af/bc>
Trace; c01e1167 <neofb_imageblit+2b/30>
Trace; c01d8577 <accel_putcs+2d7/314>
Trace; c012627b <__lock_page+a3/ac>
Trace; c01d939e <fbcon_putcs+6e/74>
Trace; c01ba538 <vt_console_print+278/2d0>
Trace; c0114286 <__call_console_drivers+3e/50>
Trace; c01142eb <_call_console_drivers+53/58>
Trace; c01143c9 <call_console_drivers+d9/e0>
Trace; c01145ae <release_console_sem+2e/84>
Trace; c0114537 <printk+ff/114>
Trace; c011005b <do_page_fault+25b/413>
Trace; c010fe00 <do_page_fault+0/413>
Trace; c01e2aad <cfb_imageblit+cd/6a0>
Trace; c01e2aad <cfb_imageblit+cd/6a0>
Trace; c0108d0d <error_code+2d/40>
Trace; c01e1a2d <bitfill32+5d/ec>
Trace; c01e19d0 <bitfill32+0/ec>
Trace; c01e1fe3 <cfb_fillrect+18f/29c>
Trace; c01e1167 <neofb_imageblit+2b/30>
Trace; c01e1107 <neofb_fillrect+2b/30>
Trace; c01d868b <accel_clear_margins+d7/e4>
Trace; c01da118 <fbcon_scroll+468/9bc>
Trace; c01b6652 <scrup+76/108>
Trace; c01b7ba0 <lf+34/60>
Trace; c01b8f22 <do_con_trol+166/d78>
Trace; c01ba13a <do_con_write+606/6cc>
Trace; c01ba7a6 <con_put_char+2e/34>
Trace; c01ac1ab <opost+1c3/1d0>
Trace; c01ae33c <write_chan+148/21c>
Trace; c0111484 <default_wake_function+0/20>
Trace; c0111484 <default_wake_function+0/20>
Trace; c01a9829 <tty_write+19d/220>
Trace; c01ae1f4 <write_chan+0/21c>
Trace; c013c0ac <vfs_write+a0/d0>
Trace; c013c159 <sys_write+31/4c>
Trace; c0108aa7 <syscall_call+7/b>

Code;  c01e2d03 <cfb_imageblit+323/6a0>
00000000 <_EIP>:
Code;  c01e2d03 <cfb_imageblit+323/6a0>   <=====
   0:   89 02                     mov    %eax,(%edx)   <=====
Code;  c01e2d05 <cfb_imageblit+325/6a0>
   2:   83 c2 04                  add    $0x4,%edx
Code;  c01e2d08 <cfb_imageblit+328/6a0>
   5:   89 54 24 1c               mov    %edx,0x1c(%esp,1)
Code;  c01e2d0c <cfb_imageblit+32c/6a0>
   9:   85 f6                     test   %esi,%esi
Code;  c01e2d0e <cfb_imageblit+32e/6a0>
   b:   75 09                     jne    16 <_EIP+0x16>
Code;  c01e2d10 <cfb_imageblit+330/6a0>
   d:   be 08 00 00 00            mov    $0x8,%esi
Code;  c01e2d15 <cfb_imageblit+335/6a0>
  12:   ff 44 00 00               incl   0x0(%eax,%eax,1)


Cheers,

        Alex

P.S.: Please CC me as I am not subscibed to this list.



-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0

Re: Neomagic fb driver oopses with linux 2.5

From: James Simmons <hidden>
Date: 2003-07-24 23:51:53

The machine is a Sony Vaio PCG-505FX, lspci reports the graphic chip as
00:08.0 VGA compatible controller: Neomagic Corporation NM2160 [MagicGraph 128XD] (rev 01)
My new laptop is a NeoMagic again so I can test it out.
 
Kernel is 2.5.75 compiled with gcc 2.95.4. Here is the decoded oops,
this one is with the patches applied.

Unable to handle kernel paging request<1>Unable to handle kernel paging request at virtual address c4c011c0
c01e2d03
*pde = 010d8067
Oops: 0002 [#1]
CPU:    0
EIP:    0060:[<c01e2d03>]    Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010246
eax: 00000000   ebx: 0000004b   ecx: c02a9fe0   edx: c4c011c0
esi: 00000004   edi: 00000130   ebp: 00000000   esp: c2eeda34
ds: 007b   es: 007b   ss: 0068
Stack: c10f8584 c10b8ac6 ffffffff 00000026 00000010 c02da2cc c10b8cb4 c4c011c0 
       07070707 00000000 c3f53378 c2eeda94 c10b8cda e0eeda9c c01d1b67 c02da2cc 
       c2eeda94 c2eeda94 c02da2cc c3f53378 002ea7d7 c02da418 c2eeda94 c8f52288 
Call Trace: [<c01d1b67>]  [<c01e1167>]  [<c01d8577>]  [<c012627b>]  [<c01d939e>]  [<c01ba538>]  [<c0114286>]  [<c01142eb>]  [<c01143c9>]  [<c01145ae>]  [<c0114537>]  [<c011005b>]  [<c010fe00>]  [<c01e2aad>]  [<c01e2aad>]  [<c0108d0d>]  [<c01e1a2d>]  [<c01e19d0>]  [<c01e1fe3>]  [<c01e1167>]  [<c01e1107>]  [<c01d868b>]  [<c01da118>]  [<c01b6652>]  [<c01b7ba0>]  [<c01b8f22>]  [<c01ba13a>]  [<c01ba7a6>]  [<c01ac1ab>]  [<c01ae33c>]  [<c0111484>]  [<c0111484>]  [<c01a9829>]  [<c01ae1f4>]  [<c013c0ac>]  [<c013c159>]  [<c0108aa7>] 
Code: 89 02 83 c2 04 89 54 24 1c 85 f6 75 09 be 08 00 00 00 ff 44 

quoted
quoted
EIP; c01e2d03 <cfb_imageblit+323/6a0>   <=====
quoted
quoted
ecx; c02a9fe0 <cfb_tab8+0/40>
edx; c4c011c0 <__crc_single_release+39ecce/3f2bab>
esp; c2eeda34 <__crc_xfrm_policy_register_afinfo+2f842/6cfe28>
Trace; c01d1b67 <lba_28_rw_disk+af/bc>
Trace; c01e1167 <neofb_imageblit+2b/30>
Trace; c01d8577 <accel_putcs+2d7/314>
Trace; c012627b <__lock_page+a3/ac>
Trace; c01d939e <fbcon_putcs+6e/74>
Trace; c01ba538 <vt_console_print+278/2d0>
Trace; c0114286 <__call_console_drivers+3e/50>
Trace; c01142eb <_call_console_drivers+53/58>
Trace; c01143c9 <call_console_drivers+d9/e0>
Trace; c01145ae <release_console_sem+2e/84>
Trace; c0114537 <printk+ff/114>
Trace; c011005b <do_page_fault+25b/413>
Trace; c010fe00 <do_page_fault+0/413>
Trace; c01e2aad <cfb_imageblit+cd/6a0>
Trace; c01e2aad <cfb_imageblit+cd/6a0>
Trace; c0108d0d <error_code+2d/40>
Trace; c01e1a2d <bitfill32+5d/ec>
Trace; c01e19d0 <bitfill32+0/ec>
Trace; c01e1fe3 <cfb_fillrect+18f/29c>
Trace; c01e1167 <neofb_imageblit+2b/30>
Trace; c01e1107 <neofb_fillrect+2b/30>
Trace; c01d868b <accel_clear_margins+d7/e4>
Trace; c01da118 <fbcon_scroll+468/9bc>
Trace; c01b6652 <scrup+76/108>
Trace; c01b7ba0 <lf+34/60>
Trace; c01b8f22 <do_con_trol+166/d78>
Trace; c01ba13a <do_con_write+606/6cc>
Trace; c01ba7a6 <con_put_char+2e/34>
Trace; c01ac1ab <opost+1c3/1d0>
Trace; c01ae33c <write_chan+148/21c>
Trace; c0111484 <default_wake_function+0/20>
Trace; c0111484 <default_wake_function+0/20>
Trace; c01a9829 <tty_write+19d/220>
Trace; c01ae1f4 <write_chan+0/21c>
Trace; c013c0ac <vfs_write+a0/d0>
Trace; c013c159 <sys_write+31/4c>
Trace; c0108aa7 <syscall_call+7/b>

Code;  c01e2d03 <cfb_imageblit+323/6a0>
00000000 <_EIP>:
Code;  c01e2d03 <cfb_imageblit+323/6a0>   <=====
   0:   89 02                     mov    %eax,(%edx)   <=====
Code;  c01e2d05 <cfb_imageblit+325/6a0>
   2:   83 c2 04                  add    $0x4,%edx
Code;  c01e2d08 <cfb_imageblit+328/6a0>
   5:   89 54 24 1c               mov    %edx,0x1c(%esp,1)
Code;  c01e2d0c <cfb_imageblit+32c/6a0>
   9:   85 f6                     test   %esi,%esi
Code;  c01e2d0e <cfb_imageblit+32e/6a0>
   b:   75 09                     jne    16 <_EIP+0x16>
Code;  c01e2d10 <cfb_imageblit+330/6a0>
   d:   be 08 00 00 00            mov    $0x8,%esi
Code;  c01e2d15 <cfb_imageblit+335/6a0>
  12:   ff 44 00 00               incl   0x0(%eax,%eax,1)
I did a assembly dump of my cfbimgblt.o and I couldn't match the code up.
Strange I can't figure it out. I will try turning of hardware accel on 
mine.




-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01

Re: Neomagic fb driver oopses with linux 2.5

From: Alex Thiel <hidden>
Date: 2003-07-26 18:25:07

James Simmons [off-list ref] writes:
quoted
The machine is a Sony Vaio PCG-505FX, lspci reports the graphic chip as
00:08.0 VGA compatible controller: Neomagic Corporation NM2160 [MagicGraph 128XD] (rev 01)
My new laptop is a NeoMagic again so I can test it out.
 
quoted
Kernel is 2.5.75 compiled with gcc 2.95.4. Here is the decoded oops,
this one is with the patches applied.
[oops ommited]
I did a assembly dump of my cfbimgblt.o and I couldn't match the code up.
Strange I can't figure it out. I will try turning of hardware accel on 
mine.
I noticed that ksymoops complained about not being able to open
/proc/ksyms which seems to have gone in 2.5. Can this cause a
misinterpretation of the raw oops data?

Anyway, I managed to connect to the laptop via a serial line and hope
to be able to track down the problem a little more this way.

Cheers,

        Alex




-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01

Re: Neomagic fb driver oopses with linux 2.5

From: James Simmons <hidden>
Date: 2003-07-29 17:14:02

I noticed that ksymoops complained about not being able to open
/proc/ksyms which seems to have gone in 2.5. Can this cause a
misinterpretation of the raw oops data?

Anyway, I managed to connect to the laptop via a serial line and hope
to be able to track down the problem a little more this way.
Hm. It has changed again. Anyone know the current method for backtracing.



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01

Re: Neomagic fb driver oopses with linux 2.5

From: Alex Thiel <hidden>
Date: 2003-07-29 20:14:19

James Simmons [off-list ref] writes:
quoted
I noticed that ksymoops complained about not being able to open
/proc/ksyms which seems to have gone in 2.5. Can this cause a
misinterpretation of the raw oops data?

Anyway, I managed to connect to the laptop via a serial line and hope
to be able to track down the problem a little more this way.
Hm. It has changed again. Anyone know the current method for backtracing.
I have recompiled the kernel with debugging symbols included, and gdb
thinks the oops occurs at line 264 in cfbimgblt.c. I don't know how
accurate this is, though, since this line is in function
fast_imageblit() while the backtrace rather pointed at cfb_imageblit().

                 Alex



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01

Re: Neomagic fb driver oopses with linux 2.5

From: Alex Thiel <hidden>
Date: 2003-08-12 08:55:40

Hello,

I think I have narrowed down the problem quite a bit, but I am not
sure how to actually fix it.

Basically the problem is that for my setup the value of yres_virtual
in struct fb_var_screeninfo never changes from the initial value of
30000. As my machine only has 2MB of video memory, I get an oops when
var->yoffset becomes larger than about 2048.

Searching a bit further I found that the virtual resolution is
supposed to be set in neofb_check_var, but this function is never
called.

Does this help to fix the problem?

     Alex

James Simmons [off-list ref] writes:
quoted
The machine is a Sony Vaio PCG-505FX, lspci reports the graphic chip as
00:08.0 VGA compatible controller: Neomagic Corporation NM2160 [MagicGraph 128XD] (rev 01)
My new laptop is a NeoMagic again so I can test it out.
 
quoted
Kernel is 2.5.75 compiled with gcc 2.95.4. Here is the decoded oops,
this one is with the patches applied.

Unable to handle kernel paging request<1>Unable to handle kernel paging request at virtual address c4c011c0
c01e2d03
*pde = 010d8067
Oops: 0002 [#1]
CPU:    0
EIP:    0060:[<c01e2d03>]    Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010246
eax: 00000000   ebx: 0000004b   ecx: c02a9fe0   edx: c4c011c0
esi: 00000004   edi: 00000130   ebp: 00000000   esp: c2eeda34
ds: 007b   es: 007b   ss: 0068
Stack: c10f8584 c10b8ac6 ffffffff 00000026 00000010 c02da2cc c10b8cb4 c4c011c0 
       07070707 00000000 c3f53378 c2eeda94 c10b8cda e0eeda9c c01d1b67 c02da2cc 
       c2eeda94 c2eeda94 c02da2cc c3f53378 002ea7d7 c02da418 c2eeda94 c8f52288 
Call Trace: [<c01d1b67>]  [<c01e1167>]  [<c01d8577>]  [<c012627b>]  [<c01d939e>]  [<c01ba538>]  [<c0114286>]  [<c01142eb>]  [<c01143c9>]  [<c01145ae>]  [<c0114537>]  [<c011005b>]  [<c010fe00>]  [<c01e2aad>]  [<c01e2aad>]  [<c0108d0d>]  [<c01e1a2d>]  [<c01e19d0>]  [<c01e1fe3>]  [<c01e1167>]  [<c01e1107>]  [<c01d868b>]  [<c01da118>]  [<c01b6652>]  [<c01b7ba0>]  [<c01b8f22>]  [<c01ba13a>]  [<c01ba7a6>]  [<c01ac1ab>]  [<c01ae33c>]  [<c0111484>]  [<c0111484>]  [<c01a9829>]  [<c01ae1f4>]  [<c013c0ac>]  [<c013c159>]  [<c0108aa7>] 
Code: 89 02 83 c2 04 89 54 24 1c 85 f6 75 09 be 08 00 00 00 ff 44 

quoted
quoted
EIP; c01e2d03 <cfb_imageblit+323/6a0>   <=====
quoted
quoted
ecx; c02a9fe0 <cfb_tab8+0/40>
edx; c4c011c0 <__crc_single_release+39ecce/3f2bab>
esp; c2eeda34 <__crc_xfrm_policy_register_afinfo+2f842/6cfe28>
Trace; c01d1b67 <lba_28_rw_disk+af/bc>
Trace; c01e1167 <neofb_imageblit+2b/30>
Trace; c01d8577 <accel_putcs+2d7/314>
Trace; c012627b <__lock_page+a3/ac>
Trace; c01d939e <fbcon_putcs+6e/74>
Trace; c01ba538 <vt_console_print+278/2d0>
Trace; c0114286 <__call_console_drivers+3e/50>
Trace; c01142eb <_call_console_drivers+53/58>
Trace; c01143c9 <call_console_drivers+d9/e0>
Trace; c01145ae <release_console_sem+2e/84>
Trace; c0114537 <printk+ff/114>
Trace; c011005b <do_page_fault+25b/413>
Trace; c010fe00 <do_page_fault+0/413>
Trace; c01e2aad <cfb_imageblit+cd/6a0>
Trace; c01e2aad <cfb_imageblit+cd/6a0>
Trace; c0108d0d <error_code+2d/40>
Trace; c01e1a2d <bitfill32+5d/ec>
Trace; c01e19d0 <bitfill32+0/ec>
Trace; c01e1fe3 <cfb_fillrect+18f/29c>
Trace; c01e1167 <neofb_imageblit+2b/30>
Trace; c01e1107 <neofb_fillrect+2b/30>
Trace; c01d868b <accel_clear_margins+d7/e4>
Trace; c01da118 <fbcon_scroll+468/9bc>
Trace; c01b6652 <scrup+76/108>
Trace; c01b7ba0 <lf+34/60>
Trace; c01b8f22 <do_con_trol+166/d78>
Trace; c01ba13a <do_con_write+606/6cc>
Trace; c01ba7a6 <con_put_char+2e/34>
Trace; c01ac1ab <opost+1c3/1d0>
Trace; c01ae33c <write_chan+148/21c>
Trace; c0111484 <default_wake_function+0/20>
Trace; c0111484 <default_wake_function+0/20>
Trace; c01a9829 <tty_write+19d/220>
Trace; c01ae1f4 <write_chan+0/21c>
Trace; c013c0ac <vfs_write+a0/d0>
Trace; c013c159 <sys_write+31/4c>
Trace; c0108aa7 <syscall_call+7/b>

Code;  c01e2d03 <cfb_imageblit+323/6a0>
00000000 <_EIP>:
Code;  c01e2d03 <cfb_imageblit+323/6a0>   <=====
   0:   89 02                     mov    %eax,(%edx)   <=====
Code;  c01e2d05 <cfb_imageblit+325/6a0>
   2:   83 c2 04                  add    $0x4,%edx
Code;  c01e2d08 <cfb_imageblit+328/6a0>
   5:   89 54 24 1c               mov    %edx,0x1c(%esp,1)
Code;  c01e2d0c <cfb_imageblit+32c/6a0>
   9:   85 f6                     test   %esi,%esi
Code;  c01e2d0e <cfb_imageblit+32e/6a0>
   b:   75 09                     jne    16 <_EIP+0x16>
Code;  c01e2d10 <cfb_imageblit+330/6a0>
   d:   be 08 00 00 00            mov    $0x8,%esi
Code;  c01e2d15 <cfb_imageblit+335/6a0>
  12:   ff 44 00 00               incl   0x0(%eax,%eax,1)
I did a assembly dump of my cfbimgblt.o and I couldn't match the code up.
Strange I can't figure it out. I will try turning of hardware accel on 
mine.


-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help