Messages in this thread Patch in this message | | | Date | Thu, 21 Feb 2008 01:17:15 +0800 (SGT) | From | Jeff Chua <> | Subject | Re: 2.6.25-rc2 System no longer powers off after suspend-to-disk. Screen becomes green. |
| |
On Feb 20, 2008 2:19 PM, Jeff Chua > I'll try the "idle=poll" to see if that works and will try some printk
I don't know what exactly the i915_suspend() and i915_resume() are supposed to do because it works better without them.
After inserting "return 0;" right at the top of those two functions, suspend (and power-off properly), and resume (without green screen) works just fine.
I would like to know what they're for.
Tested suspend-to-ram, and suspend-to-disk, both console and X on notebook internal LCD display, all works without these two functions.
But, anyway, got down to just one line in i915_drv.c causing the hang during suspend. "pci_set_power_state(dev->pdev, PCI_D3hot);".
And green screen problem during resume is caused by i915_restore_vga(dev);
So, let me where to go from here.
Thanks, Jeff.
--- linux/drivers/char/drm/i915_drv.c.bad 2008-02-20 11:29:14 +0800 +++ linux/drivers/char/drm/i915_drv.c 2008-02-21 00:58:37 +0800 @@ -369,7 +369,7 @@ if (state.event == PM_EVENT_SUSPEND) { /* Shut down the device */ pci_disable_device(dev->pdev); - pci_set_power_state(dev->pdev, PCI_D3hot); + //pci_set_power_state(dev->pdev, PCI_D3hot); }
return 0; @@ -521,7 +521,7 @@ for (i = 0; i < 3; i++) I915_WRITE(SWF30 + (i << 2), dev_priv->saveSWF2[i]);
- i915_restore_vga(dev); + //i915_restore_vga(dev);
return 0; }
| |