Based on patches in the Ubuntu kernel.
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
Signed-off-by: Dave Jones <davej@redhat.com>
-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();
-static int agp_ati_suspend(struct pci_dev *dev, pm_message_t state)
+static int agp_ati_resume(struct pci_dev *dev)
+ pci_set_power_state (pdev, 0);
+ pci_restore_state(dev);
+ return ati_configure();
.probe = agp_ati_probe,
.remove = agp_ati_remove,
#ifdef CONFIG_PM
.probe = agp_ati_probe,
.remove = agp_ati_remove,
#ifdef CONFIG_PM
- .resume = agp_ati_resume,
.suspend = agp_ati_suspend,
.suspend = agp_ati_suspend,
+ .resume = agp_ati_resume,