[Intel-gfx] [PATCH v10 3/9] drm/i915: Create uC runtime and system suspend/resume helpers

Sagar Arun Kamble sagar.a.kamble at intel.com
Thu Sep 28 11:56:23 UTC 2017



On 9/28/2017 5:15 PM, Chris Wilson wrote:
> Quoting Sagar Arun Kamble (2017-09-27 10:30:33)
>> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
>> index 174a7c5..f79646b 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.c
>> +++ b/drivers/gpu/drm/i915/i915_drv.c
>> @@ -1698,6 +1698,16 @@ static int i915_drm_resume(struct drm_device *dev)
>>          }
>>          mutex_unlock(&dev->struct_mutex);
>>   
>> +       /*
>> +        * NB: Currently we know that at the end of suspend we have done Full
>> +        * GPU reset, Hence GuC is loaded again during i915_gem_init_hw.
>> +        * Now, send action to GuC to resume back again as earlier call to
>> +        * intel_uc_resume from i915_gem_resume would have done nothing.
>> +        */
> When you say "GuC is loaded again during i915_gem_init_hw" are you
> thinking of the i915_reset call or i915_drm_resume call? We are using
> intel_gpu_reset() to do the full device reset at suspend/resume, so
> bypassing the i915_gem_init_hw from i915_reset. Could you clarify what
> you mean by "hence"?
> -Chris

Hi Chris,

I've updated the comments in the latest revision.
Please review v12 patches from 
https://patchwork.freedesktop.org/series/30802/.
Sorry I have pushed few more revisions in past few days as one of the 
igt fail due to patch change was not caught by trybot.

 From Latest patch:
@@ -1698,6 +1698,18 @@static int i915_drm_resume(struct drm_device *dev)
}
mutex_unlock(&dev->struct_mutex);

+/*
+* FIXME: Currently we know that at the end of suspend we have done Full
+* GPU reset and GuC is loaded again during i915_gem_init_hw.
+* Now, send action to GuC to resume back again as earlier call to
+* intel_uc_resume from i915_gem_resume would have done nothing.
+* This needs to be skipped if GuC was not loaded during resume as
+* intel_uc_resume would have been already called from i915_gem_resume.
+*/
+ret = intel_uc_resume(dev_priv);
+if (ret)
+i915_gem_set_wedged(dev_priv);
+


I referred to intel_gpu_reset from i915_gem_suspend here.

Thanks
Sagar

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20170928/fad883c2/attachment-0001.html>


More information about the Intel-gfx mailing list