diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/agp.c agpgart/drivers/char/agp/agp.c --- bk-linus/drivers/char/agp/agp.c 2002-11-26 10:41:12.000000000 -0100 +++ agpgart/drivers/char/agp/agp.c 2002-11-26 19:14:33.000000000 -0100 @@ -744,469 +744,60 @@ void agp_enable(u32 mode) /* End - Generic Agp routines */ - -/* per-chipset initialization data. - * note -- all chipsets for a single vendor MUST be grouped together - */ +/* per-chipset initialization data. */ static struct { - unsigned short device_id; /* first, to make table easier to read */ - unsigned short vendor_id; - enum chipset_type chipset; - const char *vendor_name; - const char *chipset_name; - int (*chipset_setup) (struct pci_dev *pdev); -} agp_bridge_info[] __initdata = { + struct agp_bridge_info *ptr; +} agp_bridge_list[] __initdata = { #ifdef CONFIG_AGP_ALI - { - .device_id = PCI_DEVICE_ID_AL_M1541, - .vendor_id = PCI_VENDOR_ID_AL, - .chipset = ALI_M1541, - .vendor_name = "Ali", - .chipset_name = "M1541", - .chipset_setup = ali_generic_setup, - }, - { - .device_id = PCI_DEVICE_ID_AL_M1621, - .vendor_id = PCI_VENDOR_ID_AL, - .chipset = ALI_M1621, - .vendor_name = "Ali", - .chipset_name = "M1621", - .chipset_setup = ali_generic_setup, - }, - { - .device_id = PCI_DEVICE_ID_AL_M1631, - .vendor_id = PCI_VENDOR_ID_AL, - .chipset = ALI_M1631, - .vendor_name = "Ali", - .chipset_name = "M1631", - .chipset_setup = ali_generic_setup, - }, - { - .device_id = PCI_DEVICE_ID_AL_M1632, - .vendor_id = PCI_VENDOR_ID_AL, - .chipset = ALI_M1632, - .vendor_name = "Ali", - .chipset_name = "M1632", - .chipset_setup = ali_generic_setup, - }, - { - .device_id = PCI_DEVICE_ID_AL_M1641, - .vendor_id = PCI_VENDOR_ID_AL, - .chipset = ALI_M1641, - .vendor_name = "Ali", - .chipset_name = "M1641", - .chipset_setup = ali_generic_setup, - }, - { - .device_id = PCI_DEVICE_ID_AL_M1644, - .vendor_id = PCI_VENDOR_ID_AL, - .chipset = ALI_M1644, - .vendor_name = "Ali", - .chipset_name = "M1644", - .chipset_setup = ali_generic_setup, - }, - { - .device_id = PCI_DEVICE_ID_AL_M1647, - .vendor_id = PCI_VENDOR_ID_AL, - .chipset = ALI_M1647, - .vendor_name = "Ali", - .chipset_name = "M1647", - .chipset_setup = ali_generic_setup, - }, - { - .device_id = PCI_DEVICE_ID_AL_M1651, - .vendor_id = PCI_VENDOR_ID_AL, - .chipset = ALI_M1651, - .vendor_name = "Ali", - .chipset_name = "M1651", - .chipset_setup = ali_generic_setup, - }, - { - .device_id = PCI_DEVICE_ID_AL_M1671, - .vendor_id = PCI_VENDOR_ID_AL, - .chipset = ALI_M1671, - .vendor_name = "Ali", - .chipset_name = "M1671", - .chipset_setup = ali_generic_setup, - }, - { - .device_id = 0, - .vendor_id = PCI_VENDOR_ID_AL, - .chipset = ALI_GENERIC, - .vendor_name = "Ali", - .chipset_name = "Generic", - .chipset_setup = ali_generic_setup, - }, -#endif /* CONFIG_AGP_ALI */ - + { .ptr = &ali_agp_bridge_info }, +#endif #ifdef CONFIG_AGP_AMD_8151 - { - .device_id = PCI_DEVICE_ID_AMD_8151_0, - .vendor_id = PCI_VENDOR_ID_AMD, - .chipset = AMD_8151, - .vendor_name = "AMD", - .chipset_name = "8151", - .chipset_setup = amd_8151_setup - }, -#endif /* CONFIG_AGP_AMD */ - + {.ptr = &amd_k8_agp_bridge_info }, +#endif #ifdef CONFIG_AGP_AMD - { - .device_id = PCI_DEVICE_ID_AMD_FE_GATE_7006, - .vendor_id = PCI_VENDOR_ID_AMD, - .chipset = AMD_IRONGATE, - .vendor_name = "AMD", - .chipset_name = "Irongate", - .chipset_setup = amd_irongate_setup, - }, - { - .device_id = PCI_DEVICE_ID_AMD_FE_GATE_700E, - .vendor_id = PCI_VENDOR_ID_AMD, - .chipset = AMD_761, - .vendor_name = "AMD", - .chipset_name = "761", - .chipset_setup = amd_irongate_setup, - }, - { - .device_id = PCI_DEVICE_ID_AMD_FE_GATE_700C, - .vendor_id = PCI_VENDOR_ID_AMD, - .chipset = AMD_762, - .vendor_name = "AMD", - .chipset_name = "760MP", - .chipset_setup = amd_irongate_setup, - }, - { - .device_id = 0, - .vendor_id = PCI_VENDOR_ID_AMD, - .chipset = AMD_GENERIC, - .vendor_name = "AMD", - .chipset_name = "Generic", - .chipset_setup = amd_irongate_setup, - }, -#endif /* CONFIG_AGP_AMD */ + {.ptr = &amd_agp_bridge_info }, +#endif #ifdef CONFIG_AGP_INTEL - { - .device_id = PCI_DEVICE_ID_INTEL_82443LX_0, - .vendor_id = PCI_VENDOR_ID_INTEL, - .chipset = INTEL_LX, - .vendor_name = "Intel", - .chipset_name = "440LX", - .chipset_setup = intel_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_INTEL_82443BX_0, - .vendor_id = PCI_VENDOR_ID_INTEL, - .chipset = INTEL_BX, - .vendor_name = "Intel", - .chipset_name = "440BX", - .chipset_setup = intel_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_INTEL_82443GX_0, - .vendor_id = PCI_VENDOR_ID_INTEL, - .chipset = INTEL_GX, - .vendor_name = "Intel", - .chipset_name = "440GX", - .chipset_setup = intel_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_INTEL_82815_MC, - .vendor_id = PCI_VENDOR_ID_INTEL, - .chipset = INTEL_I815, - .vendor_name = "Intel", - .chipset_name = "i815", - .chipset_setup = intel_815_setup - }, - { - .device_id = PCI_DEVICE_ID_INTEL_82820_HB, - .vendor_id = PCI_VENDOR_ID_INTEL, - .chipset = INTEL_I820, - .vendor_name = "Intel", - .chipset_name = "i820", - .chipset_setup = intel_820_setup - }, - { - .device_id = PCI_DEVICE_ID_INTEL_82820_UP_HB, - .vendor_id = PCI_VENDOR_ID_INTEL, - .chipset = INTEL_I820, - .vendor_name = "Intel", - .chipset_name = "i820", - .chipset_setup = intel_820_setup - }, - { - .device_id = PCI_DEVICE_ID_INTEL_82830_HB, - .vendor_id = PCI_VENDOR_ID_INTEL, - .chipset = INTEL_I830_M, - .vendor_name = "Intel", - .chipset_name = "i830M", - .chipset_setup = intel_830mp_setup - }, - { - .device_id = PCI_DEVICE_ID_INTEL_82845G_HB, - .vendor_id = PCI_VENDOR_ID_INTEL, - .chipset = INTEL_I845_G, - .vendor_name = "Intel", - .chipset_name = "i845G", - .chipset_setup = intel_830mp_setup - }, - { - .device_id = PCI_DEVICE_ID_INTEL_82840_HB, - .vendor_id = PCI_VENDOR_ID_INTEL, - .chipset = INTEL_I840, - .vendor_name = "Intel", - .chipset_name = "i840", - .chipset_setup = intel_840_setup - }, - { - .device_id = PCI_DEVICE_ID_INTEL_82845_HB, - .vendor_id = PCI_VENDOR_ID_INTEL, - .chipset = INTEL_I845, - .vendor_name = "Intel", - .chipset_name = "i845", - .chipset_setup = intel_845_setup - }, - { - .device_id = PCI_DEVICE_ID_INTEL_82850_HB, - .vendor_id = PCI_VENDOR_ID_INTEL, - .chipset = INTEL_I850, - .vendor_name = "Intel", - .chipset_name = "i850", - .chipset_setup = intel_850_setup - }, - { - .device_id = PCI_DEVICE_ID_INTEL_82860_HB, - .vendor_id = PCI_VENDOR_ID_INTEL, - .chipset = INTEL_I860, - .vendor_name = "Intel", - .chipset_name = "i860", - .chipset_setup = intel_860_setup - }, - { - .device_id = 0, - .vendor_id = PCI_VENDOR_ID_INTEL, - .chipset = INTEL_GENERIC, - .vendor_name = "Intel", - .chipset_name = "Generic", - .chipset_setup = intel_generic_setup - }, - -#endif /* CONFIG_AGP_INTEL */ - + {.ptr = &intel_agp_bridge_info }, +#endif #ifdef CONFIG_AGP_SIS - { - .device_id = PCI_DEVICE_ID_SI_740, - .vendor_id = PCI_VENDOR_ID_SI, - .chipset = SIS_GENERIC, - .vendor_name = "SiS", - .chipset_name = "740", - .chipset_setup = sis_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_SI_650, - .vendor_id = PCI_VENDOR_ID_SI, - .chipset = SIS_GENERIC, - .vendor_name = "SiS", - .chipset_name = "650", - .chipset_setup = sis_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_SI_645, - .vendor_id = PCI_VENDOR_ID_SI, - .chipset = SIS_GENERIC, - .vendor_name = "SiS", - .chipset_name = "645", - .chipset_setup = sis_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_SI_735, - .vendor_id = PCI_VENDOR_ID_SI, - .chipset = SIS_GENERIC, - .vendor_name = "SiS", - .chipset_name = "735", - .chipset_setup = sis_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_SI_745, - .vendor_id = PCI_VENDOR_ID_SI, - .chipset = SIS_GENERIC, - .vendor_name = "SiS", - .chipset_name = "745", - .chipset_setup = sis_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_SI_730, - .vendor_id = PCI_VENDOR_ID_SI, - .chipset = SIS_GENERIC, - .vendor_name = "SiS", - .chipset_name = "730", - .chipset_setup = sis_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_SI_630, - .vendor_id = PCI_VENDOR_ID_SI, - .chipset = SIS_GENERIC, - .vendor_name = "SiS", - .chipset_name = "630", - .chipset_setup = sis_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_SI_540, - .vendor_id = PCI_VENDOR_ID_SI, - .chipset = SIS_GENERIC, - .vendor_name = "SiS", - .chipset_name = "540", - .chipset_setup = sis_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_SI_620, - .vendor_id = PCI_VENDOR_ID_SI, - .chipset = SIS_GENERIC, - .vendor_name = "SiS", - .chipset_name = "620", - .chipset_setup = sis_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_SI_530, - .vendor_id = PCI_VENDOR_ID_SI, - .chipset = SIS_GENERIC, - .vendor_name = "SiS", - .chipset_name = "530", - .chipset_setup = sis_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_SI_550, - .vendor_id = PCI_VENDOR_ID_SI, - .chipset = SIS_GENERIC, - .vendor_name = "SiS", - .chipset_name = "550", - .chipset_setup = sis_generic_setup - }, - { - .device_id = 0, - .vendor_id = PCI_VENDOR_ID_SI, - .chipset = SIS_GENERIC, - .vendor_name = "SiS", - .chipset_name = "Generic", - .chipset_setup = sis_generic_setup - }, -#endif /* CONFIG_AGP_SIS */ - + {.ptr = &sis_agp_bridge_info }, +#endif #ifdef CONFIG_AGP_VIA - { - .device_id = PCI_DEVICE_ID_VIA_8501_0, - .vendor_id = PCI_VENDOR_ID_VIA, - .chipset = VIA_MVP4, - .vendor_name = "Via", - .chipset_name = "MVP4", - .chipset_setup = via_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_VIA_82C597_0, - .vendor_id = PCI_VENDOR_ID_VIA, - .chipset = VIA_VP3, - .vendor_name = "Via", - .chipset_name = "VP3", - .chipset_setup = via_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_VIA_82C598_0, - .vendor_id = PCI_VENDOR_ID_VIA, - .chipset = VIA_MVP3, - .vendor_name = "Via", - .chipset_name = "MVP3", - .chipset_setup = via_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_VIA_82C691, - .vendor_id = PCI_VENDOR_ID_VIA, - .chipset = VIA_APOLLO_PRO, - .vendor_name = "Via", - .chipset_name = "Apollo Pro", - .chipset_setup = via_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_VIA_8371_0, - .vendor_id = PCI_VENDOR_ID_VIA, - .chipset = VIA_APOLLO_KX133, - .vendor_name = "Via", - .chipset_name = "Apollo Pro KX133", - .chipset_setup = via_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_VIA_8363_0, - .vendor_id = PCI_VENDOR_ID_VIA, - .chipset = VIA_APOLLO_KT133, - .vendor_name = "Via", - .chipset_name = "Apollo Pro KT133", - .chipset_setup = via_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_VIA_8367_0, - .vendor_id = PCI_VENDOR_ID_VIA, - .chipset = VIA_APOLLO_KT133, - .vendor_name = "Via", - .chipset_name = "Apollo Pro KT266", - .chipset_setup = via_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_VIA_8377_0, - .vendor_id = PCI_VENDOR_ID_VIA, - .chipset = VIA_APOLLO_KT400, - .vendor_name = "Via", - .chipset_name = "Apollo Pro KT400", - .chipset_setup = via_generic_setup - }, - { - .device_id = PCI_DEVICE_ID_VIA_8653_0, - .vendor_id = PCI_VENDOR_ID_VIA, - .chipset = VIA_APOLLO_PRO, - .vendor_name = "Via", - .chipset_name = "Apollo Pro266T", - .chipset_setup = via_generic_setup - }, - { - .device_id = 0, - .vendor_id = PCI_VENDOR_ID_VIA, - .chipset = VIA_GENERIC, - .vendor_name = "Via", - .chipset_name = "Generic", - .chipset_setup = via_generic_setup - }, -#endif /* CONFIG_AGP_VIA */ - + {.ptr = &via_agp_bridge_info }, +#endif #ifdef CONFIG_AGP_HP_ZX1 - { - .device_id = PCI_DEVICE_ID_HP_ZX1_LBA, - .vendor_id = PCI_VENDOR_ID_HP, - .chipset = HP_ZX1, - .vendor_name = "HP", - .chipset_name = "ZX1", - .chipset_setup = hp_zx1_setup - }, + {.ptr = &hp_agp_bridge_info }, #endif - - { }, /* dummy final entry, always present */ + {NULL}, }; /* scan table above for supported devices */ static int __init agp_lookup_host_bridge (struct pci_dev *pdev) { - int i; + int i=0, j=0; + struct agp_bridge_info *bridge=NULL; + struct agp_device_ids *devs; - for (i = 0; i < ARRAY_SIZE (agp_bridge_info); i++) - if (pdev->vendor == agp_bridge_info[i].vendor_id) + while (agp_bridge_list[i].ptr != NULL) { + bridge = agp_bridge_list[i].ptr; + if (pdev->vendor == bridge->vendor_id) break; + i++; + } - if (i >= ARRAY_SIZE (agp_bridge_info)) { + /* Vendor not found! */ + if (bridge == NULL) { printk (KERN_DEBUG PFX "unsupported bridge\n"); return -ENODEV; } - while ((i < ARRAY_SIZE (agp_bridge_info)) && - (agp_bridge_info[i].vendor_id == pdev->vendor)) { - if (pdev->device == agp_bridge_info[i].device_id) { + devs = bridge->ids; + + while (devs[j].chipset_name != NULL) { + if (pdev->device == devs[j].device_id) { #ifdef CONFIG_AGP_ALI if (pdev->device == PCI_DEVICE_ID_AL_M1621) { u8 hidden_1621_id; @@ -1214,21 +805,21 @@ static int __init agp_lookup_host_bridge pci_read_config_byte(pdev, 0xFB, &hidden_1621_id); switch (hidden_1621_id) { case 0x31: - agp_bridge_info[i].chipset_name="M1631"; + devs[j].chipset_name="M1631"; break; case 0x32: - agp_bridge_info[i].chipset_name="M1632"; + devs[j].chipset_name="M1632"; break; case 0x41: - agp_bridge_info[i].chipset_name="M1641"; + devs[j].chipset_name="M1641"; break; case 0x43: break; case 0x47: - agp_bridge_info[i].chipset_name="M1647"; + devs[j].chipset_name="M1647"; break; case 0x51: - agp_bridge_info[i].chipset_name="M1651"; + devs[j].chipset_name="M1651"; break; default: break; @@ -1237,30 +828,32 @@ static int __init agp_lookup_host_bridge #endif printk (KERN_INFO PFX "Detected %s %s chipset\n", - agp_bridge_info[i].vendor_name, - agp_bridge_info[i].chipset_name); - agp_bridge.type = agp_bridge_info[i].chipset; - return agp_bridge_info[i].chipset_setup (pdev); + bridge->vendor_name, devs[j].chipset_name); + agp_bridge.type = devs[j].chipset; + + if (devs[j].chipset_setup != NULL) + return devs[j].chipset_setup(pdev); + else + return bridge->chipset_setup(pdev); } - - i++; + j++; } - i--; /* point to vendor generic entry (device_id == 0) */ + j--; /* point to vendor generic entry (device_id == 0) */ /* try init anyway, if user requests it AND * there is a 'generic' bridge entry for this vendor */ - if (agp_try_unsupported && agp_bridge_info[i].device_id == 0) { + if (agp_try_unsupported && devs[i].device_id == 0) { printk(KERN_WARNING PFX "Trying generic %s routines" " for device id: %04x\n", - agp_bridge_info[i].vendor_name, pdev->device); - agp_bridge.type = agp_bridge_info[i].chipset; - return agp_bridge_info[i].chipset_setup (pdev); + bridge->vendor_name, pdev->device); + agp_bridge.type = devs[i].chipset; + return bridge->chipset_setup(pdev); } printk(KERN_ERR PFX "Unsupported %s chipset (device id: %04x)," - " you might want to try agp_try_unsupported=1.\n", - agp_bridge_info[i].vendor_name, pdev->device); + " you might want to try agp_try_unsupported=1.\n", + bridge->vendor_name, pdev->device); return -ENODEV; } diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/agp.h agpgart/drivers/char/agp/agp.h --- bk-linus/drivers/char/agp/agp.h 2002-11-26 10:41:12.000000000 -0100 +++ agpgart/drivers/char/agp/agp.h 2002-11-26 18:39:53.000000000 -0100 @@ -381,4 +381,26 @@ struct agp_bridge_data { #define HP_ZX1_PDIR_BASE 0x320 #define HP_ZX1_CACHE_FLUSH 0x428 +struct agp_device_ids { + unsigned short device_id; /* first, to make table easier to read */ + enum chipset_type chipset; + const char *chipset_name; + int (*chipset_setup) (struct pci_dev *pdev); /* used to override generic */ +}; + +struct agp_bridge_info { + unsigned short vendor_id; + const char *vendor_name; + int (*chipset_setup) (struct pci_dev *pdev); + struct agp_device_ids *ids; +}; + +extern struct agp_bridge_info ali_agp_bridge_info; +extern struct agp_bridge_info amd_k8_agp_bridge_info; +extern struct agp_bridge_info amd_agp_bridge_info; +extern struct agp_bridge_info intel_agp_bridge_info; +extern struct agp_bridge_info sis_agp_bridge_info; +extern struct agp_bridge_info via_agp_bridge_info; +extern struct agp_bridge_info hp_agp_bridge_info; + #endif /* _AGP_BACKEND_PRIV_H */ diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/ali-agp.c agpgart/drivers/char/agp/ali-agp.c --- bk-linus/drivers/char/agp/ali-agp.c 2002-11-26 10:41:12.000000000 -0100 +++ agpgart/drivers/char/agp/ali-agp.c 2002-11-26 18:27:59.000000000 -0100 @@ -32,6 +32,7 @@ #include #include #include "agp.h" +#include "ali.h" static int ali_fetch_size(void) { diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/ali.h agpgart/drivers/char/agp/ali.h --- bk-linus/drivers/char/agp/ali.h 1969-12-31 23:00:00.000000000 -0100 +++ agpgart/drivers/char/agp/ali.h 2002-11-26 17:44:56.000000000 -0100 @@ -0,0 +1,64 @@ +struct agp_device_ids ali_agp_device_ids[] __initdata = +{ + { + .device_id = PCI_DEVICE_ID_AL_M1541, + .chipset = ALI_M1541, + .chipset_name = "M1541", + }, + { + .device_id = PCI_DEVICE_ID_AL_M1621, + .chipset = ALI_M1621, + .chipset_name = "M1621", + }, + { + .device_id = PCI_DEVICE_ID_AL_M1631, + .chipset = ALI_M1631, + .chipset_name = "M1631", + }, + { + .device_id = PCI_DEVICE_ID_AL_M1632, + .chipset = ALI_M1632, + .chipset_name = "M1632", + }, + { + .device_id = PCI_DEVICE_ID_AL_M1641, + .chipset = ALI_M1641, + .chipset_name = "M1641", + }, + { + .device_id = PCI_DEVICE_ID_AL_M1644, + .chipset = ALI_M1644, + .chipset_name = "M1644", + }, + { + .device_id = PCI_DEVICE_ID_AL_M1647, + .chipset = ALI_M1647, + .chipset_name = "M1647", + }, + { + .device_id = PCI_DEVICE_ID_AL_M1651, + .chipset = ALI_M1651, + .chipset_name = "M1651", + }, + { + .device_id = PCI_DEVICE_ID_AL_M1671, + .chipset = ALI_M1671, + .chipset_name = "M1671", + }, + { + .device_id = 0, + .chipset = ALI_GENERIC, + .chipset_name = "Generic", + }, + + { }, /* dummy final entry, always present */ +}; + +struct agp_bridge_info ali_agp_bridge_info __initdata = +{ + .vendor_id = PCI_VENDOR_ID_AL, + .vendor_name = "Ali", + .chipset_setup = ali_generic_setup, + .ids = ali_agp_device_ids, +}; + diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/amd-agp.c agpgart/drivers/char/agp/amd-agp.c --- bk-linus/drivers/char/agp/amd-agp.c 2002-11-26 10:41:12.000000000 -0100 +++ agpgart/drivers/char/agp/amd-agp.c 2002-11-26 18:28:08.000000000 -0100 @@ -31,6 +31,7 @@ #include #include #include "agp.h" +#include "amd.h" struct amd_page_map { unsigned long *real; diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/amd.h agpgart/drivers/char/agp/amd.h --- bk-linus/drivers/char/agp/amd.h 1969-12-31 23:00:00.000000000 -0100 +++ agpgart/drivers/char/agp/amd.h 2002-11-26 17:44:36.000000000 -0100 @@ -0,0 +1,32 @@ +struct agp_device_ids amd_agp_device_ids[] __initdata = +{ + { + .device_id = PCI_DEVICE_ID_AMD_FE_GATE_7006, + .chipset = AMD_IRONGATE, + .chipset_name = "Irongate", + }, + { + .device_id = PCI_DEVICE_ID_AMD_FE_GATE_700E, + .chipset = AMD_761, + .chipset_name = "761", + }, + { + .device_id = PCI_DEVICE_ID_AMD_FE_GATE_700C, + .chipset = AMD_762, + .chipset_name = "760MP", + }, + { + .device_id = 0, + .chipset = AMD_GENERIC, + .chipset_name = "Generic", + }, + { }, /* dummy final entry, always present */ +}; + +struct agp_bridge_info amd_agp_bridge_info __initdata = +{ + .vendor_id = PCI_VENDOR_ID_AMD, + .vendor_name = "AMD", + .chipset_setup = amd_irongate_setup, + .ids = amd_agp_device_ids, +}; diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/hp-agp.c agpgart/drivers/char/agp/hp-agp.c --- bk-linus/drivers/char/agp/hp-agp.c 2002-11-26 10:41:12.000000000 -0100 +++ agpgart/drivers/char/agp/hp-agp.c 2002-11-26 18:31:15.000000000 -0100 @@ -31,7 +31,7 @@ #include #include #include "agp.h" - +#include "hp.h" #ifndef log2 #define log2(x) ffz(~(x)) diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/hp.h agpgart/drivers/char/agp/hp.h --- bk-linus/drivers/char/agp/hp.h 1969-12-31 23:00:00.000000000 -0100 +++ agpgart/drivers/char/agp/hp.h 2002-11-26 17:44:39.000000000 -0100 @@ -0,0 +1,17 @@ +struct agp_device_ids hp_agp_device_ids[] __initdata = +{ + { + .device_id = PCI_DEVICE_ID_HP_ZX1_LBA, + .chipset = HP_ZX1, + .chipset_name = "ZX1", + }, + { }, /* dummy final entry, always present */ +}; + +struct agp_bridge_info hp_agp_bridge_info __initdata = +{ + .vendor_id = PCI_VENDOR_ID_HP, + .vendor_name = "HP", + .chipset_setup = hp_zx1_setup, + .ids = hp_agp_device_ids, +}; diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/i8x0-agp.c agpgart/drivers/char/agp/i8x0-agp.c --- bk-linus/drivers/char/agp/i8x0-agp.c 2002-11-26 10:41:12.000000000 -0100 +++ agpgart/drivers/char/agp/i8x0-agp.c 2002-11-26 18:37:28.000000000 -0100 @@ -31,7 +31,7 @@ #include #include #include "agp.h" - +#include "i8x0.h" static int intel_fetch_size(void) { diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/i8x0.h agpgart/drivers/char/agp/i8x0.h --- bk-linus/drivers/char/agp/i8x0.h 1969-12-31 23:00:00.000000000 -0100 +++ agpgart/drivers/char/agp/i8x0.h 2002-11-26 18:29:30.000000000 -0100 @@ -0,0 +1,86 @@ +struct agp_device_ids intel_agp_device_ids[] __initdata = +{ + { + .device_id = PCI_DEVICE_ID_INTEL_82443LX_0, + .chipset = INTEL_LX, + .chipset_name = "440LX", + }, + { + .device_id = PCI_DEVICE_ID_INTEL_82443BX_0, + .chipset = INTEL_BX, + .chipset_name = "440BX", + }, + { + .device_id = PCI_DEVICE_ID_INTEL_82443GX_0, + .chipset = INTEL_GX, + .chipset_name = "440GX", + }, + { + .device_id = PCI_DEVICE_ID_INTEL_82815_MC, + .chipset = INTEL_I815, + .chipset_name = "i815", + .chipset_setup = intel_815_setup + }, + { + .device_id = PCI_DEVICE_ID_INTEL_82820_HB, + .chipset = INTEL_I820, + .chipset_name = "i820", + .chipset_setup = intel_820_setup + }, + { + .device_id = PCI_DEVICE_ID_INTEL_82820_UP_HB, + .chipset = INTEL_I820, + .chipset_name = "i820", + .chipset_setup = intel_820_setup + }, + { + .device_id = PCI_DEVICE_ID_INTEL_82830_HB, + .chipset = INTEL_I830_M, + .chipset_name = "i830M", + .chipset_setup = intel_830mp_setup + }, + { + .device_id = PCI_DEVICE_ID_INTEL_82845G_HB, + .chipset = INTEL_I845_G, + .chipset_name = "i845G", + .chipset_setup = intel_830mp_setup + }, + { + .device_id = PCI_DEVICE_ID_INTEL_82840_HB, + .chipset = INTEL_I840, + .chipset_name = "i840", + .chipset_setup = intel_840_setup + }, + { + .device_id = PCI_DEVICE_ID_INTEL_82845_HB, + .chipset = INTEL_I845, + .chipset_name = "i845", + .chipset_setup = intel_845_setup + }, + { + .device_id = PCI_DEVICE_ID_INTEL_82850_HB, + .chipset = INTEL_I850, + .chipset_name = "i850", + .chipset_setup = intel_850_setup + }, + { + .device_id = PCI_DEVICE_ID_INTEL_82860_HB, + .chipset = INTEL_I860, + .chipset_name = "i860", + .chipset_setup = intel_860_setup + }, + { + .device_id = 0, + .chipset = INTEL_GENERIC, + .chipset_name = "Generic", + }, + { }, /* dummy final entry, always present */ +}; + +struct agp_bridge_info intel_agp_bridge_info __initdata = +{ + .vendor_id = PCI_VENDOR_ID_INTEL, + .vendor_name = "Intel", + .chipset_setup = intel_generic_setup, + .ids = intel_agp_device_ids, +}; diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/k8-agp.c agpgart/drivers/char/agp/k8-agp.c --- bk-linus/drivers/char/agp/k8-agp.c 2002-11-26 10:41:12.000000000 -0100 +++ agpgart/drivers/char/agp/k8-agp.c 2002-11-26 18:31:44.000000000 -0100 @@ -13,6 +13,7 @@ #include #include #include "agp.h" +#include "k8-agp.h" extern int agp_memory_reserved; extern __u32 *agp_gatt_table; diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/k8-agp.h agpgart/drivers/char/agp/k8-agp.h --- bk-linus/drivers/char/agp/k8-agp.h 1969-12-31 23:00:00.000000000 -0100 +++ agpgart/drivers/char/agp/k8-agp.h 2002-11-26 17:44:44.000000000 -0100 @@ -0,0 +1,17 @@ +struct agp_device_ids amd_k8_device_ids[] __initdata = +{ + { + .device_id = PCI_DEVICE_ID_AMD_8151_0, + .chipset = AMD_8151, + .chipset_name = "8151", + }, + { }, /* dummy final entry, always present */ +}; + +struct agp_bridge_info amd_k8_agp_bridge_info[] __initdata = +{ + .vendor_id = PCI_VENDOR_ID_AMD, + .vendor_name = "AMD", + .chipset_setup = amd_8151_setup, + .ids = amd_k8_device_ids, +}; diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/sis-agp.c agpgart/drivers/char/agp/sis-agp.c --- bk-linus/drivers/char/agp/sis-agp.c 2002-11-26 10:41:12.000000000 -0100 +++ agpgart/drivers/char/agp/sis-agp.c 2002-11-26 18:31:45.000000000 -0100 @@ -31,6 +31,7 @@ #include #include #include "agp.h" +#include "sis.h" static int sis_fetch_size(void) { diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/sis.h agpgart/drivers/char/agp/sis.h --- bk-linus/drivers/char/agp/sis.h 1969-12-31 23:00:00.000000000 -0100 +++ agpgart/drivers/char/agp/sis.h 2002-11-26 17:44:46.000000000 -0100 @@ -0,0 +1,72 @@ +struct agp_device_ids sis_agp_device_ids[] __initdata = +{ + { + .device_id = PCI_DEVICE_ID_SI_740, + .chipset = SIS_GENERIC, + .chipset_name = "740", + }, + { + .device_id = PCI_DEVICE_ID_SI_650, + .chipset = SIS_GENERIC, + .chipset_name = "650", + }, + { + .device_id = PCI_DEVICE_ID_SI_645, + .chipset = SIS_GENERIC, + .chipset_name = "645", + }, + { + .device_id = PCI_DEVICE_ID_SI_735, + .chipset = SIS_GENERIC, + .chipset_name = "735", + }, + { + .device_id = PCI_DEVICE_ID_SI_745, + .chipset = SIS_GENERIC, + .chipset_name = "745", + }, + { + .device_id = PCI_DEVICE_ID_SI_730, + .chipset = SIS_GENERIC, + .chipset_name = "730", + }, + { + .device_id = PCI_DEVICE_ID_SI_630, + .chipset = SIS_GENERIC, + .chipset_name = "630", + }, + { + .device_id = PCI_DEVICE_ID_SI_540, + .chipset = SIS_GENERIC, + .chipset_name = "540", + }, + { + .device_id = PCI_DEVICE_ID_SI_620, + .chipset = SIS_GENERIC, + .chipset_name = "620", + }, + { + .device_id = PCI_DEVICE_ID_SI_530, + .chipset = SIS_GENERIC, + .chipset_name = "530", + }, + { + .device_id = PCI_DEVICE_ID_SI_550, + .chipset = SIS_GENERIC, + .chipset_name = "550", + }, + { + .device_id = 0, + .chipset = SIS_GENERIC, + .chipset_name = "Generic", + }, + { }, /* dummy final entry, always present */ +}; + +struct agp_bridge_info sis_agp_bridge_info __initdata = +{ + .vendor_id = PCI_VENDOR_ID_SI, + .vendor_name = "SiS", + .chipset_setup = sis_generic_setup, + .ids = sis_agp_device_ids, +}; diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/via-agp.c agpgart/drivers/char/agp/via-agp.c --- bk-linus/drivers/char/agp/via-agp.c 2002-11-26 10:41:12.000000000 -0100 +++ agpgart/drivers/char/agp/via-agp.c 2002-11-26 18:31:46.000000000 -0100 @@ -32,6 +32,7 @@ #include #include #include "agp.h" +#include "via.h" static int via_fetch_size(void) diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/via.h agpgart/drivers/char/agp/via.h --- bk-linus/drivers/char/agp/via.h 1969-12-31 23:00:00.000000000 -0100 +++ agpgart/drivers/char/agp/via.h 2002-11-26 17:44:49.000000000 -0100 @@ -0,0 +1,62 @@ +struct agp_device_ids via_agp_device_ids[] __initdata = +{ + { + .device_id = PCI_DEVICE_ID_VIA_8501_0, + .chipset = VIA_MVP4, + .chipset_name = "MVP4", + }, + { + .device_id = PCI_DEVICE_ID_VIA_82C597_0, + .chipset = VIA_VP3, + .chipset_name = "VP3", + }, + { + .device_id = PCI_DEVICE_ID_VIA_82C598_0, + .chipset = VIA_MVP3, + .chipset_name = "MVP3", + }, + { + .device_id = PCI_DEVICE_ID_VIA_82C691, + .chipset = VIA_APOLLO_PRO, + .chipset_name = "Apollo Pro", + }, + { + .device_id = PCI_DEVICE_ID_VIA_8371_0, + .chipset = VIA_APOLLO_KX133, + .chipset_name = "Apollo Pro KX133", + }, + { + .device_id = PCI_DEVICE_ID_VIA_8363_0, + .chipset = VIA_APOLLO_KT133, + .chipset_name = "Apollo Pro KT133", + }, + { + .device_id = PCI_DEVICE_ID_VIA_8367_0, + .chipset = VIA_APOLLO_KT133, + .chipset_name = "Apollo Pro KT266", + }, + { + .device_id = PCI_DEVICE_ID_VIA_8377_0, + .chipset = VIA_APOLLO_KT400, + .chipset_name = "Apollo Pro KT400", + }, + { + .device_id = PCI_DEVICE_ID_VIA_8653_0, + .chipset = VIA_APOLLO_PRO, + .chipset_name = "Apollo Pro266T", + }, + { + .device_id = 0, + .chipset = VIA_GENERIC, + .chipset_name = "Generic", + }, + { }, /* dummy final entry, always present */ +}; + +struct agp_bridge_info via_agp_bridge_info __initdata = +{ + .vendor_id = PCI_VENDOR_ID_VIA, + .vendor_name = "Via", + .chipset_setup = via_generic_setup, + .ids = via_agp_device_ids, +};