* Re: [Bugme-new] [Bug 13976] New: viafb + vmalloc
[not found] <bug-13976-10286@http.bugzilla.kernel.org/>
@ 2009-08-13 19:36 ` Andrew Morton
2009-08-13 21:24 ` Florian Tobias Schandinat
0 siblings, 1 reply; 7+ messages in thread
From: Andrew Morton @ 2009-08-13 19:36 UTC (permalink / raw)
To: linux-fbdev-devel, Joseph Chan, Scott Fang
Cc: bugzilla-daemon, sungeneral, bugme-daemon
(switched to email. Please respond via emailed reply-to-all, not via the
bugzilla web interface).
On Thu, 13 Aug 2009 15:22:41 GMT
bugzilla-daemon@bugzilla.kernel.org wrote:
> http://bugzilla.kernel.org/show_bug.cgi?id=13976
>
> Summary: viafb + vmalloc
> Product: Drivers
> Version: 2.5
> Kernel Version: 2.6.30.4
> Platform: All
> OS/Version: Linux
> Tree: Mainline
> Status: NEW
> Severity: normal
> Priority: P1
> Component: Video(Other)
> AssignedTo: drivers_video-other@kernel-bugs.osdl.org
> ReportedBy: sungeneral@gmail.com
> Regression: No
OK, this is bad.
>
> #modprobe viafb
> Jun 21 05:17:53 mini2133 [ 50.504357] VIA Graphics Intergration Chipset
> framebuffer 2.4 initializing
> Jun 21 05:17:53 mini2133 [ 50.583434] vmap allocation for size 268439552
> failed: use vmalloc=<size> to increase size.
> Jun 21 05:17:53 mini2133 [ 50.583443] ioremap failed
>
> if add parametr vmalloc=260M to kernel
>
> #modprobe viafb
> Jun 21 05:11:17 mini2133 [ 60.692317] VIA Graphics Intergration Chipset
> framebuffer 2.4 initializing
> Jun 21 05:11:17 mini2133 [ 60.772731] vmap allocation for size 16781312
> failed: use vmalloc=<size> to increase size.
> Jun 21 05:11:17 mini2133 [ 60.772750] BUG: unable to handle kernel NULL
> pointer dereference at 00000004
> Jun 21 05:11:17 mini2133 [ 60.772921] IP: [<ef64a798>]
> viafb_init_2d_engine+0x16/0x583 [viafb]
> Jun 21 05:11:17 mini2133 [ 60.773005] *pde = 00000000
> Jun 21 05:11:17 mini2133 [ 60.773005] Oops: 0002 [#1] SMP
> Jun 21 05:11:17 mini2133 [ 60.773005] last sysfs file:
> /sys/devices/pci0000:00/0000:00:0f.0/host0/target0:0:0/0:0:0:0/block/sda/uevent
> Jun 21 05:11:17 mini2133 [ 60.773005] Modules linked in: viafb(+)
> i2c_algo_bit via drm via_agp agpgart
> Jun 21 05:11:17 mini2133 [ 60.773005]
> Jun 21 05:11:17 mini2133 [ 60.773005] Pid: 4084, comm: modprobe Not tainted
> (2.6.30-gentoo-r4 #13)
> Jun 21 05:11:17 mini2133 [ 60.773005] EIP: 0060:[<ef64a798>] EFLAGS: 00010202
> CPU: 0
> Jun 21 05:11:17 mini2133 [ 60.773005] EIP is at
> viafb_init_2d_engine+0x16/0x583 [viafb]
> Jun 21 05:11:17 mini2133 [ 60.773005] EAX: 00000004 EBX: ed8a5280 ECX:
> c256d700 EDX: 00000000
> Jun 21 05:11:17 mini2133 [ 60.773005] ESI: fffffffc EDI: 00000000 EBP:
> ed8b3f18 ESP: ed8b3f08
> Jun 21 05:11:17 mini2133 [ 60.773005] DS: 007b ES: 007b FS: 00d8 GS: 0033
> SS: 0068
> Jun 21 05:11:17 mini2133 [ 60.773005] Process modprobe (pid: 4084,
> ti=ed8b2000 task=ee7da220 task.ti=ed8b2000)
> Jun 21 05:11:17 mini2133 [ 60.773005] Stack:
> Jun 21 05:11:17 mini2133 [ 60.773005] 00000000 ed8a5280 fffffffc 00000000
> ed8b3f40 ef656505 00000000 ed8b3f40
> Jun 21 05:11:17 mini2133 [ 60.773005] c1062132 00000000 00000000 ef6535e4
> fffffffc 00000000 ed8b3f9c c1001137
> Jun 21 05:11:17 mini2133 [ 60.773005] ef656000 00000000 ef6535e4 00000001
> 00000000 c15dec24 00000000 c15dec34
> Jun 21 05:11:17 mini2133 [ 60.773005] Call Trace:
> Jun 21 05:11:17 mini2133 [ 60.773005] [<ef656505>] ? viafb_init+0x505/0xd2c
> [viafb]
> Jun 21 05:11:17 mini2133 [ 60.773005] [<c1062132>] ?
> marker_update_probe_range+0x1cf/0x1de
> Jun 21 05:11:17 mini2133 [ 60.773005] [<c1001137>] ?
> do_one_initcall+0x4a/0x10c
> Jun 21 05:11:17 mini2133 [ 60.773005] [<ef656000>] ? viafb_init+0x0/0xd2c
> [viafb]
> Jun 21 05:11:17 mini2133 [ 60.773005] [<c103ae2d>] ?
> __blocking_notifier_call_chain+0x40/0x4c
> Jun 21 05:11:17 mini2133 [ 60.773005] [<c10481f6>] ?
> sys_init_module+0x87/0x18b
> Jun 21 05:11:17 mini2133 [ 60.773005] [<c1002a44>] ?
> sysenter_do_call+0x12/0x22
> Jun 21 05:11:17 mini2133 [ 60.773005] Code: ff ff 03 00 89 42 44 a1 44 38 65
> ef 81 40 38 00 20 04 00 5d c3 55 31 d2 89 e5 57 56 53 83 ec 04 a1 44 38 65 ef
> 8b 40 1c 83 c0 04 <89> 10 a1 44 38 65 ef 8b 40 1c 83 c0 08 89 10 a1 44 38 65 ef
> 8b
> Jun 21 05:11:17 mini2133 [ 60.773005] EIP: [<ef64a798>]
> viafb_init_2d_engine+0x16/0x583 [viafb] SS:ESP 0068:ed8b3f08
> Jun 21 05:11:17 mini2133 [ 60.773005] CR2: 0000000000000004
> Jun 21 05:11:17 mini2133 [ 60.779905] ---[ end trace c390d80983a29e06 ]---
>
> ps: viafb build as a module
>
a) The driver appears to be ioremapping more virtual address space
than the machine can provide.
Is that expected?
b) When ioremap_nocache() failed, the driver went and crashed the
machine. I don't see how this can happen - via_pci_probe() seems to
handle this correctly.
It should return -ENOMEM rather than -1, but that's minor.
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Bugme-new] [Bug 13976] New: viafb + vmalloc
2009-08-13 19:36 ` [Bugme-new] [Bug 13976] New: viafb + vmalloc Andrew Morton
@ 2009-08-13 21:24 ` Florian Tobias Schandinat
2009-08-14 6:38 ` Roman Sergeev
0 siblings, 1 reply; 7+ messages in thread
From: Florian Tobias Schandinat @ 2009-08-13 21:24 UTC (permalink / raw)
To: Andrew Morton
Cc: linux-fbdev-devel, bugzilla-daemon, Joseph Chan, Scott Fang,
bugme-daemon, sungeneral
Hi,
excuse me to interfere although I don't know the memory
subsystem/functions very well.
Andrew Morton schrieb:
> (switched to email. Please respond via emailed reply-to-all, not via the
> bugzilla web interface).
>
> On Thu, 13 Aug 2009 15:22:41 GMT
> bugzilla-daemon@bugzilla.kernel.org wrote:
>
>> http://bugzilla.kernel.org/show_bug.cgi?id=13976
>>
>> Summary: viafb + vmalloc
>> Product: Drivers
>> Version: 2.5
>> Kernel Version: 2.6.30.4
>> Platform: All
>> OS/Version: Linux
>> Tree: Mainline
>> Status: NEW
>> Severity: normal
>> Priority: P1
>> Component: Video(Other)
>> AssignedTo: drivers_video-other@kernel-bugs.osdl.org
>> ReportedBy: sungeneral@gmail.com
>> Regression: No
>
> OK, this is bad.
>
>> #modprobe viafb
>> Jun 21 05:17:53 mini2133 [ 50.504357] VIA Graphics Intergration Chipset
>> framebuffer 2.4 initializing
>> Jun 21 05:17:53 mini2133 [ 50.583434] vmap allocation for size 268439552
>> failed: use vmalloc=<size> to increase size.
>> Jun 21 05:17:53 mini2133 [ 50.583443] ioremap failed
>>
>> if add parametr vmalloc=260M to kernel
>>
>> #modprobe viafb
>> Jun 21 05:11:17 mini2133 [ 60.692317] VIA Graphics Intergration Chipset
>> framebuffer 2.4 initializing
>> Jun 21 05:11:17 mini2133 [ 60.772731] vmap allocation for size 16781312
>> failed: use vmalloc=<size> to increase size.
>> Jun 21 05:11:17 mini2133 [ 60.772750] BUG: unable to handle kernel NULL
>> pointer dereference at 00000004
>> Jun 21 05:11:17 mini2133 [ 60.772921] IP: [<ef64a798>]
>> viafb_init_2d_engine+0x16/0x583 [viafb]
>> Jun 21 05:11:17 mini2133 [ 60.773005] *pde = 00000000
>> Jun 21 05:11:17 mini2133 [ 60.773005] Oops: 0002 [#1] SMP
>> Jun 21 05:11:17 mini2133 [ 60.773005] last sysfs file:
>> /sys/devices/pci0000:00/0000:00:0f.0/host0/target0:0:0/0:0:0:0/block/sda/uevent
>> Jun 21 05:11:17 mini2133 [ 60.773005] Modules linked in: viafb(+)
>> i2c_algo_bit via drm via_agp agpgart
>> Jun 21 05:11:17 mini2133 [ 60.773005]
>> Jun 21 05:11:17 mini2133 [ 60.773005] Pid: 4084, comm: modprobe Not tainted
>> (2.6.30-gentoo-r4 #13)
>> Jun 21 05:11:17 mini2133 [ 60.773005] EIP: 0060:[<ef64a798>] EFLAGS: 00010202
>> CPU: 0
>> Jun 21 05:11:17 mini2133 [ 60.773005] EIP is at
>> viafb_init_2d_engine+0x16/0x583 [viafb]
>> Jun 21 05:11:17 mini2133 [ 60.773005] EAX: 00000004 EBX: ed8a5280 ECX:
>> c256d700 EDX: 00000000
>> Jun 21 05:11:17 mini2133 [ 60.773005] ESI: fffffffc EDI: 00000000 EBP:
>> ed8b3f18 ESP: ed8b3f08
>> Jun 21 05:11:17 mini2133 [ 60.773005] DS: 007b ES: 007b FS: 00d8 GS: 0033
>> SS: 0068
>> Jun 21 05:11:17 mini2133 [ 60.773005] Process modprobe (pid: 4084,
>> ti=ed8b2000 task=ee7da220 task.ti=ed8b2000)
>> Jun 21 05:11:17 mini2133 [ 60.773005] Stack:
>> Jun 21 05:11:17 mini2133 [ 60.773005] 00000000 ed8a5280 fffffffc 00000000
>> ed8b3f40 ef656505 00000000 ed8b3f40
>> Jun 21 05:11:17 mini2133 [ 60.773005] c1062132 00000000 00000000 ef6535e4
>> fffffffc 00000000 ed8b3f9c c1001137
>> Jun 21 05:11:17 mini2133 [ 60.773005] ef656000 00000000 ef6535e4 00000001
>> 00000000 c15dec24 00000000 c15dec34
>> Jun 21 05:11:17 mini2133 [ 60.773005] Call Trace:
>> Jun 21 05:11:17 mini2133 [ 60.773005] [<ef656505>] ? viafb_init+0x505/0xd2c
>> [viafb]
>> Jun 21 05:11:17 mini2133 [ 60.773005] [<c1062132>] ?
>> marker_update_probe_range+0x1cf/0x1de
>> Jun 21 05:11:17 mini2133 [ 60.773005] [<c1001137>] ?
>> do_one_initcall+0x4a/0x10c
>> Jun 21 05:11:17 mini2133 [ 60.773005] [<ef656000>] ? viafb_init+0x0/0xd2c
>> [viafb]
>> Jun 21 05:11:17 mini2133 [ 60.773005] [<c103ae2d>] ?
>> __blocking_notifier_call_chain+0x40/0x4c
>> Jun 21 05:11:17 mini2133 [ 60.773005] [<c10481f6>] ?
>> sys_init_module+0x87/0x18b
>> Jun 21 05:11:17 mini2133 [ 60.773005] [<c1002a44>] ?
>> sysenter_do_call+0x12/0x22
>> Jun 21 05:11:17 mini2133 [ 60.773005] Code: ff ff 03 00 89 42 44 a1 44 38 65
>> ef 81 40 38 00 20 04 00 5d c3 55 31 d2 89 e5 57 56 53 83 ec 04 a1 44 38 65 ef
>> 8b 40 1c 83 c0 04 <89> 10 a1 44 38 65 ef 8b 40 1c 83 c0 08 89 10 a1 44 38 65 ef
>> 8b
>> Jun 21 05:11:17 mini2133 [ 60.773005] EIP: [<ef64a798>]
>> viafb_init_2d_engine+0x16/0x583 [viafb] SS:ESP 0068:ed8b3f08
>> Jun 21 05:11:17 mini2133 [ 60.773005] CR2: 0000000000000004
>> Jun 21 05:11:17 mini2133 [ 60.779905] ---[ end trace c390d80983a29e06 ]---
>>
>> ps: viafb build as a module
>>
>
> a) The driver appears to be ioremapping more virtual address space
> than the machine can provide.
>
> Is that expected?
I don't know.
Is the video memory size detection of (I think) 256 MB correct?
What is the graphic chip? (CLE266, CN400, CN700, KM400, CX700 or VX800?)
> b) When ioremap_nocache() failed, the driver went and crashed the
> machine. I don't see how this can happen - via_pci_probe() seems to
> handle this correctly.
>
> It should return -ENOMEM rather than -1, but that's minor.
If an ioremap_nocache() can cause this, I don't see why it can't be the
later one:
viaparinfo->io_virt = ioremap_nocache()
As far as I know this is only used for acceleration so a quick test can
be done with viafb_accel=0 module parameter.
Regards,
Florian Tobias Schandinat
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Bugme-new] [Bug 13976] New: viafb + vmalloc
2009-08-13 21:24 ` Florian Tobias Schandinat
@ 2009-08-14 6:38 ` Roman Sergeev
2009-08-14 8:49 ` Florian Tobias Schandinat
0 siblings, 1 reply; 7+ messages in thread
From: Roman Sergeev @ 2009-08-14 6:38 UTC (permalink / raw)
To: Florian Tobias Schandinat
Cc: linux-fbdev-devel, bugzilla-daemon, Joseph Chan, Scott Fang,
bugme-daemon, Andrew Morton
On 14.08.2009, at 1:24, Florian Tobias Schandinat wrote:
>>>
>>> ps: viafb build as a module
>>>
>> a) The driver appears to be ioremapping more virtual address space
>> than the machine can provide.
>> Is that expected?
>
> I don't know.
> Is the video memory size detection of (I think) 256 MB correct?
> What is the graphic chip? (CLE266, CN400, CN700, KM400, CX700 or
> VX800?)
>
01:00.0 VGA compatible controller: VIA Technologies, Inc. P4M900
[Chrome 9 HC] (rev 01)
with shadow ram (total 2Gb, but system see 1768Mb... maybe 280Mb)
after modprobe viafb don't die, they going to new state
viafb 75212 1 - Loading 0xef642000
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Bugme-new] [Bug 13976] New: viafb + vmalloc
2009-08-14 6:38 ` Roman Sergeev
@ 2009-08-14 8:49 ` Florian Tobias Schandinat
2009-08-14 10:46 ` Roman Sergeev
0 siblings, 1 reply; 7+ messages in thread
From: Florian Tobias Schandinat @ 2009-08-14 8:49 UTC (permalink / raw)
To: Roman Sergeev
Cc: linux-fbdev-devel, bugzilla-daemon, Joseph Chan, Scott Fang,
bugme-daemon, Andrew Morton
Roman Sergeev schrieb:
> 01:00.0 VGA compatible controller: VIA Technologies, Inc. P4M900 [Chrome
> 9 HC] (rev 01)
> with shadow ram (total 2Gb, but system see 1768Mb... maybe 280Mb)
This makes sense:
2 GB physical RAM
- 256 MB used as shared memory video RAM
= 1792 MB available
I don't know where the other memory is lost but the video memory size
seems to be detected correctly.
> after modprobe viafb don't die, they going to new state
> viafb 75212 1 - Loading 0xef642000
I don't know if I get you right here:
After "modprobe viafb viafb_accel=0" the module does no longer crash?
But I don't know what state you are talking about. Is the module usable?
(i.e. does "modprobe fbcon" give you a working framebuffer console?) Or
can you otherwise post a new log?
An alternative to disabling the hardware acceleration might be to
increase vmalloc=260M to a value greater than 256+16 MB, like
vmalloc=300MB or so.
Okay, I think I have a deeper understanding now:
- the driver tries to remap 256 MB (video framebuffer) and 16 MB (MMIO
registers)
- the free region is per default only 128 MB and is only on systems with
significant less physical RAM than kernel virtual memory space bigger
So in addition to handle the second ioremap failure (for which I have
already a patch prepared) one of the following might be nice
- add/reuse module/boot parameter to limit the available video memory size
- automatically try to remap smaller parts of the video memory if the
first ioremap fails
- after having checked the code again I think it uses very rarely the
remapped video memory. If I didn't miss a big thing after having my
recent patches applied there might be 2-3 places left that use a few
kilobytes of it. Nothing that justifies permanently remapping the whole
bunch. If no one speaks against it I'll try to replace this big remap
with one or two small ones. Though this might take a while.
Any comments?
Regards,
Florian Tobias Schandinat
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Bugme-new] [Bug 13976] New: viafb + vmalloc
2009-08-14 8:49 ` Florian Tobias Schandinat
@ 2009-08-14 10:46 ` Roman Sergeev
2009-08-14 12:44 ` Florian Tobias Schandinat
0 siblings, 1 reply; 7+ messages in thread
From: Roman Sergeev @ 2009-08-14 10:46 UTC (permalink / raw)
To: Florian Tobias Schandinat
Cc: linux-fbdev-devel, bugzilla-daemon, Joseph Chan, Scott Fang,
bugme-daemon, Andrew Morton
Hi!
On 14.08.2009, at 12:49, Florian Tobias Schandinat wrote:
> Roman Sergeev schrieb:
>> 01:00.0 VGA compatible controller: VIA Technologies, Inc. P4M900
>> [Chrome 9 HC] (rev 01)
>> with shadow ram (total 2Gb, but system see 1768Mb... maybe 280Mb)
>
> This makes sense:
> 2 GB physical RAM
> - 256 MB used as shared memory video RAM
> = 1792 MB available
> I don't know where the other memory is lost but the video memory
> size seems to be detected correctly.
>
>> after modprobe viafb don't die, they going to new state
>> viafb 75212 1 - Loading 0xef642000
>
> I don't know if I get you right here:
> After "modprobe viafb viafb_accel=0" the module does no longer
> crash? But I don't know what state you are talking about. Is the
> module usable? (i.e. does "modprobe fbcon" give you a working
> framebuffer console?) Or can you otherwise post a new log?
>
>
i make some "test"
test # 0
# modprobe viafb
FATAL: Error inserting viafb (/lib/modules/2.6.30-gentoo-r4/kernel/
drivers/video/via/viafb.ko): Operation not permitted
log:
Jun 22 00:34:48 mini2133 [ 89.952746] VIA Graphics Intergration
Chipset framebuffer 2.4 initializing
Jun 22 00:34:48 mini2133 [ 90.031236] vmap allocation for size
268439552 failed: use vmalloc=<size> to increase size.
Jun 22 00:34:48 mini2133 [ 90.031244] ioremap failed
test # 1
* send to kernel "vmalloc=260M"
# modprobe viafb
Killed
log:
Jun 22 00:41:50 mini2133 [ 46.690400] VIA Graphics Intergration
Chipset framebuffer 2.4 initializing
Jun 22 00:41:50 mini2133 [ 46.770663] vmap allocation for size
16781312 failed: use vmalloc=<size> to increase size.
Jun 22 00:41:50 mini2133 [ 46.770684] BUG: unable to handle kernel
NULL pointer dereference at 00000004
Jun 22 00:41:50 mini2133 [ 46.770885] IP: [<ef64a798>]
viafb_init_2d_engine+0x16/0x583 [viafb]
Jun 22 00:41:50 mini2133 [ 46.771005] *pde = 00000000
Jun 22 00:41:50 mini2133 [ 46.771005] Oops: 0002 [#1] SMP
Jun 22 00:41:50 mini2133 [ 46.771005] last sysfs file: /sys/devices/
pci0000:00/0000:00:0f.0/host0/target0:0:0/0:0:0:0/block/sda/uevent
Jun 22 00:41:50 mini2133 [ 46.771005] Modules linked in: viafb(+)
i2c_algo_bit via drm via_agp agpgart
Jun 22 00:41:50 mini2133 [ 46.771005]
Jun 22 00:41:50 mini2133 [ 46.771005] Pid: 4094, comm: modprobe Not
tainted (2.6.30-gentoo-r4 #13)
Jun 22 00:41:50 mini2133 [ 46.771005] EIP: 0060:[<ef64a798>] EFLAGS:
00010202 CPU: 0
Jun 22 00:41:50 mini2133 [ 46.771005] EIP is at viafb_init_2d_engine
+0x16/0x583 [viafb]
Jun 22 00:41:50 mini2133 [ 46.771005] EAX: 00000004 EBX: ed8bd280
ECX: c256d700 EDX: 00000000
Jun 22 00:41:50 mini2133 [ 46.771005] ESI: fffffffc EDI: 00000000
EBP: ed8c1f18 ESP: ed8c1f08
Jun 22 00:41:50 mini2133 [ 46.771005] DS: 007b ES: 007b FS: 00d8
GS: 0033 SS: 0068
Jun 22 00:41:50 mini2133 [ 46.771005] Process modprobe (pid: 4094,
ti=ed8c0000 task=ee7d84e0 task.ti=ed8c0000)
Jun 22 00:41:50 mini2133 [ 46.771005] Stack:
Jun 22 00:41:50 mini2133 [ 46.771005] 00000000 ed8bd280 fffffffc
00000000 ed8c1f40 ef656505 00000000 ed8c1f40
Jun 22 00:41:50 mini2133 [ 46.771005] c1062132 00000000 00000000
ef6535e4 fffffffc 00000000 ed8c1f9c c1001137
Jun 22 00:41:50 mini2133 [ 46.771005] ef656000 00000000 ef6535e4
00000001 00000000 c15dec24 00000000 c15dec34
Jun 22 00:41:50 mini2133 [ 46.771005] Call Trace:
Jun 22 00:41:50 mini2133 [ 46.771005] [<ef656505>] ? viafb_init
+0x505/0xd2c [viafb]
Jun 22 00:41:50 mini2133 [ 46.771005] [<c1062132>] ?
marker_update_probe_range+0x1cf/0x1de
Jun 22 00:41:50 mini2133 [ 46.771005] [<c1001137>] ? do_one_initcall
+0x4a/0x10c
Jun 22 00:41:50 mini2133 [ 46.771005] [<ef656000>] ? viafb_init
+0x0/0xd2c [viafb]
Jun 22 00:41:50 mini2133 [ 46.771005] [<c103ae2d>] ?
__blocking_notifier_call_chain+0x40/0x4c
Jun 22 00:41:50 mini2133 [ 46.771005] [<c10481f6>] ? sys_init_module
+0x87/0x18b
Jun 22 00:41:50 mini2133 [ 46.771005] [<c1002a44>] ?
sysenter_do_call+0x12/0x22
Jun 22 00:41:50 mini2133 [ 46.771005] Code: ff ff 03 00 89 42 44 a1
44 38 65 ef 81 40 38 00 20 04 00 5d c3 55 31 d2 89 e5 57 56 53 83 ec
04 a1 44 38 65 ef 8b 40 1c 83 c0 04 <89> 10 a1 44 38 65 ef 8b 40 1c 83
c0 08 89 10 a1 44 38 65 ef 8b
Jun 22 00:41:50 mini2133 [ 46.771005] EIP: [<ef64a798>]
viafb_init_2d_engine+0x16/0x583 [viafb] SS:ESP 0068:ed8c1f08
Jun 22 00:41:50 mini2133 [ 46.771005] CR2: 0000000000000004
Jun 22 00:41:50 mini2133 [ 46.777862] ---[ end trace
e41091c450ca8ab2 ]---
status:
# grep viafb /proc/modules
viafb 75212 1 - Loading 0xef642000
i2c_algo_bit 4656 1 viafb, Live 0xef624000
test # 2
* send to kernel "vmalloc=300M"
* modprobe viafb
* loaded ok
status:
# grep viafb /proc/modules
viafb 71840 1 - Live 0xece42000
i2c_algo_bit 4656 1 viafb, Live 0xece24000
log:
Jun 21 23:52:12 mini2133 [ 47.308459] VIA Graphics Intergration
Chipset framebuffer 2.4 initializing
Jun 21 23:52:12 mini2133 [ 47.393518] Console: switching to colour
frame buffer device 80x30
but i see "test color mode"
fbset -i
mode "640x480-60"
# D: 25.175 MHz, H: 31.469 kHz, V: 59.940 Hz
geometry 640 480 640 480 32
timings 39722 48 16 33 10 96 2
accel true
rgba 8/16,8/8,8/0,0/0
endmode
Frame buffer device information:
Name : Via
Address : 0xc0000000
Size : 268156928
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 0
YPanStep : 1
YWrapStep : 0
LineLength : 2560
MMIO Address: 0xfc000000
MMIO Size : 16777216
Accelerator : Unknown (50)
if i loading module with parametrs "modprobe viafb viafb_mode=800x600
viafb_refresh=60"
they still go "test color mode"
log:
Jun 22 00:28:11 mini2133 [ 142.994541] VIA Graphics Intergration
Chipset framebuffer 2.4 initializing
Jun 22 00:28:11 mini2133 [ 143.079079] Console: switching to colour
frame buffer device 100x37
ps: other \ standart kernel framebuffer module on this card works well
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Bugme-new] [Bug 13976] New: viafb + vmalloc
2009-08-14 10:46 ` Roman Sergeev
@ 2009-08-14 12:44 ` Florian Tobias Schandinat
2009-08-14 16:33 ` Roman Sergeev
0 siblings, 1 reply; 7+ messages in thread
From: Florian Tobias Schandinat @ 2009-08-14 12:44 UTC (permalink / raw)
To: Roman Sergeev
Cc: linux-fbdev-devel, bugzilla-daemon, Joseph Chan, Scott Fang,
bugme-daemon, Andrew Morton
Hi,
thanks a lot for your testing!
Roman Sergeev schrieb:
> test # 1
> * send to kernel "vmalloc=260M"
>
> # modprobe viafb
For my patch to fix this bug I would be interested in something like this:
* send to kernel "vmalloc=260M"
# modprobe viafb viafb_accel=0
If it is similar to the result of test #2 I could simply disable
hardware acceleration if the second ioremap fails which is IMHO better
than refusing to work as hardware acceleration is a nice to have but not
crucial for device operation.
> test # 2
> * send to kernel "vmalloc=300M"
> * modprobe viafb
> * loaded ok
>
> status:
> # grep viafb /proc/modules
> viafb 71840 1 - Live 0xece42000
> i2c_algo_bit 4656 1 viafb, Live 0xece24000
>
> log:
> Jun 21 23:52:12 mini2133 [ 47.308459] VIA Graphics Intergration
> Chipset framebuffer 2.4 initializing
> Jun 21 23:52:12 mini2133 [ 47.393518] Console: switching to colour
> frame buffer device 80x30
>
> but i see "test color mode"
>
> fbset -i
>
> mode "640x480-60"
> # D: 25.175 MHz, H: 31.469 kHz, V: 59.940 Hz
> geometry 640 480 640 480 32
> timings 39722 48 16 33 10 96 2
> accel true
> rgba 8/16,8/8,8/0,0/0
> endmode
>
> Frame buffer device information:
> Name : Via
> Address : 0xc0000000
> Size : 268156928
> Type : PACKED PIXELS
> Visual : TRUECOLOR
> XPanStep : 0
> YPanStep : 1
> YWrapStep : 0
> LineLength : 2560
> MMIO Address: 0xfc000000
> MMIO Size : 16777216
> Accelerator : Unknown (50)
>
> if i loading module with parametrs "modprobe viafb viafb_mode=800x600
> viafb_refresh=60"
> they still go "test color mode"
> log:
> Jun 22 00:28:11 mini2133 [ 142.994541] VIA Graphics Intergration
> Chipset framebuffer 2.4 initializing
> Jun 22 00:28:11 mini2133 [ 143.079079] Console: switching to colour
> frame buffer device 100x37
This looks fine. I'd guess the driver itself is working. Unfortunately I
do not fully understand the term "test color mode". Can you describe
what you see? monocolor, if yes what color or some strange patterns?
even whether it is shown immediately or is somehow slowly painted might
help.
Perhaps using the module parameter viafb_active_dev= with one of CRT,
DVI or LCD helps?
If it doesn't....well I'm aware of one bug in that code that I hit on my
netbook. Will send you a fix if your observations sound related.
> ps: other \ standart kernel framebuffer module on this card works well
Yeah, the problem we now hit is some monitor misconfiguration but as the
standard vga/vesa driver does not really know about those device
specific things that's expected.
Thanks,
Florian Tobias Schandinat
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Bugme-new] [Bug 13976] New: viafb + vmalloc
2009-08-14 12:44 ` Florian Tobias Schandinat
@ 2009-08-14 16:33 ` Roman Sergeev
0 siblings, 0 replies; 7+ messages in thread
From: Roman Sergeev @ 2009-08-14 16:33 UTC (permalink / raw)
To: Florian Tobias Schandinat
Cc: linux-fbdev-devel, bugzilla-daemon, Joseph Chan, Scott Fang,
bugme-daemon, Andrew Morton
Hi!
On 14.08.2009, at 16:44, Florian Tobias Schandinat wrote:
> Hi,
>
> thanks a lot for your testing!
>
> Roman Sergeev schrieb:
>> test # 1
>> * send to kernel "vmalloc=260M"
>> # modprobe viafb
>
> For my patch to fix this bug I would be interested in something like
> this:
> * send to kernel "vmalloc=260M"
> # modprobe viafb viafb_accel=0
> If it is similar to the result of test #2 I could simply disable
> hardware acceleration if the second ioremap fails which is IMHO
> better than refusing to work as hardware acceleration is a nice to
> have but not crucial for device operation.
>
yes, it's working
log:
Jun 22 06:15:50 mini2133 [ 59.646904] VIA Graphics Intergration
Chipset framebuffer 2.4 initializing
Jun 22 06:15:50 mini2133 [ 59.727808] vmap allocation for size
16781312 failed: use vmalloc=<size> to increase size.
Jun 22 06:15:50 mini2133 [ 59.732024] Console: switching to colour
frame buffer device 80x30
# grep viafb /proc/modules
viafb 71840 1 - Live 0xef642000
i2c_algo_bit 4656 1 viafb, Live 0xef624000
>> test # 2
>> * send to kernel "vmalloc=300M"
>> * modprobe viafb
>> * loaded ok
>> status:
>> # grep viafb /proc/modules
>> viafb 71840 1 - Live 0xece42000
>> i2c_algo_bit 4656 1 viafb, Live 0xece24000
>> log:
>> Jun 21 23:52:12 mini2133 [ 47.308459] VIA Graphics Intergration
>> Chipset framebuffer 2.4 initializing
>> Jun 21 23:52:12 mini2133 [ 47.393518] Console: switching to
>> colour frame buffer device 80x30
>> but i see "test color mode"
>> ...
>> if i loading module with parametrs "modprobe viafb
>> viafb_mode=800x600 viafb_refresh=60"
>> they still go "test color mode"
>> log:
>> Jun 22 00:28:11 mini2133 [ 142.994541] VIA Graphics Intergration
>> Chipset framebuffer 2.4 initializing
>> Jun 22 00:28:11 mini2133 [ 143.079079] Console: switching to
>> colour frame buffer device 100x37
>
> This looks fine. I'd guess the driver itself is working.
> Unfortunately I do not fully understand the term "test color mode".
> Can you describe what you see? monocolor, if yes what color or some
> strange patterns? even whether it is shown immediately or is somehow
> slowly painted might help.
>
> Perhaps using the module parameter viafb_active_dev= with one of
> CRT, DVI or LCD helps?
> If it doesn't....well I'm aware of one bug in that code that I hit
> on my netbook. Will send you a fix if your observations sound related.
# modprobe viafb viafb_accel=0 viafb_active_dev=LCD viafb_mode=1024x768
works....
log:
Jun 22 06:30:01 mini2133 [ 40.666874] VIA Graphics Intergration
Chipset framebuffer 2.4 initializing
Jun 22 06:30:01 mini2133 [ 40.748196] vmap allocation for size
16781312 failed: use vmalloc=<size> to increase size.
Jun 22 06:30:01 mini2133 [ 40.752198] Console: switching to colour
frame buffer device 128x48
# fbset -i
mode "1024x768-60"
# D: 64.998 MHz, H: 48.362 kHz, V: 60.002 Hz
geometry 1024 768 1024 768 32
timings 15385 160 24 29 3 136 6
rgba 8/16,8/8,8/0,0/0
endmode
Frame buffer device information:
Name : Via
Address : 0xc0000000
Size : 268435456
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 0
YPanStep : 1
YWrapStep : 0
LineLength : 4096
MMIO Address: 0xfc000000
MMIO Size : 16777216
Accelerator : Unknown (50)
"test color mode" - it's like lcd test : red-green-blue-grey-
gradient-...etc
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-08-14 16:34 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <bug-13976-10286@http.bugzilla.kernel.org/>
2009-08-13 19:36 ` [Bugme-new] [Bug 13976] New: viafb + vmalloc Andrew Morton
2009-08-13 21:24 ` Florian Tobias Schandinat
2009-08-14 6:38 ` Roman Sergeev
2009-08-14 8:49 ` Florian Tobias Schandinat
2009-08-14 10:46 ` Roman Sergeev
2009-08-14 12:44 ` Florian Tobias Schandinat
2009-08-14 16:33 ` Roman Sergeev
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).