[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);
|
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[] = {
|
static struct pci_device_id agp_amd64_pci_table[] = {
|
||||||
{
|
{
|
||||||
.class = (PCI_CLASS_BRIDGE_HOST << 8),
|
.class = (PCI_CLASS_BRIDGE_HOST << 8),
|
||||||
@ -718,6 +738,10 @@ static struct pci_driver agp_amd64_pci_driver = {
|
|||||||
.id_table = agp_amd64_pci_table,
|
.id_table = agp_amd64_pci_table,
|
||||||
.probe = agp_amd64_probe,
|
.probe = agp_amd64_probe,
|
||||||
.remove = agp_amd64_remove,
|
.remove = agp_amd64_remove,
|
||||||
|
#ifdef CONFIG_PM
|
||||||
|
.suspend = agp_amd64_suspend,
|
||||||
|
.resume = agp_amd64_resume,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user