PDA

View Full Version : Typo in 3123 - unable to use 4x AGP (VIA chipset)


dron
11-06-02, 11:37 PM
OK, folks, I found it!

I was surprised when 3123 driver was unable to use 4x AGP mode (I have VIA chipset), but 2960 and below were working fine. Now it looks like I found the reason.

If you will do 'strings Module-nvkernel | grep Via4x' you will see 'enableVia4x' (note small 'e'), when there is 'EnableVia4x' in os-registry.c (note capital 'E'). If you will look inside Module-nvkernel and os-registry.c for 2960 you will see 'EnableVia4x' (note capital 'E') in both places.

Well, you got the idea, did ya? :) I've changed 'EnableVia4x' to 'enableVia4x' in os-registry.c, recompiled the module and that's it. Now it's using AGP 4x!

bwkaz
11-07-02, 08:26 AM
That's odd. My 3123 drivers are using 4x on a Via chipset without any of this fooling around.

I just uncommented NVreg_EnableVia4x and set it to 1 in the os-registry.c before I compiled the module; I didn't lowercase the E. And my Module-nvkernel does have the lowercased version, but /proc/driver/nvidia/agp/status says it's in 4x mode (as does the X log).

dron
11-08-02, 01:42 AM
Well, unfortunately that was the only way to resolve it on my machine. I've been playing with this for a couple of weeks. Of course, I have 'options NVdriver NVreg_enableVia4x=1' in my modules.conf

With unmodified os-registry.c I always had
Status: Enabled
Driver: AGPGART
AGP Rate: 2x
Fast Writes: Disabled
SBA: Disabled
in /proc/drivers/nvidia/agp/status (for 3123). I've tried various kernels and RH 7.3 and 8.0. But now I have
Status: Enabled
Driver: AGPGART
AGP Rate: 4x
Fast Writes: Disabled
SBA: Disabled
and I'm happy. :)

BTW, before modification agp/card had
Fast Writes: Not Supported
SBA: Not Supported
AGP Rates: 2x 1x
Registers: 0x1f000003:0x1f000102
and now I have
Fast Writes: Not Supported
SBA: Not Supported
AGP Rates: 4x 2x 1x
Registers: 0x1f000007:0x1f000104
like it always was.

bwkaz
11-08-02, 06:51 AM
Did you have 'NVreg_enableVia4x=1' (lowercase e) in your modules.conf before you edited os-registry.c? Because that would cause the problem you were seeing...

Oh, and I just noticed that the internal string in Module-nvkernel is named "enableVia4x", while the module parameter is actually named "NVreg_EnableVia4x" (by default), so these are actually different variables; and were probably always meant to be different. I suppose if it works it works (my agp/status and agp/card look the same), though.

Andy Mecham
11-08-02, 02:40 PM
Actually, NVreg_enableVia4X was a typo.

--andy