Hi!So agp_amd64_resume() is responsible for reiniting iommu on new amd64 boxes? It is registered as normal pci driver: static struct pci_driver agp_amd64_pci_driver = { .name = "agpgart-amd64", .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 }; ...should it be modified to run early, as other pci devices (USB controllers) may rely on this? I did this... I'll verify it in 10 hours or so. If someone has amd64 system with >=4G ram, there should be hibernation problems. This should fix it: diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c index d8200ac..4e85178 100644 --- a/drivers/char/agp/amd64-agp.c +++ b/drivers/char/agp/amd64-agp.c @@ -594,12 +594,14 @@ static int agp_amd64_suspend(struct pci_ static int agp_amd64_resume(struct pci_dev *pdev) { + printk("agp_amd64: resume\n"); pci_set_power_state(pdev, PCI_D0); pci_restore_state(pdev); if (pdev->vendor == PCI_VENDOR_ID_NVIDIA) nforce3_agp_init(pdev); + printk("agp_amd64: 8151 configure\n"); return amd_8151_configure(); } @@ -733,8 +735,8 @@ static struct pci_driver agp_amd64_pci_d .probe = agp_amd64_probe, .remove = agp_amd64_remove, #ifdef CONFIG_PM - .suspend = agp_amd64_suspend, - .resume = agp_amd64_resume, + .suspend_late = agp_amd64_suspend, + .resume_early = agp_amd64_resume, #endif }; Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html pomozte zachranit klanovicky les: http://www.ujezdskystrom.info/ --
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Greg Kroah-Hartman | [PATCH 005/196] Chinese: add translation of SubmittingDrivers |
| David Miller | Re: 2.6.24-rc6-mm1: some section mismatches on sparc64 |
| S.Çağlar | Rescheduling interrupts |
git: | |
| Ken Pratt | pack operation is thrashing my server |
| Aaron Bentley | Re: VCS comparison table |
| Imran M Yousuf | Re: [kernel.org users] [RFD] On deprecating "git-foo" for builtins |
| しらいしななこ | Re: [ANNOUNCE] GIT 1.5.4 |
| Marco Peereboom | Re: Real men don't attack straw men |
| Marcos Laufer | dmesg IBM x3650 OpenBSD 4.3 |
| Kevin Neff | Patching a SSH 'Weakness' |
| Steve B | Intel Atom and D945GCLF2 |
| Jeff Garzik | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
| David Miller | Re: [BUG] New Kernel Bugs |
| Arjan van de Ven | Re: [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
