lkml.org 
[lkml]   [2008]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: atyfb rmmod & vram crash, 2.6.24, 2.6.25-rc8
Date
Well, additionally i am not able to manage this FB driver to work on my VGA,
while uvesafb works fine (but probably slower). But it is probably sync
problems with my TV-Out, i am still investigating it. But again, uvesafb works
great.

Btw just a bit offtopic question, do i need to report here about such issues,
while i can find for myself another solution? Maybe better to not take time of
developers for such not important things? Or better to "bugtest" kernel and to
make it better together?

On Wed, 2 Apr 2008 14:55:54 -0700, Andrew Morton wrote
> On Wed, 2 Apr 2008 15:54:12 +0300
> "Denys Fedoryshchenko" <denys@visp.net.lb> wrote:
>
> > VGA card i dont know how much RAM there actually, but lspci here shows looks
> > like 16MB:
> >
> > 03:09.0 VGA compatible controller: ATI Technologies Inc 3D Rage Pro 215GP (rev
> > 5c) (prog-if 00 [VGA controller])
> > Subsystem: ATI Technologies Inc Rage Pro Turbo
> > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
> > Stepping+ SERR- FastB2B- DisINTx-
> > Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
> > <TAbort- <MAbort- >SERR- <PERR- INTx-
> > Latency: 66 (2000ns min), Cache Line Size: 32 bytes
> > Interrupt: pin A routed to IRQ 21
> > Region 0: Memory at f0000000 (32-bit, prefetchable) [size=16M]
> > Region 1: I/O ports at 2000 [size=256]
> > Region 2: Memory at d0121000 (32-bit, non-prefetchable) [size=4K]
> > Kernel driver in use: atyfb
> >
> >
> >
> > Loading without parameters
> >
> > atyfb: using auxiliary register aperture
> > atyfb: 3D RAGE PRO (Mach64 GP, PQFP, PCI) [0x4750 rev 0x7c]
> > atyfb: Mach64 BIOS is located at c0000, mapped at c00c0000.
> > atyfb: BIOS frequency table:
> > atyfb: PCLK_min_freq 984, PCLK_max_freq 23600, ref_freq 2950, ref_divider 64
> > atyfb: MCLK_pwd 4200, MCLK_max_freq 7500, XCLK_max_freq 10000, SCLK_freq 5000
> > atyfb: 8M SGRAM (1:1), 29.498928 MHz XTAL, 236 MHz PLL, 75 Mhz MCLK, 100
MHz XCLK
> > atyfb: fb0: ATY Mach64 frame buffer device on PCI
> >
> > It detects 8M.
> > If i put parameter vram=8
> > atyfb: 3D RAGE PRO (Mach64 GP, PQFP, PCI) [0x4750 rev 0x7c]
> > atyfb: Mach64 BIOS is located at c0000, mapped at c00c0000.
> > atyfb: BIOS frequency table:
> > atyfb: PCLK_min_freq 984, PCLK_max_freq 23600, ref_freq 2950, ref_divider 64
> > atyfb: MCLK_pwd 4200, MCLK_max_freq 7500, XCLK_max_freq 10000, SCLK_freq 5000
> > atyfb: 0M SGRAM (1:1), 29.498928 MHz XTAL, 236 MHz PLL, 75 Mhz MCLK, 100
MHz XCLK
> > atyfb: not enough video RAM
> > atyfb: can't set default video mode
>
> Why did this happen? It seems from reading the code that the vram
> arg is in kilobytes, yes?
Also from various sources, like Documentation/fb/intel810.txt
<<< SNIP >>>
e. "vram:<value>"
select amount of system RAM in MB to allocate for the video memory

Recommendation: 1 - 4 MB.
(default = 4)
<<< SNIP >>>

I tried also 8388608, sure it doesn't work too. This parameter seems doesn't
work at all. When i didn't specify it - it shows amount or RAM (which looks
invalid), when i specify it any value (i try 2 or 8 or 16) - it shows 0MB and
crashing.

>
> > And most interesting when i do rmmod
> > tv1 ~ # rmmod atyfb
> > Segmentation fault
> >
> > and dmesg:
> > BUG: unable to handle kernel NULL pointer dereference at 00000448
> > IP: [<ce8fd0f2>] :atyfb:aty_set_crtc+0x9/0x19d
> > *pde = 00000000
> > Oops: 0000 [#1] SMP
> > Modules linked in: atyfb(-) fb backlight cfbcopyarea cfbimgblt cfbfillrect
> > rtc_cmos rtc_core rtc_lib e100 mii snd_intel8x0 snd_ac97_codec ac97_bus
> > snd_pcm snd_timer snd soundcore snd_page_alloc i2c_i801 i2c_core rng_core
> > iTCO_wdt uhci_hcd usbcore [last unloaded: atyfb]
> >
> > Pid: 5198, comm: rmmod Not tainted (2.6.25-rc8-video #1)
> > EIP: 0060:[<ce8fd0f2>] EFLAGS: 00010286 CPU: 1
> > EIP is at aty_set_crtc+0x9/0x19d [atyfb]
> > EAX: 00000000 EBX: 00000000 ECX: cd8c6854 EDX: ce9064a0
> > ESI: ce9064a0 EDI: ce905830 EBP: cc9a1ed0 ESP: cc9a1ec8
> > DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
> > Process rmmod (pid: 5198, ti=cc9a1000 task=cc9da000 task.ti=cc9a1000)
> > Stack: 00000000 ccacd000 cc9a1ee0 ce900d20 cd8c6800 ce905830 cc9a1eec c01c8376
> > cd8c6854 cc9a1efc c0208c92 cd8c3854 cd8c6854 cc9a1f10 c02090c1 ce905830
> > 00000000 c0369060 cc9a1f24 c02086bc 00000000 ce905830 00000880 cc9a1f34
> > Call Trace:
> > [<ce900d20>] ? atyfb_pci_remove+0x1d/0xb3 [atyfb]
> > [<c01c8376>] ? pci_device_remove+0x19/0x39
> > [<c0208c92>] ? __device_release_driver+0x60/0x7d
> > [<c02090c1>] ? driver_detach+0x8e/0xcd
> > [<c02086bc>] ? bus_remove_driver+0x63/0x7f
> > [<c020914c>] ? driver_unregister+0x2a/0x2e
> > [<c01c852e>] ? pci_unregister_driver+0x1e/0x64
> > [<ce900d01>] ? atyfb_exit+0xd/0xf [atyfb]
> > [<c013be85>] ? sys_delete_module+0x195/0x1d0
> > [<c0110b8c>] ? do_page_fault+0x251/0x505
> > [<c012e5cd>] ? up_read+0x16/0x29
> > [<c0110b8c>] ? do_page_fault+0x251/0x505
> > [<c0103892>] ? sysenter_past_esp+0x5f/0x91
> > =======================
> > Code: 01 00 00 00 e8 84 ff ff ff a8 02 74 0e 8b 07 89 83 dc 03 00 00 8b b3 50
> > 04 00 00 89 f0 5b 5e 5f 5d c3 55 89 e5 56 53 89 c3 89 d6 <83> b8 48 04 00 00
> > 00 74 5f 8b 52 2c 81 e2 ff ff ff fc 8b 80 48
> > EIP: [<ce8fd0f2>] aty_set_crtc+0x9/0x19d [atyfb] SS:ESP 0068:cc9a1ec8
> > ---[ end trace 1c998179e35e2f76 ]---
> >
> > I will try to enable more debug, but probably this information is enough?
> >
>
> Looks like incoming arg `par' is NULL in aty_set_crtc().
>
> I suspect the problem is that the module shouldn't have successfully
> loaded at all, given that its fb_ops.fb_set_par() failed?
Maybe, at least it must not crash such ugly way. I am not enough programmer to
give comments about code.


--
Denys Fedoryshchenko
Technical Manager
Virtual ISP S.A.L.



\
 
 \ /
  Last update: 2008-04-03 07:25    [W:0.040 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site