[PATCH] drm/xe/display: Remove hpd cancel work sync from runtime pm path

Upadhyay, Tejas tejas.upadhyay at intel.com
Thu Feb 13 13:04:44 UTC 2025



> -----Original Message-----
> From: Intel-xe <intel-xe-bounces at lists.freedesktop.org> On Behalf Of Rodrigo
> Vivi
> Sent: Thursday, February 13, 2025 12:55 AM
> To: intel-xe at lists.freedesktop.org
> Cc: Vivi, Rodrigo <rodrigo.vivi at intel.com>; Deak, Imre <imre.deak at intel.com>
> Subject: [PATCH] drm/xe/display: Remove hpd cancel work sync from runtime
> pm path
> 
> This function will synchronously cancel and wait for many display work queue
> items, which might try to take the runtime pm reference causing a bad
> deadlock. So, remove it from the runtime_pm suspend patch.
> 
> Reported-by: Imre Deak <imre.deak at intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
>  drivers/gpu/drm/xe/display/xe_display.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/xe/display/xe_display.c
> b/drivers/gpu/drm/xe/display/xe_display.c
> index 651799c946ac..f0f427689a56 100644
> --- a/drivers/gpu/drm/xe/display/xe_display.c
> +++ b/drivers/gpu/drm/xe/display/xe_display.c
> @@ -311,7 +311,8 @@ static void __xe_display_pm_suspend(struct
> xe_device *xe, bool runtime)
> 
>  	xe_display_flush_cleanup_work(xe);
> 
> -	intel_hpd_cancel_work(xe);
> +	if (!runtime)
> +		intel_hpd_cancel_work(xe);

So the before suspend still need to make sure hpd work is cancelled smoothly, no?

Tejas
> 
>  	if (!runtime && has_display(xe)) {
>  		intel_display_driver_suspend_access(display);
> --
> 2.48.1



More information about the Intel-xe mailing list