Maarten Lankhorst
2013-Oct-08 15:36 UTC
[Nouveau] [PATCH] drm/nouveau: suspend to D3hot, not to D3cold
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 at canonical.com> --- 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; }
Dave Airlie
2013-Oct-08 22:05 UTC
[Nouveau] [PATCH] drm/nouveau: suspend to D3hot, not to D3cold
On Wed, Oct 9, 2013 at 1:36 AM, Maarten Lankhorst <maarten.lankhorst at 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.
Apparently Analagous Threads
- [PATCH 1/5] drm: don't set the pci power state if the pci subsystem handles the ACPI bits
- [PATCH 1/5] drm: don't set the pci power state if the pci subsystem handles the ACPI bits
- [PATCH v2 1/4] drm: don't set the pci power state if the pci subsystem handles the ACPI bits
- [PATCH] drm: don't set the pci power state if the pci subsystem handles the ACPI bits
- [PATCH v3] drm: don't set the pci power state if the pci subsystem handles the ACPI bits