[AGPGART] Suspend/Resume support for AMD64 GART.
This adds support for suspend/resume to the amd64-agp driver. Without it, X displays garbage after resume from swsusp. Signed-off-by: Michal Schmidt <xschmi00@stud.feec.vutbr.cz> Cc: Andi Kleen <ak@muc.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Jones <davej@redhat.com>
This commit is contained in:
parent
496ebd3864
commit
90be4b49b8
@ -600,6 +600,26 @@ static void __devexit agp_amd64_remove(struct pci_dev *pdev)
|
||||
agp_put_bridge(bridge);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
|
||||
static int agp_amd64_suspend(struct pci_dev *pdev, pm_message_t state)
|
||||
{
|
||||
pci_save_state(pdev);
|
||||
pci_set_power_state(pdev, pci_choose_state(pdev, state));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int agp_amd64_resume(struct pci_dev *pdev)
|
||||
{
|
||||
pci_set_power_state(pdev, PCI_D0);
|
||||
pci_restore_state(pdev);
|
||||
|
||||
return amd_8151_configure();
|
||||
}
|
||||
|
||||
#endif /* CONFIG_PM */
|
||||
|
||||
static struct pci_device_id agp_amd64_pci_table[] = {
|
||||
{
|
||||
.class = (PCI_CLASS_BRIDGE_HOST << 8),
|
||||
@ -718,6 +738,10 @@ static struct pci_driver agp_amd64_pci_driver = {
|
||||
.id_table = agp_amd64_pci_table,
|
||||
.probe = agp_amd64_probe,
|
||||
.remove = agp_amd64_remove,
|
||||
#ifdef CONFIG_PM
|
||||
.suspend = agp_amd64_suspend,
|
||||
.resume = agp_amd64_resume,
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user