Message ID | 52542686.6000602@canonical.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Oct 9, 2013 at 1:36 AM, Maarten Lankhorst <maarten.lankhorst@canonical.com> wrote: > In the autumn and winter it's considered bad form to set power state to D3cold, it might > cause the device to freeze to death. This is also the case in the other seasons, so any > device in the southern hemisphere is affected too. > > D3cold is not a valid state in a call to pci_set_power_state, only up to D3hot is allowed. NAK, pci_set_power_state calls pci_platform_pm->set_state, which should be acpi_pci_set_power_state, which clearly accepts D3cold as a parameter. The only reason the HDMI audio driver doesn't use D3cold is because it has no acpi handle for the device. Dave.
diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index 89efeff..566e544 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c @@ -945,7 +945,7 @@ static int nouveau_pmops_runtime_suspend(struct device *dev) ret = nouveau_do_suspend(drm_dev); pci_save_state(pdev); pci_disable_device(pdev); - pci_set_power_state(pdev, PCI_D3cold); + pci_set_power_state(pdev, PCI_D3hot); drm_dev->switch_power_state = DRM_SWITCH_POWER_DYNAMIC_OFF; return ret; }
In the autumn and winter it's considered bad form to set power state to D3cold, it might cause the device to freeze to death. This is also the case in the other seasons, so any device in the southern hemisphere is affected too. D3cold is not a valid state in a call to pci_set_power_state, only up to D3hot is allowed. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> ---