[Intel-gfx] [PATCH 2/8] drm/i915/vlv/chv: Move resume_prepare() after uncore_early_sanitize()
Imre Deak
imre.deak at intel.com
Mon May 18 12:30:14 PDT 2015
On Mon, 2015-05-18 at 19:53 +0100, Damien Lespiau wrote:
> It's probably a good idea to run the uncore sanitize function before
> vlv_resume_prepare() writes registers.
>
> At the same time, moving the debug message makes it dispay something if
> skl_resume_prepare ever returns non 0. Oh, and re-order the if/else
> ladder to have some semblence of ordering.
>
> Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>
> ---
> drivers/gpu/drm/i915/i915_drv.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index 5cc57f2..5a9399c 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -808,17 +808,17 @@ static int i915_drm_resume_early(struct drm_device *dev)
>
> pci_set_master(dev->pdev);
>
> - if (IS_VALLEYVIEW(dev_priv))
> - ret = vlv_resume_prepare(dev_priv, false);
> - if (ret)
> - DRM_ERROR("Resume prepare failed: %d,Continuing resume\n", ret);
> -
> intel_uncore_early_sanitize(dev, true);
>
> - if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv))
> - hsw_disable_pc8(dev_priv);
> - else if (IS_SKYLAKE(dev_priv))
> + if (IS_SKYLAKE(dev_priv))
> ret = skl_resume_prepare(dev_priv);
> + else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv))
> + hsw_disable_pc8(dev_priv);
> + else if (IS_VALLEYVIEW(dev_priv))
> + ret = vlv_resume_prepare(dev_priv, false);
> +
> + if (ret)
> + DRM_ERROR("Resume prepare failed: %d,Continuing resume\n", ret);
vlv_resume_prepare() needs to run before intel_uncore_early_sanitize(),
as the former includes the steps to wake the HW from RC6 for the first
time after suspend. At the time intel_resume_prepare() was removed, I
suggested to instead split out the part from vlv_resume_prepare() that
needs to be done early into a separate function, so that would be one
way to go about this.
>
> intel_uncore_sanitize(dev);
> intel_power_domains_init_hw(dev_priv);
More information about the Intel-gfx
mailing list