From: Imre Deak <imre.deak@intel.com>
To: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: intel-gfx@lists.freedesktop.org, kristen@linux.intel.com
Subject: Re: [PATCH 2/4] drm/i915: leave rc6 enabled at suspend time
Date: Fri, 30 May 2014 15:54:37 +0300 [thread overview]
Message-ID: <1401454477.24060.32.camel@intelbox> (raw)
In-Reply-To: <1401397897-4655-2-git-send-email-jbarnes@virtuousgeek.org>
[-- Attachment #1.1: Type: text/plain, Size: 3897 bytes --]
On Thu, 2014-05-29 at 14:11 -0700, Jesse Barnes wrote:
> From: Kristen Carlson Accardi <kristen@linux.intel.com>
>
> This allows the system to enter the lowest power mode during system freeze.
>
> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
> ---
> drivers/gpu/drm/i915/i915_drv.c | 3 ---
> drivers/gpu/drm/i915/intel_drv.h | 1 +
> drivers/gpu/drm/i915/intel_pm.c | 16 +++++++++++-----
> 3 files changed, 12 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index 66c6ffb..433bdfa 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -521,8 +521,6 @@ static int i915_drm_freeze(struct drm_device *dev)
> drm_irq_uninstall(dev);
> dev_priv->enable_hotplug_processing = false;
>
> - intel_disable_gt_powersave(dev);
> -
I wonder what was the reason for this call. One possibility is that
i915_save_state() depends on it to save the correct registers, but it
would be good to clarify this.
It also cancels some deferred works which we do need here. But we could
also add that to intel_enable_gt_powersave_sync() in this patch.
> /*
> * Disable CRTCs directly since we want to preserve sw state
> * for _thaw.
> @@ -543,7 +541,6 @@ static int i915_drm_freeze(struct drm_device *dev)
> i915_save_state(dev);
>
> intel_opregion_fini(dev);
> - intel_uncore_fini(dev);
Some stuff in the above call is unrelated to this patch, like
intel_uncore_forcewake_reset(). At least canceling force_wake_timer
there seems to be needed here. In any case it would be better to have
the above two changes in a separate patch.
With that fixed this patch looks ok to me. The original patch was from
me, so fwiw:
Reviewed-by: Imre Deak <imre.deak@intel.com>
> console_lock();
> intel_fbdev_set_suspend(dev, FBINFO_STATE_SUSPENDED);
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index c597b0d..bf90e7d 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -956,6 +956,7 @@ void intel_power_domains_init_hw(struct drm_i915_private *dev_priv);
> void intel_init_gt_powersave(struct drm_device *dev);
> void intel_cleanup_gt_powersave(struct drm_device *dev);
> void intel_enable_gt_powersave(struct drm_device *dev);
> +void intel_enable_gt_powersave_sync(struct drm_device *dev);
> void intel_disable_gt_powersave(struct drm_device *dev);
> void intel_reset_gt_powersave(struct drm_device *dev);
> void ironlake_teardown_rc6(struct drm_device *dev);
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 1840d15..8d9e036 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -4891,12 +4891,9 @@ void intel_disable_gt_powersave(struct drm_device *dev)
> }
> }
>
> -static void intel_gen6_powersave_work(struct work_struct *work)
> +void intel_enable_gt_powersave_sync(struct drm_device *dev)
> {
> - struct drm_i915_private *dev_priv =
> - container_of(work, struct drm_i915_private,
> - rps.delayed_resume_work.work);
> - struct drm_device *dev = dev_priv->dev;
> + struct drm_i915_private *dev_priv = dev->dev_private;
>
> mutex_lock(&dev_priv->rps.hw_lock);
>
> @@ -4917,6 +4914,15 @@ static void intel_gen6_powersave_work(struct work_struct *work)
> intel_runtime_pm_put(dev_priv);
> }
>
> +static void intel_gen6_powersave_work(struct work_struct *work)
> +{
> + struct drm_i915_private *dev_priv =
> + container_of(work, struct drm_i915_private,
> + rps.delayed_resume_work.work);
> +
> + intel_enable_gt_powersave_sync(dev_priv->dev);
> +}
> +
> void intel_enable_gt_powersave(struct drm_device *dev)
> {
> struct drm_i915_private *dev_priv = dev->dev_private;
[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2014-05-30 12:54 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-29 21:11 [PATCH 1/4] drm/i915: disable power wells on suspend Jesse Barnes
2014-05-29 21:11 ` [PATCH 2/4] drm/i915: leave rc6 enabled at suspend time Jesse Barnes
2014-05-30 12:54 ` Imre Deak [this message]
2014-05-30 15:32 ` Jesse Barnes
2014-05-30 15:40 ` Chris Wilson
2014-05-30 18:20 ` Jesse Barnes
2014-06-02 8:43 ` Daniel Vetter
2014-05-30 18:33 ` [PATCH] drm/i915: leave rc6 enabled at suspend time v2 Jesse Barnes
2014-06-04 19:33 ` [PATCH] drm/i915: leave rc6 enabled at suspend time v3 Jesse Barnes
2014-06-04 20:45 ` [PATCH] drm/i915: leave rc6 enabled at suspend time v4 Jesse Barnes
2014-06-05 9:21 ` Daniel Vetter
2014-06-05 15:50 ` Jesse Barnes
2014-06-10 13:42 ` Imre Deak
2014-06-10 13:57 ` Daniel Vetter
2014-06-10 14:41 ` Imre Deak
2014-06-10 15:26 ` Daniel Vetter
2014-06-11 22:21 ` Jesse Barnes
2014-06-11 22:24 ` Jesse Barnes
2014-06-12 15:08 ` Imre Deak
2014-05-30 19:00 ` [PATCH 2/4] drm/i915: leave rc6 enabled at suspend time Kristen Carlson Accardi
2014-05-29 21:11 ` [PATCH 3/4] drm/i915: send proper opregion notifications on suspend/resume Jesse Barnes
2014-05-29 21:48 ` [PATCH 3/5] ACPI: export target system state for use by drivers Jesse Barnes
2014-05-30 2:09 ` Rafael J. Wysocki
2014-05-29 21:48 ` [PATCH 4/5] drm/i915: send proper opregion notifications on suspend/resume Jesse Barnes
2014-05-30 13:47 ` [PATCH 3/4] " Imre Deak
2014-05-30 19:08 ` Kristen Carlson Accardi
2014-05-29 21:11 ` [PATCH 4/4] drm/i915: make sure PC8 is enabled on suspend and disabled on resume Jesse Barnes
2014-05-30 13:37 ` Imre Deak
2014-05-30 18:29 ` Jesse Barnes
2014-05-30 21:12 ` Rafael J. Wysocki
2014-05-30 21:05 ` Jesse Barnes
2014-05-30 18:32 ` [PATCH] drm/i915: make sure PC8 is enabled on suspend and disabled on resume v2 Jesse Barnes
2014-05-30 18:40 ` [PATCH] drm/i915: make sure PC8 is enabled on suspend and disabled on resume v3 Jesse Barnes
2014-05-30 18:48 ` [PATCH] drm/i915: make sure PC8 is enabled on suspend and disabled on resume v4 Jesse Barnes
2014-06-04 20:02 ` Imre Deak
2014-06-02 8:45 ` [PATCH 4/4] drm/i915: make sure PC8 is enabled on suspend and disabled on resume Daniel Vetter
2014-06-02 11:37 ` Imre Deak
2014-06-02 15:32 ` Daniel Vetter
2014-06-02 15:57 ` Imre Deak
2014-06-02 16:05 ` Daniel Vetter
2014-05-30 12:48 ` [PATCH 1/4] drm/i915: disable power wells on suspend Imre Deak
2014-05-30 18:59 ` Kristen Carlson Accardi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1401454477.24060.32.camel@intelbox \
--to=imre.deak@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jbarnes@virtuousgeek.org \
--cc=kristen@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox