Re: 2.6.25-rc2 System no longer powers off after suspend-to-disk. Screen becomes green.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Jesse Barnes
Date: Wednesday, February 20, 2008 - 1:09 pm

On Wednesday, February 20, 2008 11:18 am Jesse Barnes wrote:

Given the way the PM core works, do we need to set a flag like this?  I really 
hope there's a better way of doing this...

Thanks,
Jesse

diff --git a/drivers/char/drm/i915_drv.c b/drivers/char/drm/i915_drv.c
index 4048f39..a2d6242 100644
--- a/drivers/char/drm/i915_drv.c
+++ b/drivers/char/drm/i915_drv.c
@@ -238,6 +238,13 @@ static void i915_restore_vga(struct drm_device *dev)
 
 }
 
+/*
+ * If we're doing a suspend to disk, we don't want to power off the device.
+ * Unfortunately, the PM core doesn't tell us if we're headed for a regular
+ * S3 state or that it's about to shut down the machine, so we use this flag.
+ */
+static int i915_hibernate;
+
 static int i915_suspend(struct drm_device *dev, pm_message_t state)
 {
 	struct drm_i915_private *dev_priv = dev->dev_private;
@@ -252,6 +259,9 @@ static int i915_suspend(struct drm_device *dev, 
pm_message_t state)
 	if (state.event == PM_EVENT_PRETHAW)
 		return 0;
 
+	if (state.event == PM_EVENT_FREEZE)
+		i915_hibernate = 1;
+
 	pci_save_state(dev->pdev);
 	pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB);
 
@@ -366,7 +376,7 @@ static int i915_suspend(struct drm_device *dev, 
pm_message_t state)
 
 	i915_save_vga(dev);
 
-	if (state.event == PM_EVENT_SUSPEND) {
+	if (!i915_hibernate) {
 		/* Shut down the device */
 		pci_disable_device(dev->pdev);
 		pci_set_power_state(dev->pdev, PCI_D3hot);
@@ -385,6 +395,8 @@ static int i915_resume(struct drm_device *dev)
 	if (pci_enable_device(dev->pdev))
 		return -1;
 
+	i915_hibernate = 0;
+
 	pci_write_config_byte(dev->pdev, LBB, dev_priv->saveLBB);
 
 	/* Pipe & plane A info */
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Jesse Barnes, (Wed Feb 20, 1:09 pm)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Wed Feb 20, 1:14 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Wed Feb 20, 1:45 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Alexey Starikovskiy, (Wed Feb 20, 2:26 pm)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Wed Feb 20, 3:36 pm)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Wed Feb 20, 4:35 pm)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Wed Feb 20, 4:49 pm)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Wed Feb 20, 5:13 pm)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Wed Feb 20, 5:59 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Wed Feb 20, 6:07 pm)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Nigel Cunningham, (Wed Feb 20, 11:05 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Thu Feb 21, 9:27 am)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Romano Giannetti, (Thu Feb 21, 12:43 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Thu Feb 21, 1:30 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Thu Feb 21, 3:11 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Thu Feb 21, 5:28 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Thu Feb 21, 5:31 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Thu Feb 21, 5:54 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Thu Feb 21, 6:06 pm)
Re: [Suspend-devel] 2.6.25-rc2 System no longer powers off ..., Rafael J. Wysocki, (Fri Feb 22, 9:10 am)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Fri Feb 22, 10:02 am)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Fri Feb 22, 10:44 am)
Re: 2.6.25-rc2 System no longer powers off after suspend-t ..., Rafael J. Wysocki, (Fri Feb 22, 4:16 pm)
i915 hibernation patch (was: Re: [Suspend-devel] 2.6.25-rc ..., Rafael J. Wysocki, (Fri Feb 22, 4:31 pm)
Re: i915 hibernation patch (was: Re: [Suspend-devel] 2.6.2 ..., Rafael J. Wysocki, (Fri Feb 22, 6:55 pm)
[PATCH] PM: Introduce PM_EVENT_HIBERNATE (was: Re: i915 hi ..., Rafael J. Wysocki, (Sat Feb 23, 11:13 am)
Re: [PATCH] PM: Introduce PM_EVENT_HIBERNATE (was: Re: i91 ..., Rafael J. Wysocki, (Sun Feb 24, 4:11 am)
Re: [PATCH] PM: Introduce PM_EVENT_HIBERNATE (was: Re: i91 ..., Rafael J. Wysocki, (Sun Feb 24, 4:25 am)