* AGP mem resource is 64 bits, so no X ?
@ 2006-07-12 22:11 J.A. Magallón
2006-07-13 22:05 ` Petr Vandrovec
0 siblings, 1 reply; 2+ messages in thread
From: J.A. Magallón @ 2006-07-12 22:11 UTC (permalink / raw)
To: Linux-Kernel,
Hi...
I have a box with a SuperMicro P4DCE+ mobo.
After an upgrade to the latest bios (v1.3, DC6P6273.zip), the kernel
(2.6.28-rc1-mm1) does not recognize the AGP card (an nvidia GeForce 6600 GT).
The propierary 'nvidia' driver does not load beacuse it says:
agpgart: Detected an Intel i860 Chipset.
agpgart: AGP aperture is 128M @ 0xe8000000
nvidia: module license 'NVIDIA' taints kernel.
NVRM: This PCI I/O region assigned to your NVIDIA device is invalid:
NVRM: BAR1 is 0M @ 0x00000000 (PCI:0001:00.0)
NVRM: The system BIOS may have misconfigured your graphics card.
nvidia: probe of 0000:01:00.0 failed with error -1
NVRM: The NVIDIA probe routine failed for 1 device(s).
NVRM: None of the NVIDIA graphics adapters were initialized!
and the OSS driver 'nv' just gives a bunch of black and white stripes on
the screen.
Googlin a bit I read something about the BIOS asigning a 64 bit address
to the AGP memory. Is really this ?
Hardware:
00:01.0 PCI bridge: Intel Corporation 82850 850 (Tehama) Chipset AGP Bridge (rev 04) (prog-if 00 [Normal decode])
Flags: bus master, 66MHz, fast devsel, latency 64
Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
Memory behind bridge: f0000000-f2ffffff
Prefetchable memory behind bridge: d8000000-e7ffffff
00:02.0 PCI bridge: Intel Corporation 82860 860 (Wombat) Chipset AGP Bridge (rev 04) (prog-if 00 [Normal decode])
Flags: bus master, 66MHz, fast devsel, latency 32
Bus: primary=00, secondary=02, subordinate=03, sec-latency=0
I/O behind bridge: 00009000-00009fff
Memory behind bridge: f3000000-f4ffffff
Prefetchable memory behind bridge: 50000000-501fffff
01:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600/GeForce 6600 GT] (rev a2) (prog-if 00 [VGA])
Subsystem: XFX Pine Group Inc. Unknown device 2165
Flags: bus master, VGA palette snoop, 66MHz, medium devsel, latency 32, IRQ 22
Memory at f0000000 (32-bit, non-prefetchable) [size=16M]
Memory at <ignored> (32-bit, prefetchable)
Memory at f1000000 (32-bit, non-prefetchable) [size=16M]
[virtual] Expansion ROM at d8000000 [disabled] [size=128K]
Capabilities: [60] Power Management version 2
Capabilities: [44] AGP version 3.0
Parts of dmesg:
BIOS-provided physical RAM map:
sanitize start
sanitize end
copy_e820_map() start: 0000000000000000 size: 000000000009f800 end: 000000000009f800 type: 1
copy_e820_map() type is E820_RAM
add_memory_region(0000000000000000, 000000000009f800, 1)
copy_e820_map() start: 000000000009f800 size: 0000000000000800 end: 00000000000a0000 type: 2
add_memory_region(000000000009f800, 0000000000000800, 2)
copy_e820_map() start: 00000000000f0000 size: 0000000000010000 end: 0000000000100000 type: 2
add_memory_region(00000000000f0000, 0000000000010000, 2)
copy_e820_map() start: 0000000000100000 size: 000000003fef0000 end: 000000003fff0000 type: 1
copy_e820_map() type is E820_RAM
add_memory_region(0000000000100000, 000000003fef0000, 1)
copy_e820_map() start: 000000003fff0000 size: 0000000000003000 end: 000000003fff3000 type: 4
add_memory_region(000000003fff0000, 0000000000003000, 4)
copy_e820_map() start: 000000003fff3000 size: 000000000000d000 end: 0000000040000000 type: 3
add_memory_region(000000003fff3000, 000000000000d000, 3)
copy_e820_map() start: 00000000fec00000 size: 0000000001400000 end: 0000000100000000 type: 2
add_memory_region(00000000fec00000, 0000000001400000, 2)
BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000003fff0000 (usable)
BIOS-e820: 000000003fff0000 - 000000003fff3000 (ACPI NVS)
BIOS-e820: 000000003fff3000 - 0000000040000000 (ACPI data)
BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
...
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
PCI quirk: region 0400-047f claimed by ICH4 ACPI/GPIO/TCO
PCI quirk: region 0480-04bf claimed by ICH4 GPIO
Boot video device is 0000:01:00.0
PCI: Firmware left 0000:04:04.0 e100 interrupts enabled, disabling
PCI: Transparent bridge - 0000:00:1e.0
PCI: Using IRQ router PIIX/ICH [8086/2440] at 0000:00:1f.0
PCI->APIC IRQ transform: 0000:00:1f.2[D] -> IRQ 19
PCI->APIC IRQ transform: 0000:00:1f.3[B] -> IRQ 17
PCI->APIC IRQ transform: 0000:00:1f.4[C] -> IRQ 23
PCI->APIC IRQ transform: 0000:00:1f.5[B] -> IRQ 17
PCI->APIC IRQ transform: 0000:01:00.0[A] -> IRQ 22
PCI->APIC IRQ transform: 0000:03:01.0[A] -> IRQ 18
PCI->APIC IRQ transform: 0000:03:02.0[A] -> IRQ 18
PCI->APIC IRQ transform: 0000:03:02.1[B] -> IRQ 18
PCI->APIC IRQ transform: 0000:04:02.0[A] -> IRQ 18
PCI->APIC IRQ transform: 0000:04:04.0[A] -> IRQ 16
PCI: Cannot allocate resource region 1 of device 0000:01:00.0
PCI: Failed to allocate mem resource #1:10000000@e0000000 for 0000:01:00.0
PCI: Bridge: 0000:00:01.0
IO window: disabled.
MEM window: f0000000-f2ffffff
PREFETCH window: d8000000-e7ffffff
PCI: Bridge: 0000:02:1f.0
IO window: 9000-9fff
MEM window: f3000000-f4ffffff
PREFETCH window: 50000000-501fffff
PCI: Bridge: 0000:00:02.0
IO window: 9000-9fff
MEM window: f3000000-f4ffffff
PREFETCH window: 50000000-501fffff
PCI: Bridge: 0000:00:1e.0
IO window: a000-afff
MEM window: f5000000-f6ffffff
PREFETCH window: 50200000-503fffff
PCI: Setting latency timer of device 0000:02:1f.0 to 64
PCI: Setting latency timer of device 0000:00:1e.0 to 64
Any idea ?
Anyone has a previous BIOS ;) to share ?
--
J.A. Magallon <jamagallon()ono!com> \ Software is like sex:
\ It's better when it's free
Mandriva Linux release 2007.0 (Cooker) for i586
Linux 2.6.17-jam03 (gcc 4.1.1 20060518 (prerelease)) #3 SMP PREEMPT Mon
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: AGP mem resource is 64 bits, so no X ?
2006-07-12 22:11 AGP mem resource is 64 bits, so no X ? J.A. Magallón
@ 2006-07-13 22:05 ` Petr Vandrovec
0 siblings, 0 replies; 2+ messages in thread
From: Petr Vandrovec @ 2006-07-13 22:05 UTC (permalink / raw)
To: "J.A. Magallón"; +Cc: Linux-Kernel,
J.A. Magallón wrote:
> Hi...
>
> I have a box with a SuperMicro P4DCE+ mobo.
> After an upgrade to the latest bios (v1.3, DC6P6273.zip), the kernel
> (2.6.28-rc1-mm1) does not recognize the AGP card (an nvidia GeForce 6600 GT).
> The propierary 'nvidia' driver does not load beacuse it says:
It is not 64bit AGP resource problem...
> agpgart: Detected an Intel i860 Chipset.
> agpgart: AGP aperture is 128M @ 0xe8000000
> Hardware:
>
> 00:01.0 PCI bridge: Intel Corporation 82850 850 (Tehama) Chipset AGP Bridge (rev 04) (prog-if 00 [Normal decode])
> Memory behind bridge: f0000000-f2ffffff
> Prefetchable memory behind bridge: d8000000-e7ffffff
>
> 00:02.0 PCI bridge: Intel Corporation 82860 860 (Wombat) Chipset AGP Bridge (rev 04) (prog-if 00 [Normal decode])
> Memory behind bridge: f3000000-f4ffffff
> Prefetchable memory behind bridge: 50000000-501fffff
>
> 01:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600/GeForce 6600 GT] (rev a2) (prog-if 00 [VGA])
> Memory at f0000000 (32-bit, non-prefetchable) [size=16M]
> Memory at <ignored> (32-bit, prefetchable)
> Memory at f1000000 (32-bit, non-prefetchable) [size=16M]
> [virtual] Expansion ROM at d8000000 [disabled] [size=128K]
>
> Parts of dmesg:
>
> PCI: Cannot allocate resource region 1 of device 0000:01:00.0
> PCI: Failed to allocate mem resource #1:10000000@e0000000 for 0000:01:00.0
>
> Any idea ?
> Anyone has a previous BIOS ;) to share ?
It is just fatally confused BIOS. Your NVidia needs 256MB region for its
framebuffer apperture, but BIOS assigned 256MB for it at 0xE0000000, and later
it revoked second half of this assignment in favor of AGP aperture. Which on
electrical level means that only first 128MB of nvidia will be accessible from CPU.
While Windows will probably just complain loudly that from specified 256MB range
only 128MB is routed down to the adapter, and maybe even nvidia driver will cope
with it, using only 128MB of RAM, for Linux (rightly so) adapter is unusable, as
it wanted 256MB allocation for BAR1, but kernel could satisfy only 128MB without
redoing all PCI address space layout.
Besides going back to older BIOS I would recommend using different AGP aperture
size in the BIOS - with 256MB aperture I believe that you'll not trigger this
BIOS bug.
If it won't help, then you can try fiddling with pcibios_resource_survey() - if
you'll disable it, all resources should be assigned from scratch by
pci_assign_unassigned_resources. This way kernel should be able to find 256MB
chunk for adapter. To be able to use this aproach you definitely want to
disable legacy (or any...) support for USB in the BIOS, you do not want to use
vesa framebuffer, and maybe some other problems as well - it can break constants
encoded into ACPI tables :-(
Petr Vandrovec
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-07-13 22:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-12 22:11 AGP mem resource is 64 bits, so no X ? J.A. Magallón
2006-07-13 22:05 ` Petr Vandrovec
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox