[Intel-gfx] [PATCH 1/1] drm/i915: Move i915_gem_suspend_gtt_mappings to i915_gem_suspend

Sagar Arun Kamble sagar.a.kamble at intel.com
Thu Oct 5 18:30:38 UTC 2017



On 10/5/2017 11:52 PM, Chris Wilson wrote:
> Quoting Sagar Arun Kamble (2017-10-05 19:17:46)
>>
>> On 10/5/2017 11:41 PM, Chris Wilson wrote:
>>> Quoting Sagar Arun Kamble (2017-10-05 19:07:37)
>>>> suspend_gtt_mappings was happening post i915_gem_suspend where
>>>> GPU is reset in the end. Call it before i915_gem_sanitize.
>>>> This also makes portion of i915_gem_suspend symmetrical to
>>>> i915_gem_resume and will facilitate proper ordering of GuC resume
>>>> where ggtt.invalidate gets updated.
>>>>
>>>> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble at intel.com>
>>>> Cc: Michal Wajdeczko <michal.wajdeczko at intel.com>
>>>> Cc: MichaƂ Winiarski <michal.winiarski at intel.com>
>>>> Cc: Chris Wilson <chris at chris-wilson.co.uk>
>>>> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
>>>> ---
>>>>    drivers/gpu/drm/i915/i915_drv.c | 2 --
>>>>    drivers/gpu/drm/i915/i915_gem.c | 2 ++
>>>>    2 files changed, 2 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
>>>> index 66fc156..05c71a9 100644
>>>> --- a/drivers/gpu/drm/i915/i915_drv.c
>>>> +++ b/drivers/gpu/drm/i915/i915_drv.c
>>>> @@ -1558,8 +1558,6 @@ static int i915_drm_suspend(struct drm_device *dev)
>>>>    
>>>>           intel_suspend_hw(dev_priv);
>>>>    
>>>> -       i915_gem_suspend_gtt_mappings(dev_priv);
>>>> -
>>>>           i915_save_state(dev_priv);
>>>>    
>>>>           opregion_target_state = suspend_to_idle(dev_priv) ? PCI_D1 : PCI_D3cold;
>>>> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
>>>> index ab8c694..4abd6fd 100644
>>>> --- a/drivers/gpu/drm/i915/i915_gem.c
>>>> +++ b/drivers/gpu/drm/i915/i915_gem.c
>>>> @@ -4557,6 +4557,8 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
>>>>           if (WARN_ON(!intel_engines_are_idle(dev_priv)))
>>>>                   i915_gem_set_wedged(dev_priv); /* no hope, discard everything */
>>>>    
>>>> +       i915_gem_suspend_gtt_mappings(dev_priv);
>>> Hmm. suspend_gtt_mappings zaps the GGTT. We shouldn't do that before we
>>> shutdown the display. Maybe we need to move the i915_gem_sanitize instead?
>>> -Chris
>> Any particular reason gem_suspend is being done prior to display
>> suspend? ...
> It grew from idling the GPU as the first action - which makes sure that
> user updates to the screen stop etc.
>
>> if we could change that order current gem_suspend (i915_gem_suspend post
>> intel_suspend*) with this fix should be fine ...
>> Else will have to call gem_sanitize separately.
> I guess we are looking at splitting gem_suspend into the user quiescing
> section and the hw cleanup.
Ok. Will split then.
> -Chris



More information about the Intel-gfx mailing list