diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/Kconfig agpgart/drivers/char/agp/Kconfig --- bk-linus/drivers/char/agp/Kconfig 2003-04-07 01:41:40.000000000 +0100 +++ agpgart/drivers/char/agp/Kconfig 2003-04-06 13:58:14.000000000 +0100 @@ -141,7 +141,7 @@ config AGP_ALPHA_CORE # Put AGP 3.0 entries below here. -config AGP_I7505 +config AGP_I7x05 tristate "Intel 7205/7505 support (AGP 3.0)" depends on AGP3 help 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 2003-03-06 17:16:06.000000000 +0000 +++ agpgart/drivers/char/agp/agp.h 2003-04-06 20:59:42.000000000 +0100 @@ -1,6 +1,6 @@ /* * AGPGART - * Copyright (C) 2002 Dave Jones + * Copyright (C) 2002-2003 Dave Jones * Copyright (C) 1999 Jeff Hartmann * Copyright (C) 1999 Precision Insight, Inc. * Copyright (C) 1999 Xi Graphics, Inc. @@ -46,7 +46,7 @@ static void __attribute__((unused)) glob panic(PFX "timed out waiting for the other CPUs!\n"); } #else -static inline void global_cache_flush(void) +static void global_cache_flush(void) { flush_agp_cache(); } @@ -380,8 +380,7 @@ struct agp_driver { /* Generic routines. */ -void agp_generic_agp_enable(u32 mode); -void agp_generic_agp_3_0_enable(u32 mode); +void agp_generic_enable(u32 mode); int agp_generic_create_gatt_table(void); int agp_generic_free_gatt_table(void); agp_memory *agp_create_memory(int scratch_pages); @@ -399,5 +398,6 @@ int agp_register_driver (struct agp_driv int agp_unregister_driver(struct agp_driver *drv); u32 agp_collect_device_status(u32 mode, u32 command); void agp_device_command(u32 command, int agp_v3); +int agp_3_0_node_enable(u32 mode, u32 minor); #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 2003-04-07 01:41:40.000000000 +0100 +++ agpgart/drivers/char/agp/ali-agp.c 2003-04-07 01:39:29.000000000 +0100 @@ -208,7 +208,7 @@ static int __init ali_generic_setup (str agp_bridge->cleanup = ali_cleanup; agp_bridge->tlb_flush = ali_tlbflush; agp_bridge->mask_memory = ali_mask_memory; - agp_bridge->agp_enable = agp_generic_agp_enable; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->cache_flush = ali_cache_flush; agp_bridge->create_gatt_table = agp_generic_create_gatt_table; agp_bridge->free_gatt_table = agp_generic_free_gatt_table; diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/amd-k7-agp.c agpgart/drivers/char/agp/amd-k7-agp.c --- bk-linus/drivers/char/agp/amd-k7-agp.c 2003-04-07 01:41:40.000000000 +0100 +++ agpgart/drivers/char/agp/amd-k7-agp.c 2003-04-07 01:39:29.000000000 +0100 @@ -368,7 +368,7 @@ static int __init amd_irongate_setup (st agp_bridge->cleanup = amd_irongate_cleanup; agp_bridge->tlb_flush = amd_irongate_tlbflush; agp_bridge->mask_memory = amd_irongate_mask_memory; - agp_bridge->agp_enable = agp_generic_agp_enable; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->cache_flush = global_cache_flush; agp_bridge->create_gatt_table = amd_create_gatt_table; agp_bridge->free_gatt_table = amd_free_gatt_table; diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/amd-k8-agp.c agpgart/drivers/char/agp/amd-k8-agp.c --- bk-linus/drivers/char/agp/amd-k8-agp.c 2003-02-16 15:53:41.000000000 +0000 +++ agpgart/drivers/char/agp/amd-k8-agp.c 2003-04-01 16:43:18.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright 2001,2002 SuSE Labs + * Copyright 2001-2003 SuSE Labs * Distributed under the GNU public license, v2. * * This is a GART driver for the AMD K8 northbridge and the AMD 8151 @@ -265,7 +265,7 @@ static void agp_x86_64_agp_enable(u32 mo /* If not enough, go to AGP v2 setup */ if (v3_devs<2) { printk (KERN_INFO "AGP: Only %d devices found, not enough, trying AGPv2\n", v3_devs); - return agp_generic_agp_enable(mode); + return agp_generic_enable(mode); } else { printk (KERN_INFO "AGP: Enough AGPv3 devices found, setting up...\n"); } diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/backend.c agpgart/drivers/char/agp/backend.c --- bk-linus/drivers/char/agp/backend.c 2003-02-11 01:08:59.000000000 +0000 +++ agpgart/drivers/char/agp/backend.c 2003-04-07 01:39:29.000000000 +0100 @@ -1,6 +1,6 @@ /* * AGPGART driver backend routines. - * Copyright (C) 2002 Dave Jones. + * Copyright (C) 2002-2003 Dave Jones. * Copyright (C) 1999 Jeff Hartmann. * Copyright (C) 1999 Precision Insight, Inc. * Copyright (C) 1999 Xi Graphics, Inc. diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/frontend.c agpgart/drivers/char/agp/frontend.c --- bk-linus/drivers/char/agp/frontend.c 2003-04-07 01:41:40.000000000 +0100 +++ agpgart/drivers/char/agp/frontend.c 2003-04-02 17:48:23.000000000 +0100 @@ -1,6 +1,6 @@ /* * AGPGART driver frontend - * Copyright (C) 2002 Dave Jones + * Copyright (C) 2002-2003 Dave Jones * Copyright (C) 1999 Jeff Hartmann * Copyright (C) 1999 Precision Insight, Inc. * Copyright (C) 1999 Xi Graphics, Inc. diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/generic-3.0.c agpgart/drivers/char/agp/generic-3.0.c --- bk-linus/drivers/char/agp/generic-3.0.c 2003-04-03 12:22:06.000000000 +0100 +++ agpgart/drivers/char/agp/generic-3.0.c 2003-04-07 01:39:29.000000000 +0100 @@ -319,10 +319,10 @@ static int agp_3_0_nonisochronous_node_e * Fully configure and enable an AGP 3.0 host bridge and all the devices * lying behind it. */ -static int agp_3_0_node_enable(u32 mode, u32 minor) +int agp_3_0_node_enable(u32 mode, u32 minor) { struct pci_dev *td = agp_bridge->dev, *dev; - u8 bus_num, mcapndx; + u8 mcapndx; u32 isoch, arqsz, cal_cycle, tmp, rate; u32 tstatus, tcmd, mcmd, mstatus, ncapid; u32 mmajor, mminor; @@ -343,23 +343,30 @@ static int agp_3_0_node_enable(u32 mode, head = &dev_list->list; INIT_LIST_HEAD(head); - /* - * Find all the devices on this bridge's secondary bus and add them - * to dev_list. - */ - pci_read_config_byte(td, PCI_SECONDARY_BUS, &bus_num); - pci_for_each_dev(dev) { - if(dev->bus->number == bus_num) { - if((cur = kmalloc(sizeof(*cur), GFP_KERNEL)) == NULL) { - ret = -ENOMEM; - goto free_and_exit; - } - - cur->dev = dev; + /* Find all AGP devices, and add them to dev_list. */ + pci_for_each_dev(dev) { + switch ((dev->class >>8) & 0xff00) { + case 0x0001: /* Unclassified device */ + case 0x0300: /* Display controller */ + case 0x0400: /* Multimedia controller */ + case 0x0600: /* Bridge */ + mcapndx = pci_find_capability(dev, PCI_CAP_ID_AGP); + if (mcapndx == 0) + continue; + + if((cur = kmalloc(sizeof(*cur), GFP_KERNEL)) == NULL) { + ret = -ENOMEM; + goto free_and_exit; + } + cur->dev = dev; + + pos = &cur->list; + list_add(pos, head); + ndevs++; + continue; - pos = &cur->list; - list_add(pos, head); - ndevs++; + default: + continue; } } @@ -518,33 +525,5 @@ get_out: return ret; } -/* - * Entry point to AGP 3.0 host bridge init. Check to see if we - * have an AGP 3.0 device operating in 3.0 mode. Call - * agp_3_0_node_enable or agp_generic_agp_enable if we don't - * (AGP 3.0 devices are required to operate as AGP 2.0 devices - * when not using 3.0 electricals. - */ -void agp_generic_agp_3_0_enable(u32 mode) -{ - u32 ncapid, major, minor, agp_3_0; - - pci_read_config_dword(agp_bridge->dev, agp_bridge->capndx, &ncapid); - - major = (ncapid >> 20) & 0xf; - minor = (ncapid >> 16) & 0xf; - - printk(KERN_INFO PFX "Found an AGP %d.%d compliant device.\n",major, minor); - - if(major >= 3) { - pci_read_config_dword(agp_bridge->dev, agp_bridge->capndx + 0x4, &agp_3_0); - /* - * Check to see if we are operating in 3.0 mode - */ - if((agp_3_0 >> 3) & 0x1) - agp_3_0_node_enable(mode, minor); - } -} - -EXPORT_SYMBOL(agp_generic_agp_3_0_enable); +EXPORT_SYMBOL_GPL(agp_3_0_node_enable); diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/generic.c agpgart/drivers/char/agp/generic.c --- bk-linus/drivers/char/agp/generic.c 2003-04-07 01:41:40.000000000 +0100 +++ agpgart/drivers/char/agp/generic.c 2003-04-06 21:00:39.000000000 +0100 @@ -392,21 +392,39 @@ void agp_device_command(u32 command, int } } -void agp_generic_agp_enable(u32 mode) +void agp_generic_enable(u32 mode) { - u32 command; + u32 command, ncapid, major, minor; + pci_read_config_dword(agp_bridge->dev, agp_bridge->capndx, &ncapid); + major = (ncapid >> 20) & 0xf; + minor = (ncapid >> 16) & 0xf; + printk(KERN_INFO PFX "Found an AGP %d.%d compliant device.\n",major, minor); + +#ifdef CONFIG_AGP3 + if(major >= 3) { + u32 agp_3_0; + + pci_read_config_dword(agp_bridge->dev, agp_bridge->capndx + 0x4, &agp_3_0); + /* Check to see if we are operating in 3.0 mode */ + if((agp_3_0 >> 3) & 0x1) { + agp_3_0_node_enable(mode, minor); + return; + } else { + printk (KERN_INFO PFX "not in AGP 3.0 mode, falling back to 2.x\n"); + } + } +#endif + + /* AGP v<3 */ pci_read_config_dword(agp_bridge->dev, - agp_bridge->capndx + PCI_AGP_STATUS, - &command); + agp_bridge->capndx + PCI_AGP_STATUS, &command); command = agp_collect_device_status(mode, command); command |= 0x100; pci_write_config_dword(agp_bridge->dev, - agp_bridge->capndx + PCI_AGP_COMMAND, - command); - + agp_bridge->capndx + PCI_AGP_COMMAND, command); agp_device_command(command, 0); } @@ -745,7 +763,7 @@ EXPORT_SYMBOL(agp_generic_alloc_page); EXPORT_SYMBOL(agp_generic_destroy_page); EXPORT_SYMBOL(agp_generic_suspend); EXPORT_SYMBOL(agp_generic_resume); -EXPORT_SYMBOL(agp_generic_agp_enable); +EXPORT_SYMBOL(agp_generic_enable); EXPORT_SYMBOL(agp_generic_create_gatt_table); EXPORT_SYMBOL(agp_generic_free_gatt_table); EXPORT_SYMBOL(agp_generic_insert_memory); 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 2003-04-07 01:41:40.000000000 +0100 +++ agpgart/drivers/char/agp/hp-agp.c 2003-04-07 01:39:30.000000000 +0100 @@ -339,7 +339,7 @@ static int __init hp_zx1_setup (struct p agp_bridge->cleanup = hp_zx1_cleanup; agp_bridge->tlb_flush = hp_zx1_tlbflush; agp_bridge->mask_memory = hp_zx1_mask_memory; - agp_bridge->agp_enable = agp_generic_agp_enable; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->cache_flush = global_cache_flush; agp_bridge->create_gatt_table = hp_zx1_create_gatt_table; agp_bridge->free_gatt_table = hp_zx1_free_gatt_table; diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/i460-agp.c agpgart/drivers/char/agp/i460-agp.c --- bk-linus/drivers/char/agp/i460-agp.c 2003-04-07 01:41:40.000000000 +0100 +++ agpgart/drivers/char/agp/i460-agp.c 2003-04-07 01:39:30.000000000 +0100 @@ -536,7 +536,7 @@ static int __init intel_i460_setup (stru agp_bridge->cleanup = i460_cleanup; agp_bridge->tlb_flush = i460_tlb_flush; agp_bridge->mask_memory = i460_mask_memory; - agp_bridge->agp_enable = agp_generic_agp_enable; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->cache_flush = global_cache_flush; agp_bridge->create_gatt_table = i460_create_gatt_table; agp_bridge->free_gatt_table = i460_free_gatt_table; diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/i7x05-agp.c agpgart/drivers/char/agp/i7x05-agp.c --- bk-linus/drivers/char/agp/i7x05-agp.c 2003-04-07 01:41:40.000000000 +0100 +++ agpgart/drivers/char/agp/i7x05-agp.c 2003-04-02 23:01:32.000000000 +0100 @@ -8,7 +8,7 @@ static int intel_7505_fetch_size(void) { int i; u16 tmp; - aper_size_info_16 *values; + struct aper_size_info_16 *values; /* * For AGP 3.0 APSIZE is now 16 bits @@ -41,7 +41,7 @@ static void intel_7505_tlbflush(agp_memo static void intel_7505_cleanup(void) { - aper_size_info_16 *previous_size; + struct aper_size_info_16 *previous_size; previous_size = A_SIZE_16(agp_bridge->previous_size); pci_write_config_byte(agp_bridge->dev, INTEL_I7505_APSIZE, @@ -52,7 +52,7 @@ static void intel_7505_cleanup(void) static int intel_7505_configure(void) { u32 temp; - aper_size_info_16 *current_size; + struct aper_size_info_16 *current_size; current_size = A_SIZE_16(agp_bridge->current_size); @@ -76,7 +76,7 @@ static int intel_7505_configure(void) return 0; } -static aper_size_info_16 intel_7505_sizes[7] = +static struct aper_size_info_16 intel_7505_sizes[7] = { {256, 65536, 6, 0xf00}, {128, 32768, 5, 0xf20}, @@ -87,15 +87,21 @@ static aper_size_info_16 intel_7505_size {4, 1024, 0, 0xf3f} }; -static void i7505_setup (u32 mode) +static unsigned long i7x05_mask_memory(unsigned long addr, int type) { - if ((agp_generic_agp_3_0_enable)==FALSE) - agp_generic_agp_enable(mode); + /* Memory type is ignored */ + return addr | agp_bridge->masks[0].mask; } +static struct gatt_mask i7x05_generic_masks[] = +{ + {.mask = 0x00000017, .type = 0} +}; + + static int __init intel_7505_setup (struct pci_dev *pdev) { - agp_bridge->masks = intel_generic_masks; + agp_bridge->masks = i7x05_generic_masks; agp_bridge->aperture_sizes = (void *) intel_7505_sizes; agp_bridge->size_type = U16_APER_SIZE; agp_bridge->num_aperture_sizes = 7; @@ -105,8 +111,8 @@ static int __init intel_7505_setup (stru agp_bridge->fetch_size = intel_7505_fetch_size; agp_bridge->cleanup = intel_7505_cleanup; agp_bridge->tlb_flush = intel_7505_tlbflush; - agp_bridge->mask_memory = intel_mask_memory; - agp_bridge->agp_enable = i7505_enable; + agp_bridge->mask_memory = i7x05_mask_memory; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->cache_flush = global_cache_flush; agp_bridge->create_gatt_table = agp_generic_create_gatt_table; agp_bridge->free_gatt_table = agp_generic_free_gatt_table; @@ -165,7 +171,7 @@ static int __init agp_lookup_host_bridge } static struct agp_driver i7x05_agp_driver = { - .owner = THIS_MODULE; + .owner = THIS_MODULE, }; static int __init agp_i7x05_probe (struct pci_dev *dev, const struct pci_device_id *ent) @@ -180,7 +186,7 @@ static int __init agp_i7x05_probe (struc agp_bridge->dev = dev; agp_bridge->capndx = cap_ptr; /* Fill in the mode register */ - pci_read_config_dword(agp_bridge->dev, agp_bridge->capndx+PCI_AGP_STATUS, &agp_bridge->mode) + pci_read_config_dword(agp_bridge->dev, agp_bridge->capndx+PCI_AGP_STATUS, &agp_bridge->mode); i7x05_agp_driver.dev = dev; agp_register_driver(&i7x05_agp_driver); return 0; diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/agp/intel-agp.c agpgart/drivers/char/agp/intel-agp.c --- bk-linus/drivers/char/agp/intel-agp.c 2003-04-07 01:41:40.000000000 +0100 +++ agpgart/drivers/char/agp/intel-agp.c 2003-04-07 01:39:30.000000000 +0100 @@ -1026,7 +1026,7 @@ static int __init intel_generic_setup (s agp_bridge->cleanup = intel_cleanup; agp_bridge->tlb_flush = intel_tlbflush; agp_bridge->mask_memory = intel_mask_memory; - agp_bridge->agp_enable = agp_generic_agp_enable; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->cache_flush = global_cache_flush; agp_bridge->create_gatt_table = agp_generic_create_gatt_table; agp_bridge->free_gatt_table = agp_generic_free_gatt_table; @@ -1055,7 +1055,7 @@ static int __init intel_815_setup (struc agp_bridge->cleanup = intel_8xx_cleanup; agp_bridge->tlb_flush = intel_8xx_tlbflush; agp_bridge->mask_memory = intel_mask_memory; - agp_bridge->agp_enable = agp_generic_agp_enable; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->cache_flush = global_cache_flush; agp_bridge->create_gatt_table = agp_generic_create_gatt_table; agp_bridge->free_gatt_table = agp_generic_free_gatt_table; @@ -1085,7 +1085,7 @@ static int __init intel_820_setup (struc agp_bridge->cleanup = intel_820_cleanup; agp_bridge->tlb_flush = intel_820_tlbflush; agp_bridge->mask_memory = intel_mask_memory; - agp_bridge->agp_enable = agp_generic_agp_enable; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->cache_flush = global_cache_flush; agp_bridge->create_gatt_table = agp_generic_create_gatt_table; agp_bridge->free_gatt_table = agp_generic_free_gatt_table; @@ -1114,7 +1114,7 @@ static int __init intel_830mp_setup (str agp_bridge->cleanup = intel_8xx_cleanup; agp_bridge->tlb_flush = intel_8xx_tlbflush; agp_bridge->mask_memory = intel_mask_memory; - agp_bridge->agp_enable = agp_generic_agp_enable; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->cache_flush = global_cache_flush; agp_bridge->create_gatt_table = agp_generic_create_gatt_table; agp_bridge->free_gatt_table = agp_generic_free_gatt_table; @@ -1143,7 +1143,7 @@ static int __init intel_840_setup (struc agp_bridge->cleanup = intel_8xx_cleanup; agp_bridge->tlb_flush = intel_8xx_tlbflush; agp_bridge->mask_memory = intel_mask_memory; - agp_bridge->agp_enable = agp_generic_agp_enable; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->cache_flush = global_cache_flush; agp_bridge->create_gatt_table = agp_generic_create_gatt_table; agp_bridge->free_gatt_table = agp_generic_free_gatt_table; @@ -1172,7 +1172,7 @@ static int __init intel_845_setup (struc agp_bridge->cleanup = intel_8xx_cleanup; agp_bridge->tlb_flush = intel_8xx_tlbflush; agp_bridge->mask_memory = intel_mask_memory; - agp_bridge->agp_enable = agp_generic_agp_enable; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->cache_flush = global_cache_flush; agp_bridge->create_gatt_table = agp_generic_create_gatt_table; agp_bridge->free_gatt_table = agp_generic_free_gatt_table; @@ -1201,7 +1201,7 @@ static int __init intel_850_setup (struc agp_bridge->cleanup = intel_8xx_cleanup; agp_bridge->tlb_flush = intel_8xx_tlbflush; agp_bridge->mask_memory = intel_mask_memory; - agp_bridge->agp_enable = agp_generic_agp_enable; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->cache_flush = global_cache_flush; agp_bridge->create_gatt_table = agp_generic_create_gatt_table; agp_bridge->free_gatt_table = agp_generic_free_gatt_table; @@ -1230,7 +1230,7 @@ static int __init intel_860_setup (struc agp_bridge->cleanup = intel_8xx_cleanup; agp_bridge->tlb_flush = intel_8xx_tlbflush; agp_bridge->mask_memory = intel_mask_memory; - agp_bridge->agp_enable = agp_generic_agp_enable; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->cache_flush = global_cache_flush; agp_bridge->create_gatt_table = agp_generic_create_gatt_table; agp_bridge->free_gatt_table = agp_generic_free_gatt_table; 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 2003-04-07 01:41:40.000000000 +0100 +++ agpgart/drivers/char/agp/sis-agp.c 2003-04-07 01:39:30.000000000 +0100 @@ -99,7 +99,7 @@ static int __init sis_generic_setup (str agp_bridge->cleanup = sis_cleanup; agp_bridge->tlb_flush = sis_tlbflush; agp_bridge->mask_memory = sis_mask_memory; - agp_bridge->agp_enable = agp_generic_agp_enable; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->cache_flush = global_cache_flush; agp_bridge->create_gatt_table = agp_generic_create_gatt_table; agp_bridge->free_gatt_table = agp_generic_free_gatt_table; 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 2003-04-07 01:41:40.000000000 +0100 +++ agpgart/drivers/char/agp/via-agp.c 2003-04-01 16:41:41.000000000 +0100 @@ -186,7 +186,7 @@ static int __init via_generic_agp3_setup agp_bridge->num_aperture_sizes = 10; agp_bridge->dev_private_data = NULL; agp_bridge->needs_scratch_page = FALSE; - agp_bridge->agp_enable = agp_generic_agp_3_0_enable; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->configure = via_configure_agp3; agp_bridge->fetch_size = via_fetch_size_agp3; agp_bridge->cleanup = via_cleanup_agp3; @@ -248,7 +248,7 @@ static int __init via_generic_setup (str agp_bridge->cleanup = via_cleanup; agp_bridge->tlb_flush = via_tlbflush; agp_bridge->mask_memory = via_mask_memory; - agp_bridge->agp_enable = agp_generic_agp_enable; + agp_bridge->agp_enable = agp_generic_enable; agp_bridge->cache_flush = global_cache_flush; agp_bridge->create_gatt_table = agp_generic_create_gatt_table; agp_bridge->free_gatt_table = agp_generic_free_gatt_table; @@ -319,10 +319,10 @@ static struct agp_device_ids via_agp_dev }, /* VT8361 */ -/* { + { .device_id = PCI_DEVICE_ID_VIA_8361, // 0x3112 .chipset_name = "Apollo KLE133", - }, */ + }, /* VT8365 / VT8362 */ { @@ -331,10 +331,10 @@ static struct agp_device_ids via_agp_dev }, /* VT8753A */ -/* { - .device_id = PCI_DEVICE_ID_VIA_8753_0, // 0x3128 + { + .device_id = PCI_DEVICE_ID_VIA_8753_0, .chipset_name = "P4X266", - }, */ + }, /* VT8366 */ { @@ -349,16 +349,16 @@ static struct agp_device_ids via_agp_dev }, /* KM266 / PM266 */ -/* { - .device_id = PCI_DEVICE_ID_VIA_KM266, // 0x3116 + { + .device_id = PCI_DEVICE_ID_VIA_KM266, .chipset_name = "KM266/PM266", - }, */ + }, /* CLE266 */ -/* { - .device_id = PCI_DEVICE_ID_VIA_CLE266, // 0x3123 + { + .device_id = PCI_DEVICE_ID_VIA_CLE266, .chipset_name = "CLE266", - }, */ + }, { .device_id = PCI_DEVICE_ID_VIA_8377_0, @@ -374,16 +374,16 @@ static struct agp_device_ids via_agp_dev }, /* VT8752*/ -/* { - .device_id = PCI_DEVICE_ID_VIA_8752, // 0x3148 + { + .device_id = PCI_DEVICE_ID_VIA_8752, .chipset_name = "ProSavage DDR P4M266", - }, */ + }, /* KN266/PN266 */ -/* { - .device_id = PCI_DEVICE_ID_KN266, // 0x3156 + { + .device_id = PCI_DEVICE_ID_VIA_KN266, .chipset_name = "KN266/PN266", - }, */ + }, /* VT8754 */ { @@ -392,28 +392,28 @@ static struct agp_device_ids via_agp_dev }, /* P4N333 */ -/* { - .device_id = PCI_DEVICE_ID_VIA_P4N333, // 0x3178 + { + .device_id = PCI_DEVICE_ID_VIA_P4N333, .chipset_name = "P4N333", - }, */ + }, /* P4X600 */ -/* { - .device_id = PCI_DEVICE_ID_VIA_P4X600, // 0x0198 + { + .device_id = PCI_DEVICE_ID_VIA_P4X600, .chipset_name = "P4X600", - }, */ + }, /* KM400 */ -/* { - .device_id = PCI_DEVICE_ID_VIA_KM400, // 0x3205 + { + .device_id = PCI_DEVICE_ID_VIA_KM400, .chipset_name = "KM400", - }, */ + }, /* P4M400 */ -/* { - .device_id = PCI_DEVICE_ID_VIA_P4M400, // 0x3209 + { + .device_id = PCI_DEVICE_ID_VIA_P4M400, .chipset_name = "PM400", - }, */ + }, { }, /* dummy final entry, always present */ }; diff -urpN --exclude-from=/home/davej/.exclude bk-linus/include/linux/pci_ids.h agpgart/include/linux/pci_ids.h --- bk-linus/include/linux/pci_ids.h 2003-04-07 01:42:34.000000000 +0100 +++ agpgart/include/linux/pci_ids.h 2003-04-07 01:34:34.000000000 +0100 @@ -1074,6 +1074,7 @@ #define PCI_DEVICE_ID_TTI_HPT374 0x0008 #define PCI_VENDOR_ID_VIA 0x1106 +#define PCI_DEVICE_ID_VIA_P4X600 0x0198 #define PCI_DEVICE_ID_VIA_8363_0 0x0305 #define PCI_DEVICE_ID_VIA_8371_0 0x0391 #define PCI_DEVICE_ID_VIA_8501_0 0x0501 @@ -1113,11 +1114,19 @@ #define PCI_DEVICE_ID_VIA_8653_0 0x3101 #define PCI_DEVICE_ID_VIA_8622 0x3102 #define PCI_DEVICE_ID_VIA_8233C_0 0x3109 -#define PCI_DEVICE_ID_VIA_8361 0x3112 +#define PCI_DEVICE_ID_VIA_8361 0x3112 +#define PCI_DEVICE_ID_VIA_KM266 0x3116 +#define PCI_DEVICE_ID_VIA_CLE266 0x3123 +#define PCI_DEVICE_ID_VIA_8753_0 0x3128 #define PCI_DEVICE_ID_VIA_8233A 0x3147 +#define PCI_DEVICE_ID_VIA_8752 0x3148 +#define PCI_DEVICE_ID_VIA_KN266 0x3156 #define PCI_DEVICE_ID_VIA_8754 0x3168 #define PCI_DEVICE_ID_VIA_8235 0x3177 +#define PCI_DEVICE_ID_VIA_P4N333 0x3178 #define PCI_DEVICE_ID_VIA_8377_0 0x3189 +#define PCI_DEVICE_ID_VIA_KM400 0x3205 +#define PCI_DEVICE_ID_VIA_P4M400 0x3209 #define PCI_DEVICE_ID_VIA_86C100A 0x6100 #define PCI_DEVICE_ID_VIA_8231 0x8231 #define PCI_DEVICE_ID_VIA_8231_4 0x8235