[Intel-gfx] [PATCH v5 2/2] drm/i915/gvt: Add GVT suspend/resume routine to i915

Colin Xu Colin.Xu at intel.com
Fri Oct 16 08:17:07 UTC 2020


On 2020-10-16 16:13, Colin Xu wrote:
> This patch add gvt suspend/resume wrapper into i915: i915_drm_suspend()
> and i915_drm_resume(). GVT relies on i915 so suspend gvt ahead of other
> i915 sub-routine and resume gvt at last.
>
> V2:
> - Direct call into gvt suspend/resume wrapper in intel_gvt.h/intel_gvt.c.
> The wrapper and implementation will check and call gvt routine. (zhenyu)
>
> V3:
> Refresh.
>
> V4:
> Rebase.
>
> V5:
> Fail intel_gvt_suspend() if fail to save GGTT.
>
> Signed-off-by: Hang Yuan <hang.yuan at linux.intel.com>
> Signed-off-by: Colin Xu <colin.xu at intel.com>
> ---
>   drivers/gpu/drm/i915/i915_drv.c | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index 8bb7e2dcfaaa..b3203292b0ee 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -1104,6 +1104,9 @@ static int i915_drm_suspend(struct drm_device *dev)
>   
>   	drm_kms_helper_poll_disable(dev);
>   
> +	if (intel_gvt_suspend(dev_priv))
> +		drm_err(&dev_priv->drm, "failed to suspend GVT\n");
I'm not quite sure if it's OK to fail i915_drm_suspend() here if 
intel_gvt_suspend() fails. I saw intel_display_suspend() may also return 
failure but i915_drm_suspend() doesn't handle such case so I just follow 
the style for intel_gvt_suspend().
> +
>   	pci_save_state(pdev);
>   
>   	intel_display_suspend(dev);
> @@ -1281,6 +1284,8 @@ static int i915_drm_resume(struct drm_device *dev)
>   
>   	intel_power_domains_enable(dev_priv);
>   
> +	intel_gvt_resume(dev_priv);
> +
>   	enable_rpm_wakeref_asserts(&dev_priv->runtime_pm);
>   
>   	return 0;

-- 
Best Regards,
Colin Xu



More information about the Intel-gfx mailing list