[PATCH 2/2] drm/xe/display: Do not do intel_fbdev_set_suspend during runtime

Rodrigo Vivi rodrigo.vivi at intel.com
Wed Sep 11 20:39:13 UTC 2024


On Wed, Sep 11, 2024 at 08:57:24PM +0530, Suraj Kandpal wrote:
> Do not do intel_fbdev_set_suspend during runtime_suspend/resume
> functions. This cause a big circular lock_dep splat.

Please also add the lockdep splat here.

I also agree with the change and believe it should be removed.

> 
> Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
> ---
>  drivers/gpu/drm/xe/display/xe_display.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
> index a09062b7687d..bf18fd69e1c2 100644
> --- a/drivers/gpu/drm/xe/display/xe_display.c
> +++ b/drivers/gpu/drm/xe/display/xe_display.c
> @@ -333,7 +333,9 @@ void xe_display_pm_suspend(struct xe_device *xe, bool runtime)
>  	 * properly.
>  	 */
>  	intel_power_domains_disable(xe);
> -	intel_fbdev_set_suspend(&xe->drm, FBINFO_STATE_SUSPENDED, true);
> +	if (!runtime)
> +		intel_fbdev_set_suspend(&xe->drm, FBINFO_STATE_SUSPENDED, true);
> +
>  	if (!runtime && has_display(xe)) {
>  		drm_kms_helper_poll_disable(&xe->drm);
>  		intel_display_driver_disable_user_access(xe);
> @@ -420,7 +422,8 @@ void xe_display_pm_resume(struct xe_device *xe, bool runtime)
>  
>  	intel_opregion_resume(display);
>  
> -	intel_fbdev_set_suspend(&xe->drm, FBINFO_STATE_RUNNING, false);
> +	if (!runtime)
> +		intel_fbdev_set_suspend(&xe->drm, FBINFO_STATE_RUNNING, false);
>  
>  	intel_power_domains_enable(xe);
>  }
> -- 
> 2.43.2
> 


More information about the Intel-xe mailing list