[Linux-Biella] PROBLEM: MTRR wrong inizialization
Daniele (Mastro)
daniele.bilug a gmail.com
Gio 9 Nov 2006 17:05:00 CET
ditemi che ne pensate.. manderei questa alla lista
linux-kernel a vger.kernel.org
correzioni.. consigli.. parti da rimuovere o aggiungere... correzioni
ortografiche o di forma sull'inglese.. ecc.. ecc..
anche l'oggetto sarà quello...
mi sono attenuto, per quanto possibile, a quanto spiegato qua:
http://www.kernel.org/pub/linux/docs/lkml/reporting-bugs.html
hi,
Problem:
all (8) the MTRR registers get occupied in a strange way
Full description:
i have a laptop (asus a4k) and i know this problem happend to other with
the same laptop or similar.. (see as an example this different model has
the same problem:
http://forums.amd.com/lofiversion/index.php/t37084-50.html)
when i boot i found this /proc/mtrr
reg00: base=0x00000000 ( 0MB), size= 16MB: write-back, count=1
reg01: base=0x01000000 ( 16MB), size= 16MB: write-back, count=1
reg02: base=0x02000000 ( 32MB), size= 32MB: write-back, count=1
reg03: base=0x04000000 ( 64MB), size= 64MB: write-back, count=1
reg04: base=0x08000000 ( 128MB), size= 128MB: write-back, count=1
reg05: base=0x10000000 ( 256MB), size= 256MB: write-back, count=1
reg06: base=0x20000000 ( 512MB), size= 512MB: write-back, count=1
reg07: base=0x40000000 (1024MB), size=1024MB: write-back, count=1
i have 2 GB of ram (2 block of 1GB each)
as you see all the register get occupied
this caused me some problem with the graphic card (ex.: no/very slow 3d
acceleration) and video buffer so I "solved" placing this as a boot script:
for i in 1 2 3 4 5 0 6 7; do echo "disable=$i" >| /proc/mtrr; done; echo
"base=0x00000000 size=0x40000000 type=write-back" >| /proc/mtrr; echo
"base=0x40000000 size=0x40000000 type=write-back" >| /proc/mtrr
now it's better:
reg00: base=0x00000000 ( 0MB), size=1024MB: write-back, count=1
reg01: base=0x40000000 (1024MB), size=1024MB: write-back, count=1
reg02: base=0xe0000000 (3584MB), size= 64MB: write-combining, count=8
reg03: base=0xf0000000 (3840MB), size= 128MB: write-combining, count=1
but still have some problem:
agpgart: Setting up Nforce3 AGP.
agpgart: AGP aperture is 128M @ 0xf0000000
ACPI: PCI Interrupt Link [LNKE] enabled at IRQ 11
ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKE] -> GSI 11 (level,
low) -> IRQ 11
radeonfb: Retrieved PLL infos from BIOS
radeonfb: Reference=27.00 MHz (RefDiv=6) Memory=390.00 Mhz,
System=230.00 MHz
radeonfb: PLL min 20000 max 40000
Non-DDC laptop panel detected
radeonfb: Monitor 1 type LCD found
radeonfb: Monitor 2 type no found
radeonfb: panel ID string: Samsung LTN154X1 WXGA
radeonfb: detected LVDS panel size from BIOS: 1280x800
radeondb: BIOS provided dividers will be used
radeonfb: Dynamic Clock Power Management enabled
Console: switching to colour frame buffer device 160x50
mtrr: no more MTRRs available
radeonfb (0000:01:00.0): ATI Radeon NP
vesafb: cannot reserve video memory at 0xe0000000
vesafb: framebuffer at 0xe0000000, mapped to 0xf9900000, using 4608k,
total 65536k
vesafb: mode is 1024x768x24, linelength=3072, pages=27
vesafb: protected mode interface info at c000:563b
vesafb: pmi: set display start = c00c56a9, set palette = c00c56e3
vesafb: pmi: ports = b010 b016 b054 b038 b03c b05c b000 b004 b0b0 b0b2 b0b4
vesafb: scrolling: redraw
vesafb: Truecolor: size=0:8:8:8, shift=0:16:8:0
fb1: VESA VGA frame buffer device
this happen before any script, so i can't "fix" it
i don't know how this work, and why i have this problem.. but i've seen
there is some specific fix in the mtrr code for other specific hardware...
i think this is a bios bug.. but i have already tried all the bios
version from asus web site without luck..
Kernel Version:
Linux version 2.6.18-gentoo-r1 (root a mastro) (gcc version 4.1.1 (Gentoo
4.1.1-r1)) #7 PREEMPT Mon Nov 6 22:29:29 CET 2006
same problem with other version, too.. i've tried
debian/ubuntu/mandriva from kernel 2.6.15 to the last one
Environment:
My hardware in short:
Laptop AMD 64 3200+, ATI Mobility Radeon 9700 128 MB VideoRam, Bus
NVidia N-Force3, 2 Block of 1 GB each of RAM DDR400
# lspci
00:00.0 Host bridge: nVidia Corporation nForce3 Host Bridge (rev a4)
00:01.0 ISA bridge: nVidia Corporation nForce3 LPC Bridge (rev f6)
00:01.1 SMBus: nVidia Corporation nForce3 SMBus (rev a4)
00:02.0 USB Controller: nVidia Corporation nForce3 USB 1.1 (rev a5)
00:02.1 USB Controller: nVidia Corporation nForce3 USB 1.1 (rev a5)
00:02.2 USB Controller: nVidia Corporation nForce3 USB 2.0 (rev a2)
00:06.0 Multimedia audio controller: nVidia Corporation nForce3 Audio
(rev a2)
00:06.1 Modem: nVidia Corporation nForce3 Audio (rev a2)
00:08.0 IDE interface: nVidia Corporation nForce3 IDE (rev a5)
00:0a.0 PCI bridge: nVidia Corporation nForce3 PCI Bridge (rev a2)
00:0b.0 PCI bridge: nVidia Corporation nForce3 AGP Bridge (rev a4)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
Miscellaneous Control
01:00.0 VGA compatible controller: ATI Technologies Inc RV350 [Mobility
Radeon 9600 M10]
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001
Gigabit Ethernet Controller (rev 13)
02:01.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b3)
02:01.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller
(rev 08)
02:01.2 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host
Adapter (rev 17)
02:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host
Adapter (rev 08)
Software:
Linux mastro 2.6.18-gentoo-r1 #7 PREEMPT Mon Nov 6 22:29:29 CET 2006
i686 Mobile AMD Athlon(tm) 64 Processor 3200+ AuthenticAMD GNU/Linux
Gnu C 4.1.1
Gnu make 3.81
binutils 2.17
util-linux 2.12r
mount 2.12r
module-init-tools 3.2.2
e2fsprogs 1.39
jfsutils 1.1.11
reiser4progs 1.0.5
xfsprogs 2.8.11
Linux C Library > libc.2.5
Dynamic linker (ldd) 2.5
Procps 3.2.7
Net-tools 1.60
Kbd 1.12
Sh-utils 6.4
udev 103
Modules Loaded fglrx snd_pcm_oss snd_mixer_oss snd_seq_oss
snd_seq_midi_event snd_seq snd_seq_device serio_raw sdhci mmc_core
parport_pc yenta_socket skge rsrc_nonstatic pcmcia_core parport 8250_pci
8250 serial_core snd_intel8x0m snd_intel8x0 snd_ac97_codec snd_ac97_bus
snd_pcm snd_timer snd i2c_nforce2 snd_page_alloc
Processor:
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 4
model name : Mobile AMD Athlon(tm) 64 Processor 3200+
stepping : 10
cpu MHz : 2000.000
cache size : 1024 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm
3dnowext 3dnow ts fid vid ttp
bogomips : 4198.31
Modules:
fglrx 410412 8 - Live 0xf9ef3000
snd_pcm_oss 42528 0 - Live 0xf9e6d000
snd_mixer_oss 17152 1 snd_pcm_oss, Live 0xf9e3d000
snd_seq_oss 32896 0 - Live 0xf9e55000
snd_seq_midi_event 7680 1 snd_seq_oss, Live 0xf9dab000
snd_seq 51280 4 snd_seq_oss,snd_seq_midi_event, Live 0xf9e47000
snd_seq_device 8396 2 snd_seq_oss,snd_seq, Live 0xf9da7000
serio_raw 7172 0 - Live 0xf9da4000
sdhci 17676 0 - Live 0xf98fa000
mmc_core 24912 1 sdhci, Live 0xf9db6000
parport_pc 24292 0 - Live 0xf9d81000
yenta_socket 26444 0 - Live 0xf9dae000
skge 37264 0 - Live 0xf9d99000
rsrc_nonstatic 12096 1 yenta_socket, Live 0xf98e9000
pcmcia_core 40208 2 yenta_socket,rsrc_nonstatic, Live 0xf9d8e000
parport 25920 1 parport_pc, Live 0xf98f2000
8250_pci 21184 0 - Live 0xf98d3000
8250 21732 1 8250_pci, Live 0xf98e2000
serial_core 21440 1 8250, Live 0xf98db000
snd_intel8x0m 17036 0 - Live 0xf98cd000
snd_intel8x0 32092 1 - Live 0xf8877000
snd_ac97_codec 90912 2 snd_intel8x0m,snd_intel8x0, Live 0xf98a0000
snd_ac97_bus 2368 1 snd_ac97_codec, Live 0xf886d000
snd_pcm 77832 4 snd_pcm_oss,snd_intel8x0m,snd_intel8x0,snd_ac97_codec,
Live 0xf98b8000
snd_timer 23108 2 snd_seq,snd_pcm, Live 0xf9881000
snd 51748 12
snd_pcm_oss,snd_mixer_oss,snd_seq_oss,snd_seq,snd_seq_device,snd_intel8x0m,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer,
Live 0xf9892000
i2c_nforce2 7104 0 - Live 0xf8874000
snd_page_alloc 10120 3 snd_intel8x0m,snd_intel8x0,snd_pcm, Live 0xf8870000
Loaded Driver and Hardware information:
# cat /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-006f : keyboard
0070-0077 : rtc
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
02f8-02ff : serial
0376-0376 : ide1
0378-037a : parport0
03c0-03df : vesafb
03f6-03f6 : ide0
0a00-0a0f : pnp 00:07
0cf8-0cff : PCI conf1
4000-4003 : ACPI PM1a_EVT_BLK
4004-4005 : ACPI PM1a_CNT_BLK
4008-400b : ACPI PM_TMR
401c-401c : ACPI PM2_CNT_BLK
4020-4027 : ACPI GPE0_BLK
44a0-44af : ACPI GPE1_BLK
5000-503f : 0000:00:01.1
5000-503f : nForce2_smbus
5040-507f : 0000:00:01.1
5040-507f : nForce2_smbus
9000-bfff : PCI Bus #01
b000-b0ff : 0000:01:00.0
c000-dfff : PCI Bus #02
c000-c0ff : PCI CardBus #03
c400-c4ff : PCI CardBus #03
d800-d8ff : 0000:02:00.0
d800-d8ff : skge
e080-e0ff : 0000:00:06.0
e080-e0ff : NVidia nForce3
e400-e4ff : 0000:00:06.0
e400-e4ff : NVidia nForce3
e800-e8ff : 0000:00:06.1
e800-e8ff : NVidia nForce3 Modem
ec00-ec7f : 0000:00:06.1
ec00-ec7f : NVidia nForce3 Modem
ffa0-ffaf : 0000:00:08.0
ffa0-ffa7 : ide0
ffa8-ffaf : ide1
# cat /proc/iomem
00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000cefff : Video ROM
000f0000-000fffff : System ROM
00100000-7ff3ffff : System RAM
00100000-004113cb : Kernel code
004113cc-0056728f : Kernel data
7ff40000-7ff4ffff : ACPI Tables
7ff50000-7fffffff : ACPI Non-volatile Storage
88000000-89ffffff : PCI Bus #02
88000000-89ffffff : PCI CardBus #03
db800000-eb7fffff : PCI Bus #01
e0000000-e7ffffff : 0000:01:00.0
e0000000-e7ffffff : radeonfb framebuffer
f0000000-f7ffffff : 0000:00:00.0
f0000000-f7ffffff : aperture
fb900000-fb9fffff : PCI Bus #01
fb9c0000-fb9dffff : 0000:01:00.0
fb9f0000-fb9fffff : 0000:01:00.0
fb9f0000-fb9fffff : radeonfb mmio
fba00000-feafffff : PCI Bus #02
fc600000-fd1fffff : PCI CardBus #03
fd200000-fd200fff : 0000:02:01.0
fd200000-fd200fff : yenta_socket
feac0000-feadffff : 0000:02:00.0
feaf8000-feafbfff : 0000:02:00.0
feaf8000-feafbfff : skge
feaff000-feaff7ff : 0000:02:01.1
feaff000-feaff7ff : ohci1394
feaff800-feaff8ff : 0000:02:01.2
feaff800-feaff8ff : sdhci:slot0
feaffc00-feaffcff : 0000:02:01.3
febfb000-febfbfff : 0000:00:02.0
febfb000-febfbfff : ohci_hcd
febfc000-febfcfff : 0000:00:02.1
febfc000-febfcfff : ohci_hcd
febfdc00-febfdcff : 0000:00:02.2
febfdc00-febfdcff : ehci_hcd
febfe000-febfefff : 0000:00:06.0
febfe000-febfefff : NVidia nForce3
febff000-febfffff : 0000:00:06.1
febff000-febfffff : NVidia nForce3 Modem
fec00000-fec00fff : reserved
fee00000-fee00fff : reserved
PCI info:
# lspci -vvv
00:00.0 Host bridge: nVidia Corporation nForce3 Host Bridge (rev a4)
Subsystem: ASUSTeK Computer Inc. Unknown device 1987
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Region 0: Memory at f0000000 (32-bit, prefetchable) [size=128M]
Capabilities: [44] HyperTransport: Slave or Primary Interface
Command: BaseUnitID=0 UnitCnt=12 MastHost- DefDir- DUL-
Link Control 0: CFlE+ CST- CFE- <LkFail- Init+ EOC- TXO-
<CRCErr=0 IsocEn- LSEn- ExtCTL- 64b-
Link Config 0: MLWI=16bit DwFcIn- MLWO=8bit DwFcOut-
LWI=16bit DwFcInEn- LWO=8bit DwFcOutEn-
Link Control 1: CFlE- CST- CFE- <LkFail+ Init- EOC+ TXO+
<CRCErr=0 IsocEn- LSEn- ExtCTL- 64b-
Link Config 1: MLWI=8bit DwFcIn- MLWO=8bit DwFcOut-
LWI=8bit DwFcInEn- LWO=8bit DwFcOutEn-
Revision ID: 1.03
Link Frequency 0: 400MHz
Link Error 0: <Prot- <Ovfl- <EOC- CTLTm-
Link Frequency Capability 0: 200MHz+ 300MHz+ 400MHz+
500MHz+ 600MHz+ 800MHz- 1.0GHz- 1.2GHz- 1.4GHz- 1.6GHz- Vend-
Feature Capability: IsocFC+ LDTSTOP+ CRCTM- ECTLT- 64bA-
UIDRD-
Link Frequency 1: 200MHz
Link Error 1: <Prot- <Ovfl- <EOC- CTLTm-
Link Frequency Capability 1: 200MHz- 300MHz- 400MHz-
500MHz- 600MHz- 800MHz- 1.0GHz- 1.2GHz- 1.4GHz- 1.6GHz- Vend-
Error Handling: PFlE- OFlE- PFE- OFE- EOCFE- RFE- CRCFE-
SERRFE- CF- RE- PNFE- ONFE- EOCNFE- RNFE- CRCNFE- SERRNFE-
Prefetchable memory behind bridge Upper: 00-00
Bus Number: 00
Capabilities: [c0] AGP version 3.0
Status: RQ=32 Iso- ArqSz=2 Cal=0 SBA+ ITACoh- GART64-
HTrans- 64bit- FW+ AGP3+ Rate=x4,x8
Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW+
Rate=x8
00:01.0 ISA bridge: nVidia Corporation nForce3 LPC Bridge (rev f6)
Subsystem: ASUSTeK Computer Inc. Unknown device 1987
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
00:01.1 SMBus: nVidia Corporation nForce3 SMBus (rev a4)
Subsystem: ASUSTeK Computer Inc. Unknown device 1987
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 0
Region 4: I/O ports at 5000 [size=64]
Region 5: I/O ports at 5040 [size=64]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:02.0 USB Controller: nVidia Corporation nForce3 USB 1.1 (rev a5)
(prog-if 10 [OHCI])
Subsystem: ASUSTeK Computer Inc. Unknown device 1987
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin A routed to IRQ 10
Region 0: Memory at febfb000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:02.1 USB Controller: nVidia Corporation nForce3 USB 1.1 (rev a5)
(prog-if 10 [OHCI])
Subsystem: ASUSTeK Computer Inc. Unknown device 1987
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin B routed to IRQ 11
Region 0: Memory at febfc000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:02.2 USB Controller: nVidia Corporation nForce3 USB 2.0 (rev a2)
(prog-if 20 [EHCI])
Subsystem: ASUSTeK Computer Inc. Unknown device 1987
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Interrupt: pin C routed to IRQ 4
Region 0: Memory at febfdc00 (32-bit, non-prefetchable) [size=256]
Capabilities: [44] Debug port
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:06.0 Multimedia audio controller: nVidia Corporation nForce3 Audio
(rev a2)
Subsystem: ASUSTeK Computer Inc. Unknown device 1983
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (500ns min, 1250ns max)
Interrupt: pin A routed to IRQ 5
Region 0: I/O ports at e400 [size=256]
Region 1: I/O ports at e080 [size=128]
Region 2: Memory at febfe000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:06.1 Modem: nVidia Corporation nForce3 Audio (rev a2) (prog-if 00
[Generic])
Subsystem: ASUSTeK Computer Inc. Unknown device 1856
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (500ns min, 1250ns max)
Interrupt: pin B routed to IRQ 10
Region 0: I/O ports at e800 [size=256]
Region 1: I/O ports at ec00 [size=128]
Region 2: Memory at febff000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:08.0 IDE interface: nVidia Corporation nForce3 IDE (rev a5) (prog-if
8a [Master SecP PriP])
Subsystem: ASUSTeK Computer Inc. Unknown device 1987
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (750ns min, 250ns max)
Region 4: I/O ports at ffa0 [size=16]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00:0a.0 PCI bridge: nVidia Corporation nForce3 PCI Bridge (rev a2)
(prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR+ <PERR-
Latency: 0
Bus: primary=00, secondary=02, subordinate=06, sec-latency=128
I/O behind bridge: 0000c000-0000dfff
Memory behind bridge: fba00000-feafffff
Prefetchable memory behind bridge: 88000000-89ffffff
Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort+ <SERR- <PERR+
BridgeCtl: Parity+ SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
00:0b.0 PCI bridge: nVidia Corporation nForce3 AGP Bridge (rev a4)
(prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 64
Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
I/O behind bridge: 00009000-0000bfff
Memory behind bridge: fb900000-fb9fffff
Prefetchable memory behind bridge: db800000-eb7fffff
Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity+ SERR+ NoISA- VGA+ MAbort- >Reset- FastB2B-
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
HyperTransport Technology Configuration
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Capabilities: [80] HyperTransport: Host or Secondary Interface
!!! Possibly incomplete decoding
Command: WarmRst+ DblEnd-
Link Control: CFlE- CST- CFE- <LkFail- Init+ EOC- TXO-
<CRCErr=0
Link Config: MLWI=16bit MLWO=16bit LWI=8bit LWO=16bit
Revision ID: 1.02
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
Address Map
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
DRAM Controller
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron]
Miscellaneous Control
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
01:00.0 VGA compatible controller: ATI Technologies Inc RV350 [Mobility
Radeon 9600 M10] (prog-if 00 [VGA])
Subsystem: ASUSTeK Computer Inc. Unknown device 1942
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 255 (2000ns min), Cache Line Size: 256 bytes
Interrupt: pin A routed to IRQ 11
Region 0: Memory at e0000000 (32-bit, prefetchable) [size=128M]
Region 1: I/O ports at b000 [size=256]
Region 2: Memory at fb9f0000 (32-bit, non-prefetchable) [size=64K]
Expansion ROM at fb9c0000 [disabled] [size=128K]
Capabilities: [58] AGP version 3.0
Status: RQ=256 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64-
HTrans- 64bit- FW+ AGP3+ Rate=x4,x8
Command: RQ=32 ArqSz=2 Cal=0 SBA+ AGP+ GART64- 64bit-
FW+ Rate=x8
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001
Gigabit Ethernet Controller (rev 13)
Subsystem: ASUSTeK Computer Inc. Marvell 88E8001 Gigabit
Ethernet Controller (Asus)
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (5750ns min, 7750ns max), Cache Line Size: 256 bytes
Interrupt: pin A routed to IRQ 10
Region 0: Memory at feaf8000 (32-bit, non-prefetchable) [size=16K]
Region 1: I/O ports at d800 [size=256]
Expansion ROM at feac0000 [disabled] [size=128K]
Capabilities: [48] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] Vital Product Data
02:01.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b3)
Subsystem: ASUSTeK Computer Inc. Asus A4K and Z81K notebooks,
possibly others ( mid-2005 machines )
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 168
Interrupt: pin A routed to IRQ 11
Region 0: Memory at fd200000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=02, secondary=03, subordinate=06, sec-latency=176
Memory window 0: 88000000-89fff000 (prefetchable)
Memory window 1: fc600000-fd1ff000
I/O window 0: 0000c000-0000c0ff
I/O window 1: 0000c400-0000c4ff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+
PostWrite+
16-bit legacy interface ports at 0001
02:01.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller
(rev 08) (prog-if 10 [OHCI])
Subsystem: ASUSTeK Computer Inc. Unknown device 1987
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (500ns min, 1000ns max)
Interrupt: pin B routed to IRQ 10
Region 0: Memory at feaff000 (32-bit, non-prefetchable) [size=2K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME+
02:01.2 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host
Adapter (rev 17)
Subsystem: ASUSTeK Computer Inc. Unknown device 1987
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 64
Interrupt: pin C routed to IRQ 10
Region 0: Memory at feaff800 (32-bit, non-prefetchable) [size=256]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-
02:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host
Adapter (rev 08)
Subsystem: ASUSTeK Computer Inc. Unknown device 1987
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin C routed to IRQ 10
Region 0: Memory at feaffc00 (32-bit, non-prefetchable) [size=256]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=2 PME-
SCSI info:
none
Other:
# cat /proc/mtrr
reg00: base=0x00000000 ( 0MB), size= 16MB: write-back, count=1
reg01: base=0x01000000 ( 16MB), size= 16MB: write-back, count=1
reg02: base=0x02000000 ( 32MB), size= 32MB: write-back, count=1
reg03: base=0x04000000 ( 64MB), size= 64MB: write-back, count=1
reg04: base=0x08000000 ( 128MB), size= 128MB: write-back, count=1
reg05: base=0x10000000 ( 256MB), size= 256MB: write-back, count=1
reg06: base=0x20000000 ( 512MB), size= 512MB: write-back, count=1
reg07: base=0x40000000 (1024MB), size=1024MB: write-back, count=1
and the and of dmesg without the workaround:
[fglrx] Maximum main memory to use for locked dma buffers: 1899 MBytes.
[fglrx] module loaded - fglrx 8.27.10 [Jul 27 2006] on minor 0
ACPI: PCI Interrupt Link [LNKE] enabled at IRQ 11
ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKE] -> GSI 11 (level,
low) -> IRQ 11
mtrr: no more MTRRs available
[fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-28)
[fglrx] Internal AGP support requested, but kernel AGP support active.
[fglrx] Have to use kernel AGP support to avoid conflicts.
[fglrx] AGP detected, AgpState = 0x1f00421b (hardware caps of chipset)
mtrr: no more MTRRs available
[fglrx:firegl_unlock] *ERROR* Process 4540 using kernel context 0
Work around:
this script as boot script
for i in 1 2 3 4 5 0 6 7; do echo "disable=$i" >| /proc/mtrr; done; echo
"base=0x00000000 size=0x40000000 type=write-back" >| /proc/mtrr; echo
"base=0x40000000 size=0x40000000 type=write-back" >| /proc/mtrr
after the boot script it allocate 2 more register for the 3D card when X
starts (02 and 03)
# cat /proc/mtrr
reg00: base=0x00000000 ( 0MB), size=1024MB: write-back, count=1
reg01: base=0x40000000 (1024MB), size=1024MB: write-back, count=1
reg02: base=0xe0000000 (3584MB), size= 64MB: write-combining, count=8
reg03: base=0xf0000000 (3840MB), size= 128MB: write-combining, count=1
another try i've done was to patch the fglrx module to think that mtrr
was not compiled in the kernel, but the graphic card was slowly.
Final note:
the Kernel driver of Ati Card didn't work with my laptop, don't know
why.. so i have to use the proprietary one
--
thank you and goodbye,
Daniele
Maggiori informazioni sulla lista
Linux