agpgart issue on 2.6.1-rc1-bk3 (x86-64)
Hello,
I see this message in the 2.6.1-rc3-bk3 kernel log:
agpgart: Detected AGP bridge 0
agpgart: Too many northbridges for AGP
This results in <100 FPS in glxgears, and I am unable to play the tuxracer game :-). With 2.6.0-x8664-1 however I get 450 FPS (approx), and all was well.
Upon applying this patch (making it identical to 2.6.0-x86-64 that is):
--- 2.6.1-rc1-bk3/drivers/char/agp/amd64-agp.c.orig 2004-01-04
01:06:20.000000000 +1100
+++ 2.6.1-rc1-bk3/drivers/char/agp/amd64-agp.c 2004-01-04 01:06:50.000000000 +1100
@@ -16,11 +16,7 @@
#include "agp.h"
/* Will need to be increased if AMD64 ever goes >8-way. */
-#ifdef CONFIG_SMP
#define MAX_HAMMER_GARTS 8
-#else
-#define MAX_HAMMER_GARTS 1
-#endif
/* PTE bits. */
#define GPTE_VALID 1
Of course that maybe a wrong approach. But that makes things a lot better, and I see this message in the kernel log:
agpgart: Detected AGP bridge 0
agpgart: Maximum main memory to use for agp memory: 941M
agpgart: AGP aperture is 128M @ 0xd0000000
And the number of FPS in glxgears is back to normal (450 FPS approx).
Here is the 'lspci' information from my K8T800 chipset based Gigabyte GA-K8VNXP board (and there seems to be 4 AMD K8 north bridges):
00:00.0 Host bridge: VIA Technologies, Inc.: Unknown device 3188 (rev 01) 00:01.0 PCI bridge: VIA Technologies, Inc.: Unknown device b188 00:0e.0 RAID bus controller: Integrated Technology Express, Inc.: Unknown device 8212 (rev 11)
00:0f.0 RAID bus controller: VIA Technologies, Inc.: Unknown device 3149 (rev
80)
00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE (rev 06) 00:10.0 USB Controller: VIA Technologies, Inc. USB (rev 81) 00:10.1 USB Controller: VIA Technologies, Inc. USB (rev 81) 00:10.2 USB Controller: VIA Technologies, Inc. USB (rev 81) 00:10.3 USB Controller: VIA Technologies, Inc. USB (rev 81) 00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86) 00:11.0 ISA bridge: VIA Technologies, Inc.: Unknown device 3227 00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235 AC97 Audio Controller (rev 60)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78) 00:13.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 (rev 10) 00:14.0 FireWire (IEEE 1394): Texas Instruments: Unknown device 8025 (rev 01) 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge 01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV100 QY [Radeon 7000/VE]
Of course CONFIG_SMP is not set in my .config.
Thanks
Hari
Quoted 16 lines · Srihari Vijayaraghavan
Hello,
I see this message in the 2.6.1-rc3-bk3 kernel log:
agpgart: Detected AGP bridge 0
agpgart: Too many northbridges for AGPThis results in <100 FPS in glxgears, and I am unable to play the tuxracer game :-). With 2.6.0-x8664-1 however I get 450 FPS (approx), and all was well.
Upon applying this patch (making it identical to 2.6.0-x86-64 that is):
--- 2.6.1-rc1-bk3/drivers/char/agp/amd64-agp.c.orig 2004-01-04
01:06:20.000000000 +1100
+++2.6.1-rc1-bk3/drivers/char/agp/amd64-agp.c2004-01-04 01:06:50.000000000 +1100
Review line 23
Quoted 8 lines
(quoted diff) +0
-4@@ -16,11 +16,7 @@ #include "agp.h" /* Will need to be increased if AMD64 ever goes >8-way. */ -#ifdef CONFIG_SMP #define MAX_HAMMER_GARTS 8 -#else -#define MAX_HAMMER_GARTS 1 -#endif
Wrong fix. Amongst another bunch of AGP fixes going to Linus/Andrew on Monday is the following..
(Andi also sent me another amd64 update, which I'll merge before
pushing Linuswards)
drivers/char/agp/amd64-agp.c +8 -1
@@ -357,11 +356,18 @@ static __devinit int cache_nbs (struct p } hammers[i++] = loop_dev; nr_garts = i; -if (i ==MAX_HAMMER_GARTS ) { +#ifdef CONFIG_SMP +if (i >MAX_HAMMER_GARTS ) { printk(KERN_INFO PFX "Too many northbridges for AGP\n");return -1 ; } +#else +/* Uniprocessor case, return after finding first bridge. +(There may be more, but in UP, we don't care). */ +return 0 ; +#endif } +return i ==0 ?-1 :0 ; }
Signature · 1 line
Dave Jones http://www.codemonkey.org.uk
Hello Dave,
Quoted 6 lines · Dave Jones
Wrong fix. Amongst another bunch of AGP fixes going to Linus/Andrew on Monday is the following..
(Andi also sent me another amd64 update, which I'll merge before
pushing Linuswards)
The agpgart is working fine under 2.6.1-rc2 kernel.
Thanks
Hari
[email protected]