Messages in this thread | | | From | Christian Hoffmann <> | Subject | Re: [Linux-fbdev-devel] Fwd: [Suspend-devel] resume not working on acer ferrari 4005 with radeonfb enabled | Date | Fri, 17 Nov 2006 21:33:44 +0100 |
| |
On Friday 17 November 2006 16:41, Stuffed Crust wrote: > On Fri, Nov 17, 2006 at 01:07:58AM -0500, Stuffed Crust wrote: > > http://www.shaftnet.org/users/pizza/radeonfb-atom-2.6.19-v7-WIP1.diff > > http://www.shaftnet.org/users/pizza/radeonfb-atom-2.6.19-v7-WIP2.diff > > This incorporates the latest round of BenH's fixes and changes, but > backs out the PCI suspend changes, which need independent review and > testing. > > (BenH has promised a little more work before he's ready to sign off, > hence the -WIP2 designation) > > The following patch contains a rewrite of radeonfb's suspend/resume code > to use standard PCI subsystem calls. It applies to 2.6.19-rc6 and also > on top of the v7-WIP2 patch. > > http://www.shaftnet.org/users/pizza/radeonfb-atom-2.6.19-suspend.diff > > Christian, if you could see if the latter patch (on top of the -v6b or > -WIP2 patches) makes a difference for your suspend/resume problems.. > > And with these patches, I'm going to drop offline for a camping trip > over the weekend. I'll pick this stuff back up on Monday. > > - Solomon
Hlo,
it still locks up. ... pci_set_power_state(pdev, PCI_D0); pci_restore_state(pdev); if (pci_enable_device(pdev)) { rc = -ENODEV; printk(KERN_ERR "radeonfb (%s): can't enable PCI device !\n", pci_name(pdev)); goto bail; } pci_set_master(pdev); if (pdev->dev.power.power_state.event == PM_EVENT_SUSPEND) { /* Wakeup chip. Check from config space if we were powered off * (todo: additionally, check CLK_PIN_CNTL too) */ if (rinfo->pm_mode & radeon_pm_off) { if (rinfo->reinit_func != NULL) rinfo->reinit_func(rinfo); else { printk(KERN_ERR "radeonfb (%s): can't resume radeon from" " D3 cold, need softboot !", pci_name(pdev)); rc = -EIO; goto bail; } } /* If we support D2, try to resume... we should check what was our * state though... (were we really in D2 state ?). Right now, this code * is only enable on Macs so it's fine. */ else if (rinfo->pm_mode & radeon_pm_d2) radeon_set_suspend(rinfo, 0);
rinfo->asleep = 0; } else radeon_engine_idle(); goto bail;
When I comment out the rinfo->asleep = 0; line, the machine comes back. So it seems that rinfo struct is still corrupted somehow.
Chris [unhandled content-type:application/pgp-signature] | |