]> git.hungrycats.org Git - linux/commitdiff
[AGPGART] Improve the resume functions for Intel AGP bridges by restoring config...
authorDave Jones <davej@redhat.com>
Tue, 1 Jun 2004 11:35:02 +0000 (12:35 +0100)
committerDave Jones <davej@delerium.codemonkey.org.uk>
Tue, 1 Jun 2004 11:35:02 +0000 (12:35 +0100)
(the bios might not have done that).

From: Arjan van de Ven

drivers/char/agp/intel-agp.c
drivers/char/agp/intel-mch-agp.c

index 5d3a0ceca25b31d0f0679a9fab5f08b6ad7f3902..9890c24cee7cfe0533c42a93265be2f8921aebcb 100644 (file)
@@ -1445,14 +1445,11 @@ static void __devexit agp_intel_remove(struct pci_dev *pdev)
        agp_put_bridge(bridge);
 }
 
-static int agp_intel_suspend(struct pci_dev *dev, u32 state)
-{
-       return 0;
-}
-
 static int agp_intel_resume(struct pci_dev *pdev)
 {
        struct agp_bridge_data *bridge = pci_get_drvdata(pdev);
+       
+       pci_restore_state(pdev, pdev->saved_config_space);
 
        if (bridge->driver == &intel_generic_driver)
                intel_configure();
@@ -1506,7 +1503,6 @@ static struct pci_driver agp_intel_pci_driver = {
        .id_table       = agp_intel_pci_table,
        .probe          = agp_intel_probe,
        .remove         = agp_intel_remove,
-       .suspend        = agp_intel_suspend,
        .resume         = agp_intel_resume,
 };
 
index 4886d3e2233a0edf70427fa910ba941eb47dcfa2..dff4d9933861cf6ce5e06189db7654a2a4341fbc 100644 (file)
@@ -569,14 +569,11 @@ static void __devexit agp_intelmch_remove(struct pci_dev *pdev)
        agp_put_bridge(bridge);
 }
 
-static int agp_intelmch_suspend(struct pci_dev *dev, u32 state)
-{
-       return 0;
-}
-
 static int agp_intelmch_resume(struct pci_dev *pdev)
 {
        struct agp_bridge_data *bridge = pci_get_drvdata(pdev);
+       
+       pci_restore_state(pdev, pdev->saved_config_space);
 
        if (bridge->driver == &intel_845_driver)
                intel_845_configure();
@@ -611,7 +608,6 @@ static struct pci_driver agp_intelmch_pci_driver = {
        .id_table       = agp_intelmch_pci_table,
        .probe          = agp_intelmch_probe,
        .remove         = agp_intelmch_remove,
-       .suspend        = agp_intelmch_suspend,
        .resume         = agp_intelmch_resume,
 };