From 89d17b9604ae502392e119dbdbf43f6067745715 Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Tue, 20 Jun 2006 00:39:19 -0400 Subject: [AGPGART] Whitespace cleanups for ati-agp Signed-off-by: Dave Jones --- drivers/char/agp/ati-agp.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/drivers/char/agp/ati-agp.c b/drivers/char/agp/ati-agp.c index 06fd10ba0c5eb..6db9b7f436aa6 100644 --- a/drivers/char/agp/ati-agp.c +++ b/drivers/char/agp/ati-agp.c @@ -41,7 +41,6 @@ static struct gatt_mask ati_generic_masks[] = }; - typedef struct _ati_page_map { unsigned long *real; unsigned long __iomem *remapped; @@ -141,7 +140,8 @@ static int ati_create_gatt_pages(int nr_tables) ati_generic_private.num_tables = nr_tables; ati_generic_private.gatt_pages = tables; - if (retval != 0) ati_free_gatt_pages(); + if (retval != 0) + ati_free_gatt_pages(); return retval; } @@ -219,16 +219,16 @@ static int ati_configure(void) ati_generic_private.registers = (volatile u8 __iomem *) ioremap(temp, 4096); if (is_r200()) - pci_write_config_dword(agp_bridge->dev, ATI_RS100_IG_AGPMODE, 0x20000); + pci_write_config_dword(agp_bridge->dev, ATI_RS100_IG_AGPMODE, 0x20000); else pci_write_config_dword(agp_bridge->dev, ATI_RS300_IG_AGPMODE, 0x20000); /* address to map too */ - /* + /* pci_read_config_dword(agp_bridge.dev, AGP_APBASE, &temp); agp_bridge.gart_bus_addr = (temp & PCI_BASE_ADDRESS_MEM_MASK); printk(KERN_INFO PFX "IGP320 gart_bus_addr: %x\n", agp_bridge.gart_bus_addr); - */ + */ writel(0x60000, ati_generic_private.registers+ATI_GART_FEATURE_ID); readl(ati_generic_private.registers+ATI_GART_FEATURE_ID); /* PCI Posting.*/ @@ -321,9 +321,9 @@ static int ati_remove_memory(struct agp_memory * mem, off_t pg_start, unsigned long __iomem *cur_gatt; unsigned long addr; - if (type != 0 || mem->type != 0) { + if (type != 0 || mem->type != 0) return -EINVAL; - } + for (i = pg_start; i < (mem->page_count + pg_start); i++) { addr = (i * PAGE_SIZE) + agp_bridge->gart_bus_addr; cur_gatt = GET_GATT(addr); @@ -502,9 +502,8 @@ found: bridge->dev = pdev; bridge->capndx = cap_ptr; - - bridge->driver = &ati_generic_bridge; + bridge->driver = &ati_generic_bridge; printk(KERN_INFO PFX "Detected Ati %s chipset\n", devs[j].chipset_name); -- cgit 1.2.3-korg From a4aec2622340e356e7dcd0e8fd05378dacb71c89 Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Tue, 20 Jun 2006 00:42:04 -0400 Subject: [AGPGART] Suspend/Resume improvements for ATI AGP Based on patches in the Ubuntu kernel. Signed-off-by: Ben Collins Signed-off-by: Dave Jones --- drivers/char/agp/ati-agp.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/char/agp/ati-agp.c b/drivers/char/agp/ati-agp.c index 6db9b7f436aa6..34bbd41f062a1 100644 --- a/drivers/char/agp/ati-agp.c +++ b/drivers/char/agp/ati-agp.c @@ -245,18 +245,20 @@ static int ati_configure(void) #ifdef CONFIG_PM -static int agp_ati_resume(struct pci_dev *dev) +static int agp_ati_suspend(struct pci_dev *dev, pm_message_t state) { - pci_restore_state(dev); + pci_save_state(dev); + pci_set_power_state (pdev, 3); - return ati_configure(); + return 0; } -static int agp_ati_suspend(struct pci_dev *dev, pm_message_t state) +static int agp_ati_resume(struct pci_dev *dev) { - pci_save_state(dev); + pci_set_power_state (pdev, 0); + pci_restore_state(dev); - return 0; + return ati_configure(); } #endif @@ -545,8 +547,8 @@ static struct pci_driver agp_ati_pci_driver = { .probe = agp_ati_probe, .remove = agp_ati_remove, #ifdef CONFIG_PM - .resume = agp_ati_resume, .suspend = agp_ati_suspend, + .resume = agp_ati_resume, #endif }; -- cgit 1.2.3-korg From c5f2f261e7a47e4c72723cdcbe99e1bd771a81ea Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Tue, 20 Jun 2006 00:44:38 -0400 Subject: [AGPGART] Suspend/Resume support for nVidia nForce AGP. Based on a patch from the Ubuntu kernel. Signed-off-by: Ben Collins Signed-off-by: Dave Jones --- drivers/char/agp/nvidia-agp.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/drivers/char/agp/nvidia-agp.c b/drivers/char/agp/nvidia-agp.c index 4c67135c12d85..b3a53e7f36027 100644 --- a/drivers/char/agp/nvidia-agp.c +++ b/drivers/char/agp/nvidia-agp.c @@ -376,6 +376,31 @@ static void __devexit agp_nvidia_remove(struct pci_dev *pdev) agp_put_bridge(bridge); } +#ifdef CONFIG_PM +static int agp_nvidia_suspend(struct pci_dev *pdev, pm_message_t state) +{ + pci_save_state (pdev); + pci_set_power_state (pdev, 3); + + return 0; +} + +static int agp_nvidia_resume(struct pci_dev *pdev) +{ + struct agp_bridge_data *bridge = pci_get_drvdata(pdev); + + /* set power state 0 and restore PCI space */ + pci_set_power_state (pdev, 0); + pci_restore_state(pdev); + + /* reconfigure AGP hardware again */ + nvidia_configure(); + + return 0; +} +#endif + + static struct pci_device_id agp_nvidia_pci_table[] = { { .class = (PCI_CLASS_BRIDGE_HOST << 8), @@ -403,6 +428,10 @@ static struct pci_driver agp_nvidia_pci_driver = { .id_table = agp_nvidia_pci_table, .probe = agp_nvidia_probe, .remove = agp_nvidia_remove, +#ifdef CONFIG_PM + .suspend = agp_nvidia_suspend, + .resume = agp_nvidia_resume, +#endif }; static int __init agp_nvidia_init(void) -- cgit 1.2.3-korg From b3818ed446fc41db41b5a38d934ac2b69fd2e0aa Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Wed, 21 Jun 2006 13:10:26 -0400 Subject: [AGPGART] Compile fix for ati-agp Signed-off-by: Andrew Morton Signed-off-by: Dave Jones --- drivers/char/agp/ati-agp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/char/agp/ati-agp.c b/drivers/char/agp/ati-agp.c index 34bbd41f062a1..d712078ed8220 100644 --- a/drivers/char/agp/ati-agp.c +++ b/drivers/char/agp/ati-agp.c @@ -248,14 +248,14 @@ static int ati_configure(void) static int agp_ati_suspend(struct pci_dev *dev, pm_message_t state) { pci_save_state(dev); - pci_set_power_state (pdev, 3); + pci_set_power_state(dev, 3); return 0; } static int agp_ati_resume(struct pci_dev *dev) { - pci_set_power_state (pdev, 0); + pci_set_power_state(dev, 0); pci_restore_state(dev); return ati_configure(); -- cgit 1.2.3-korg From 4092e256ca35e62b431ebad4e0c42c6360acee08 Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Wed, 21 Jun 2006 17:36:24 -0400 Subject: [AGPGART] Fix pci_register_driver checking in amd64-agp pci_register_driver() never returns a positive number. Signed-off-by: Dave Jones --- drivers/char/agp/amd64-agp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c index ac3c33a2e37d7..e449d949f7ea7 100644 --- a/drivers/char/agp/amd64-agp.c +++ b/drivers/char/agp/amd64-agp.c @@ -761,7 +761,7 @@ int __init agp_amd64_init(void) if (agp_off) return -EINVAL; - if (pci_register_driver(&agp_amd64_pci_driver) > 0) { + if (pci_register_driver(&agp_amd64_pci_driver) < 0) { struct pci_dev *dev; if (!agp_try_unsupported && !agp_try_unsupported_boot) { printk(KERN_INFO PFX "No supported AGP bridge found.\n"); -- cgit 1.2.3-korg From 4280370efe0e9c527ccd6188d6211a10bcb22b1e Mon Sep 17 00:00:00 2001 From: Adrian Bunk Date: Fri, 23 Jun 2006 12:55:46 +0200 Subject: [AGPGART] remove unused variable This patch removes an unused variable. Signed-off-by: Adrian Bunk Signed-off-by: Dave Jones --- drivers/char/agp/nvidia-agp.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/char/agp/nvidia-agp.c b/drivers/char/agp/nvidia-agp.c index b3a53e7f36027..df7f37b2739ab 100644 --- a/drivers/char/agp/nvidia-agp.c +++ b/drivers/char/agp/nvidia-agp.c @@ -387,8 +387,6 @@ static int agp_nvidia_suspend(struct pci_dev *pdev, pm_message_t state) static int agp_nvidia_resume(struct pci_dev *pdev) { - struct agp_bridge_data *bridge = pci_get_drvdata(pdev); - /* set power state 0 and restore PCI space */ pci_set_power_state (pdev, 0); pci_restore_state(pdev); -- cgit 1.2.3-korg From adf8a287150667feb5747f8beade62acacc17d4e Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Wed, 28 Jun 2006 13:38:43 -0400 Subject: [AGPGART] Make AGP depend on PCI Fixes possible compile error in amd64 with pci=n pointed out by Adrian Bunk. Signed-off-by: Dave Jones --- drivers/char/agp/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/char/agp/Kconfig b/drivers/char/agp/Kconfig index 7c88c060a9e6b..3dbbb9544ae8c 100644 --- a/drivers/char/agp/Kconfig +++ b/drivers/char/agp/Kconfig @@ -1,6 +1,7 @@ config AGP tristate "/dev/agpgart (AGP Support)" if !GART_IOMMU depends on ALPHA || IA64 || PPC || X86 + depends on PCI default y if GART_IOMMU ---help--- AGP (Accelerated Graphics Port) is a bus system mainly used to -- cgit 1.2.3-korg