[PATCH v3 1/3] drm/xe: Suspend/resume user access only during system s/r

Murthy, Arun R arun.r.murthy at intel.com
Fri Aug 23 04:46:45 UTC 2024



> -----Original Message-----
> From: Govindapillai, Vinod <vinod.govindapillai at intel.com>
> Sent: Tuesday, August 20, 2024 10:44 PM
> To: intel-xe at lists.freedesktop.org
> Cc: Govindapillai, Vinod <vinod.govindapillai at intel.com>; Deak, Imre
> <imre.deak at intel.com>; Murthy, Arun R <arun.r.murthy at intel.com>; Vivi,
> Rodrigo <rodrigo.vivi at intel.com>; Shankar, Uma <uma.shankar at intel.com>;
> ville.syrala at intel.com
> Subject: [PATCH v3 1/3] drm/xe: Suspend/resume user access only during
> system s/r
> 
> From: Imre Deak <imre.deak at intel.com>
> 
> Enable/Disable user access only during system suspend/resume.
> This should not happen during runtime s/r
> 
> Signed-off-by: Imre Deak <imre.deak at intel.com>
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai at intel.com>
> ---
Reviewed-by: Arun R Murthy <arun.r.murthy at intel.com>

Thanks and Regards,
Arun R Murthy
--------------------

>  drivers/gpu/drm/xe/display/xe_display.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/display/xe_display.c
> b/drivers/gpu/drm/xe/display/xe_display.c
> index 30dfdac9f6fa..ad7fc5137b42 100644
> --- a/drivers/gpu/drm/xe/display/xe_display.c
> +++ b/drivers/gpu/drm/xe/display/xe_display.c
> @@ -323,7 +323,8 @@ void xe_display_pm_suspend(struct xe_device *xe,
> bool runtime)
>  	intel_fbdev_set_suspend(&xe->drm, FBINFO_STATE_SUSPENDED, true);
>  	if (has_display(xe)) {
>  		drm_kms_helper_poll_disable(&xe->drm);
> -		intel_display_driver_disable_user_access(xe);
> +		if (!runtime)
> +			intel_display_driver_disable_user_access(xe);
>  	}
> 
>  	if (!runtime)
> @@ -335,7 +336,7 @@ void xe_display_pm_suspend(struct xe_device *xe,
> bool runtime)
> 
>  	intel_hpd_cancel_work(xe);
> 
> -	if (has_display(xe))
> +	if (!runtime && has_display(xe))
>  		intel_display_driver_suspend_access(xe);
> 
>  	intel_encoder_suspend_all(&xe->display);
> @@ -381,7 +382,7 @@ void xe_display_pm_resume(struct xe_device *xe, bool
> runtime)
>  	intel_display_driver_init_hw(xe);
>  	intel_hpd_init(xe);
> 
> -	if (has_display(xe))
> +	if (!runtime && has_display(xe))
>  		intel_display_driver_resume_access(xe);
> 
>  	/* MST sideband requires HPD interrupts enabled */ @@ -391,7 +392,8
> @@ void xe_display_pm_resume(struct xe_device *xe, bool runtime)
> 
>  	if (has_display(xe)) {
>  		drm_kms_helper_poll_enable(&xe->drm);
> -		intel_display_driver_enable_user_access(xe);
> +		if (!runtime)
> +			intel_display_driver_enable_user_access(xe);
>  	}
>  	intel_hpd_poll_disable(xe);
> 
> --
> 2.34.1



More information about the Intel-xe mailing list