On Wednesday, February 20, 2008 11:10 am Jeff Chua wrote:Ok, can you give this patch a try with the 'platform' method? It should at least tell us what ACPI would like the device to do at suspend time, but it probably won't fix the hang. Thanks, Jesse diff --git a/drivers/char/drm/i915_drv.c b/drivers/char/drm/i915_drv.c index 4048f39..d8aa2c9 100644 --- a/drivers/char/drm/i915_drv.c +++ b/drivers/char/drm/i915_drv.c @@ -366,11 +366,11 @@ static int i915_suspend(struct drm_device *dev, pm_message_t state) i915_save_vga(dev); - if (state.event == PM_EVENT_SUSPEND) { - /* Shut down the device */ - pci_disable_device(dev->pdev); - pci_set_power_state(dev->pdev, PCI_D3hot); - } + /* Ask ACPI which state the device should be put in */ + pci_disable_device(dev->pdev); + printk("calling pci_set_power_state with %d\n", + acpi_pci_choose_state(dev, state)); + pci_set_power_state(dev->pdev, acpi_pci_choose_state(dev, state)); return 0; } @@ -380,7 +380,7 @@ static int i915_resume(struct drm_device *dev) struct drm_i915_private *dev_priv = dev->dev_private; int i; - pci_set_power_state(dev->pdev, PCI_D0); + pci_set_power_state(dev->pdev, acpi_pci_choose_state(dev, state)); pci_restore_state(dev->pdev); if (pci_enable_device(dev->pdev)) return -1; --
| Linus Torvalds | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Mike Galbraith | Re: regression: CD burning (k3b) went broke |
| Con Kolivas | Re: -mm merge plans for 2.6.23 |
git: | |
| Gerrit Renker | [PATCH 24/37] dccp: Processing Confirm options |
| Linus Torvalds | Re: [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Woodhouse | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
