AGPGART for VIA vt8235, kernel 2.4.21-pre2
Subsystems (2)
PATCH 1/1 AGPGART for VIA vt8235, kernel 2.4.21-pre2
Here is a patch that enables AGPGART for the VIA vt8235 chipset on P4X400 motherboards. Rather trivial, adds the pci id, then a few lines in the agp sources to get it identified. I've only been able to test this on my computer, where it works.
Rich
--BEGIN--
drivers/char/agp/agp.h 2003-01-02 14:35:02.000000000 -0500 renamed from drivers/char/agp/agp.h 2003-01-02 14:36:15.000000000 -0500 +3 -0
@@ -157,6 +157,9 @@ #define PGE_EMPTY(p) (!(p) || (p) == (unsigned long) agp_bridge.scratch_page) +#ifndef PCI_DEVICE_ID_VIA_8235_0 +#define PCI_DEVICE_ID_VIA_8235_0 0x3168 +#endif #ifndef PCI_DEVICE_ID_VIA_82C691_0 #define PCI_DEVICE_ID_VIA_82C691_0 0x0691 #endif
drivers/char/agp/agpgart_be.c 2003-01-02 14:35:02.000000000 -0500 renamed from drivers/char/agp/agpgart_be.c 2003-01-02 14:36:15.000000000 -0500 +6 -0
@@ -4640,6 +4640,12 @@ #endif /* CONFIG_AGP_SIS */ #ifdef CONFIG_AGP_VIA + { PCI_DEVICE_ID_VIA_8235_0, + PCI_VENDOR_ID_VIA, + VIA_P4X400, + "Via", + "P4X400", + via_generic_setup }, { PCI_DEVICE_ID_VIA_8501_0, PCI_VENDOR_ID_VIA, VIA_MVP4,
drivers/pci/pci.ids 2003-01-02 14:35:02.000000000 -0500 renamed from drivers/pci/pci.ids 2003-01-02 14:36:16.000000000 -0500 +1 -0
@@ -2751,6 +2751,7 @@ 3147 VT8233A ISA Bridge 3148 P4M266 Host Bridge 3156 P/KN266 Host Bridge + 3168 VT8235 [P4X400 AGP] 3177 VT8233A ISA Bridge 1458 5001 GA-7VAX Mainboard 3189 VT8377 [KT400 AGP] Host Bridge
include/linux/agp_backend.h 2003-01-02 14:35:02.000000000 -0500 renamed from include/linux/agp_backend.h 2003-01-02 14:36:17.000000000 -0500 +1 -0
@@ -54,6 +54,7 @@ INTEL_I850, INTEL_I860, VIA_GENERIC, + VIA_P4X400, VIA_VP3, VIA_MVP3, VIA_MVP4,
--END--
Quoted 1 line · Richard Baverstock
Here is a patch that enables AGPGART for the VIA vt8235 chipset on P4X400 motherboards. Rather trivial, adds the pci id, then a few lines in the agp sources to get it identified. I've only been able to test this on my computer, where it works.
The vt8235 is the southbridge chip and that the AGP bridge is located in the northbridge, which most likely has a different number.
Quoted 65 lines
Rich
--BEGIN--
diff -ur
linux/drivers/char/agp/agp.hlinux-2.4.21-pre2/drivers/char/agp/agp.hdrivers/char/agp/agp.h 2003-01-02 14:35:02.000000000 -0500 renamed from drivers/char/agp/agp.h 2003-01-02 14:36:15.000000000 -0500 +3
-0@@ -157,6 +157,9 @@ #define PGE_EMPTY(p) (!(p) || (p) == (unsigned long) agp_bridge.scratch_page) +#ifndef PCI_DEVICE_ID_VIA_8235_0 +#define PCI_DEVICE_ID_VIA_8235_0 0x3168 +#endif #ifndef PCI_DEVICE_ID_VIA_82C691_0 #define PCI_DEVICE_ID_VIA_82C691_0 0x0691 #endifdiff -ur
linux/drivers/char/agp/agpgart_be.clinux-2.4.21-pre2/drivers/char/agp/agpgart_be.cdrivers/char/agp/agpgart_be.c 2003-01-02 14:35:02.000000000 -0500 renamed from drivers/char/agp/agpgart_be.c 2003-01-02 14:36:15.000000000 -0500 +6
-0@@ -4640,6 +4640,12 @@ #endif /* CONFIG_AGP_SIS */ #ifdef CONFIG_AGP_VIA + { PCI_DEVICE_ID_VIA_8235_0, + PCI_VENDOR_ID_VIA, + VIA_P4X400, + "Via", + "P4X400", + via_generic_setup }, { PCI_DEVICE_ID_VIA_8501_0, PCI_VENDOR_ID_VIA, VIA_MVP4,diff -ur linux/drivers/pci/pci.ids linux-2.4.21-pre2/drivers/pci/pci.ids
drivers/pci/pci.ids 2003-01-02 14:35:02.000000000 -0500 renamed from drivers/pci/pci.ids 2003-01-02 14:36:16.000000000 -0500 +1
-0@@ -2751,6 +2751,7 @@ 3147 VT8233A ISA Bridge 3148 P4M266 Host Bridge 3156 P/KN266 Host Bridge + 3168 VT8235 [P4X400 AGP] 3177 VT8233A ISA Bridge 1458 5001 GA-7VAX Mainboard 3189 VT8377 [KT400 AGP] Host Bridgediff -ur
linux/include/linux/agp_backend.hlinux-2.4.21-pre2/include/linux/agp_backend.hinclude/linux/agp_backend.h 2003-01-02 14:35:02.000000000 -0500 renamed from include/linux/agp_backend.h 2003-01-02 14:36:17.000000000 -0500 +1
-2@@ -54,6 +54,7 @@ INTEL_I850, INTEL_I860, VIA_GENERIC, + VIA_P4X400, VIA_VP3, VIA_MVP3, VIA_MVP4, --END-- -To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Signature · 2 lines
Vojtech Pavlik SuSE Labs
Quoted 3 lines
The vt8235 is the southbridge chip and that the AGP bridge is located in the northbridge, which most likely has a different number.
Sorry about that, thought the AGP was in the southbridge chip. I see however that someone else has submitted a patch with the correct naming conventions (It does seem to change between P4X333 and P4X400 however). Thanks for the heads up :)
Rich
Quoted 7 lines · Richard Baverstock
Quoted 3 lines
The vt8235 is the southbridge chip and that the AGP bridge is located in the northbridge, which most likely has a different number.
Sorry about that, thought the AGP was in the southbridge chip. I see however that someone else has submitted a patch with the correct naming conventions (It does seem to change between P4X333 and P4X400 however).
What exactly do you mean by 'it' ? The PCI device id ?
If they share the same device ID, then Bernhards patch is really no better...
#define PCI_DEVICE_ID_VIA_P4X333 0x3168
In fact, P4X333 defines a chipset rather than a chip. According to ..
http://www.viatech.com/en/apollo/p4x333.jsp and
http://www.viatech.com/en/apollo/p4x400.jsp , the northbridge is a VT8754 in both models, so the correct define would seem to be PCI_DEVICE_ID_VIA_8754
Just to confirm, device 3168 is the host bridge in lspci output right? And this does all work when you run a DRI application ?
Dave
Signature · 2 lines
| Dave Jones. http://www.codemonkey.org.uk | SuSE Labs
Quoted 7 lines · Dave Jones
In fact, P4X333 defines a chipset rather than a chip. According to ..
http://www.viatech.com/en/apollo/p4x333.jsp and
http://www.viatech.com/en/apollo/p4x400.jsp ,
Just to confirm, device 3168 is the host bridge in lspci output right? And this does all work when you run a DRI application ?
Actually, the P4X400 won't work in current situations. I'll bet if you put an AGPx8 card in there, it'll do the same "change into AGP3.0 mode" trick that the KT400 does. I'll move onto that after I finish up the KT400 GART driver.
Dave
Signature · 2 lines
| Dave Jones. http://www.codemonkey.org.uk | SuSE Labs
Quoted 6 lines
Actually, the P4X400 won't work in current situations. I'll bet if you put an AGPx8 card in there, it'll do the same "change into AGP3.0 mode" trick that the KT400 does. I'll move onto that after I finish up the KT400 GART driver.
I'm not using an AGPx8 card however, so that may have changed things. (Geforce 4 Ti). Thanks :)
Rich
Quoted 2 lines · On Fri, 3 Jan 2003 17:43:23 +0000 Dave Jones <[email protected]> wrote:
What exactly do you mean by 'it' ? The PCI device id ?
Since he was referring to the host bridge names, i thought he meant the naming conventions.
Quoted 11 lines
If they share the same device ID, then Bernhards patch is really no better...
#define
PCI_DEVICE_ID_VIA_P4X3330x3168In fact, P4X333 defines a chipset rather than a chip. According to ..
http://www.viatech.com/en/apollo/p4x333.jsp and
http://www.viatech.com/en/apollo/p4x400.jsp , the northbridge is a VT8754 in both models, so the correct define would seem to bePCI_DEVICE_ID_VIA_8754
Then we were both wrong, and it should be vt8754.
Quoted 3 lines
Just to confirm, device 3168 is the host bridge in lspci output right? And this does all work when you run a DRI application ?
00:00.0 Host bridge: VIA Technologies, Inc.: Unknown device 3168 (rev 03)
And yes, DRI works :)
Rich