bk://linux-dj.bkbits.net/agpgart davej@redhat.com|ChangeSet|20040616172123|38164 davej # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/06/18 11:39:25-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-agpgart # # include/linux/pci_ids.h # 2004/06/18 11:39:21-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/06/16 18:21:23+01:00 davej@redhat.com # [AGPGART] Delete trailing whitespace in generic routines. # # Bump copyright dates whilst we're there. # # Signed-off-by: Dave Jones # # drivers/char/agp/generic.c # 2004/06/16 18:21:13+01:00 davej@redhat.com +20 -20 # [AGPGART] Delete trailing whitespace in generic routines. # # Bump copyright dates whilst we're there. # # Signed-off-by: Dave Jones # # ChangeSet # 2004/06/16 17:35:44+01:00 davej@redhat.com # [AGPGART] Re-add VIA VP3 support. # # The refactoring of the PCI IDs supported by the VIA driver dropped # this one. # # Spotted-by: Carsten Rietzschel # Signed-off-by: Dave Jones # # drivers/char/agp/via-agp.c # 2004/06/16 17:35:37+01:00 davej@redhat.com +1 -0 # [AGPGART] Re-add VIA VP3 support. # # The refactoring of the PCI IDs supported by the VIA driver dropped # this one. # # Spotted-by: Carsten Rietzschel # Signed-off-by: Dave Jones # # ChangeSet # 2004/06/15 21:00:09-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-agpgart # # include/linux/pci_ids.h # 2004/06/15 21:00:06-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/06/08 17:39:37+01:00 davej@redhat.com # [AGPGART] Don't waffle about unsupported serverworks chipsets if they don't do AGP. # From: Matt Domsch # Signed-off-by: Dave Jones # # drivers/char/agp/sworks-agp.c # 2004/06/08 17:38:04+01:00 davej@redhat.com +7 -3 # [AGPGART] Don't waffle about unsupported serverworks chipsets if they don't do AGP. # From: Matt Domsch # Signed-off-by: Dave Jones # # ChangeSet # 2004/06/06 13:56:07+01:00 davej@redhat.com # [AGPGART] Kconfig Typo fix # From: Tuncer M zayamut Ayaz # Signed-off-by: Dave Jones # # drivers/char/agp/Kconfig # 2004/06/06 13:55:59+01:00 davej@redhat.com +1 -1 # [AGPGART] Kconfig Typo fix # From: Tuncer M zayamut Ayaz # Signed-off-by: Dave Jones # # ChangeSet # 2004/06/03 10:16:23-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-agpgart # # include/linux/pci_ids.h # 2004/06/03 10:16:20-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/06/02 13:13:23-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-agpgart # # include/linux/pci_ids.h # 2004/06/02 13:13:19-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/06/01 11:02:53-07:00 akpm@bix.(none) # Merge bk://linux-dj.bkbits.net/agpgart # into bix.(none):/usr/src/bk-agpgart # # include/linux/pci_ids.h # 2004/06/01 11:02:49-07:00 akpm@bix.(none) +1 -0 # Auto merged # # ChangeSet # 2004/05/28 16:57:21-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-agpgart # # include/linux/pci_ids.h # 2004/05/28 16:57:18-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/05/28 13:14:32-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-agpgart # # include/linux/pci_ids.h # 2004/05/28 13:14:29-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/05/24 11:19:17-07:00 akpm@bix.(none) # Merge bk://linux-dj.bkbits.net/agpgart # into bix.(none):/usr/src/bk-agpgart # # include/linux/pci_ids.h # 2004/05/24 11:19:14-07:00 akpm@bix.(none) +0 -0 # Auto merged # diff -Nru a/drivers/char/agp/Kconfig b/drivers/char/agp/Kconfig --- a/drivers/char/agp/Kconfig 2004-06-20 13:02:53 -07:00 +++ b/drivers/char/agp/Kconfig 2004-06-20 13:02:53 -07:00 @@ -165,7 +165,7 @@ tristate "Transmeta Efficeon support" depends on AGP && X86 && !X86_64 help - This option fives you AGP support for the Transmeta Efficeon + This option gives you AGP support for the Transmeta Efficeon series processors with integrated northbridges. You should say Y here if you use XFree86 3.3.6 or 4.x and want to diff -Nru a/drivers/char/agp/generic.c b/drivers/char/agp/generic.c --- a/drivers/char/agp/generic.c 2004-06-20 13:02:53 -07:00 +++ b/drivers/char/agp/generic.c 2004-06-20 13:02:53 -07:00 @@ -1,6 +1,6 @@ /* * AGPGART driver. - * Copyright (C) 2002-2003 Dave Jones. + * Copyright (C) 2002-2004 Dave Jones. * Copyright (C) 1999 Jeff Hartmann. * Copyright (C) 1999 Precision Insight, Inc. * Copyright (C) 1999 Xi Graphics, Inc. @@ -18,12 +18,12 @@ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * JEFF HARTMANN, OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM, - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE + * JEFF HARTMANN, OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * TODO: + * TODO: * - Allocate more than order 0 pages to avoid too much linear map splitting. */ #include @@ -37,7 +37,7 @@ #include #include "agp.h" -__u32 *agp_gatt_table; +__u32 *agp_gatt_table; int agp_memory_reserved; /* @@ -46,7 +46,7 @@ */ EXPORT_SYMBOL_GPL(agp_memory_reserved); -/* +/* * Generic routines for handling agp_memory structures - * They use the basic page allocation routines to do the brunt of the work. */ @@ -142,12 +142,12 @@ * agp_allocate_memory - allocate a group of pages of a certain type. * * @page_count: size_t argument of the number of pages - * @type: u32 argument of the type of memory to be allocated. + * @type: u32 argument of the type of memory to be allocated. * * Every agp bridge device will allow you to allocate AGP_NORMAL_MEMORY which * maps to physical ram. Any other type is device dependent. * - * It returns NULL whenever memory is unavailable. + * It returns NULL whenever memory is unavailable. */ struct agp_memory *agp_allocate_memory(size_t page_count, u32 type) { @@ -311,7 +311,7 @@ /** * agp_bind_memory - Bind an agp_memory structure into the GATT. - * + * * @curr: agp_memory pointer * @pg_start: an offset into the graphics aperture translation table * @@ -347,9 +347,9 @@ /** * agp_unbind_memory - Removes an agp_memory structure from the GATT - * + * * @curr: agp_memory pointer to be removed from the GATT. - * + * * It returns -EINVAL if this piece of agp_memory is not currently bound to * the graphics aperture translation table or if the agp_memory pointer == NULL */ @@ -480,7 +480,7 @@ continue; /* - * Ok, here we have a AGP device. Disable impossible + * Ok, here we have a AGP device. Disable impossible * settings, and adjust the readqueue to the minimum. */ pci_read_config_dword(device, cap_ptr+PCI_AGP_STATUS, &tmp); @@ -489,7 +489,7 @@ cmd = ((cmd & ~AGPSTAT_RQ_DEPTH) | min_t(u32, (mode & AGPSTAT_RQ_DEPTH), min_t(u32, (cmd & AGPSTAT_RQ_DEPTH), (tmp & AGPSTAT_RQ_DEPTH)))); - + /* disable FW if it's not supported */ if (!((cmd & AGPSTAT_FW) && (tmp & AGPSTAT_FW) && (mode & AGPSTAT_FW))) cmd &= ~AGPSTAT_FW; @@ -663,7 +663,7 @@ agp_bridge->current_size; break; } - temp = agp_bridge->current_size; + temp = agp_bridge->current_size; } else { agp_bridge->aperture_size_idx = i; } @@ -684,7 +684,7 @@ SetPageReserved(page); agp_bridge->gatt_table_real = (u32 *) table; - agp_gatt_table = (void *)table; + agp_gatt_table = (void *)table; agp_bridge->driver->cache_flush(); agp_bridge->gatt_table = ioremap_nocache(virt_to_phys(table), @@ -870,9 +870,9 @@ EXPORT_SYMBOL(agp_generic_free_by_type); -/* +/* * Basic Page Allocation Routines - - * These routines handle page allocation and by default they reserve the allocated + * These routines handle page allocation and by default they reserve the allocated * memory. They also handle incrementing the current_memory_agp value, Which is checked * against a maximum value. */ @@ -914,9 +914,9 @@ /* End Basic Page Allocation Routines */ -/** +/** * agp_enable - initialise the agp point-to-point connection. - * + * * @mode: agp mode register value to configure with. */ void agp_enable(u32 mode) diff -Nru a/drivers/char/agp/sworks-agp.c b/drivers/char/agp/sworks-agp.c --- a/drivers/char/agp/sworks-agp.c 2004-06-20 13:02:53 -07:00 +++ b/drivers/char/agp/sworks-agp.c 2004-06-20 13:02:53 -07:00 @@ -447,6 +447,7 @@ struct agp_bridge_data *bridge; struct pci_dev *bridge_dev; u32 temp, temp2; + u8 cap_ptr = 0; /* Everything is on func 1 here so we are hardcoding function one */ bridge_dev = pci_find_slot((unsigned int)pdev->bus->number, @@ -457,6 +458,8 @@ return -ENODEV; } + cap_ptr = pci_find_capability(pdev, PCI_CAP_ID_AGP); + switch (pdev->device) { case 0x0006: /* ServerWorks CNB20HE @@ -470,14 +473,15 @@ break; default: - printk(KERN_ERR PFX "Unsupported Serverworks chipset " - "(device id: %04x)\n", pdev->device); + if (cap_ptr) + printk(KERN_ERR PFX "Unsupported Serverworks chipset " + "(device id: %04x)\n", pdev->device); return -ENODEV; } serverworks_private.svrwrks_dev = bridge_dev; serverworks_private.gart_addr_ofs = 0x10; - + pci_read_config_dword(pdev, SVWRKS_APSIZE, &temp); if (temp & PCI_BASE_ADDRESS_MEM_TYPE_64) { pci_read_config_dword(pdev, SVWRKS_APSIZE + 4, &temp2); diff -Nru a/drivers/char/agp/via-agp.c b/drivers/char/agp/via-agp.c --- a/drivers/char/agp/via-agp.c 2004-06-20 13:02:53 -07:00 +++ b/drivers/char/agp/via-agp.c 2004-06-20 13:02:53 -07:00 @@ -434,6 +434,7 @@ .subvendor = PCI_ANY_ID, \ .subdevice = PCI_ANY_ID, \ } + ID(PCI_DEVICE_ID_VIA_82C597_0), ID(PCI_DEVICE_ID_VIA_82C598_0), ID(PCI_DEVICE_ID_VIA_8501_0), ID(PCI_DEVICE_ID_VIA_8601_0), diff -Nru a/include/linux/pci_ids.h b/include/linux/pci_ids.h --- a/include/linux/pci_ids.h 2004-06-20 13:02:53 -07:00 +++ b/include/linux/pci_ids.h 2004-06-20 13:02:53 -07:00 @@ -2018,6 +2018,7 @@ #define PCI_DEVICE_ID_INTEL_82092AA_0 0x1221 #define PCI_DEVICE_ID_INTEL_82092AA_1 0x1222 #define PCI_DEVICE_ID_INTEL_7116 0x1223 +#define PCI_DEVICE_ID_INTEL_7501_0 0x254c #define PCI_DEVICE_ID_INTEL_7505_0 0x2550 #define PCI_DEVICE_ID_INTEL_7505_1 0x2552 #define PCI_DEVICE_ID_INTEL_7205_0 0x255d