On 6/24/2014 5:12 PM, Imre Deak wrote:
On Tue, 2014-06-24 at 17:53 +0300, Jani Nikula wrote:
On Tue, 24 Jun 2014, Imre Deak <imre.deak@xxxxxxxxx> wrote:
On Tue, 2014-06-24 at 16:54 +0300, Jani Nikula wrote:
On Mon, 23 Jun 2014, Imre Deak <imre.deak@xxxxxxxxx> wrote:
To achieve further power savings during system freeze (aka connected
standby, or s0ix) we have to send a PCI_D1 opregion notification. As
the information about the state we're entering (system freeze,
suspend to ram or suspend to disk) is only available through the ACPI
subsystem, make this support depend on the relevant kconfig option.
Things will still work if this option isn't set, albeit with less than
optimial power saving.
This also fixes a compile breakage when the option is not set introduced
in
commit e5747e3adcd67ae27105003ec99fb58cba180105
Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
Date: Thu Jun 12 08:35:47 2014 -0700
drm/i915: send proper opregion notifications on suspend/resume
Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx>
---
drivers/gpu/drm/i915/i915_drv.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 7ae4e2a..43dc8f7 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -544,10 +544,11 @@ static int i915_drm_freeze(struct drm_device *dev)
i915_save_state(dev);
- if (acpi_target_system_state() >= ACPI_STATE_S3)
- opregion_target_state = PCI_D3cold;
- else
+ opregion_target_state = PCI_D3cold;
+#if IS_ENABLED(CONFIG_ACPI_SLEEP)
Maybe this should just check for CONFIG_ACPI?
I wanted to send the PCI_D1 signal only if we are sure that the target
sleep state is S0ix (or S1/2) and fall back to the old behavior to send
PCI_D3cold in all other cases.
But you are right, it would make much sense if CONFIG_ACPI_SLEEP=n the
target state would be always S0ix. Rafael could you confirm this?
The target state should be S0 for CONFIG_ACPI_SLEEP unset.
intel_opregion_notify_adapter() is a NOP for CONFIG_ACPI=n anyway.
Ok, but the question for me is what's the target sleep state in case of
CONFIG_ACPI=y and CONFIG_ACPI_SLEEP=n.
And AFAICT CONFIG_ACPI=y && CONFIG_ACPI_SLEEP=n is broken.
Broken how?
But it seems like a valid configuration. So it needs to be fixed
separately.
It is a valid configuration.
Rafael
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx