On Fri, May 29, 2026 at 02:03:47PM +0300, Jani Nikula wrote:
> We're missing the cleanup workqueue flush on the shutdown path. Add it.
> 
> Unfortunately have to briefly include intel_display_core.c here. To be
> removed later.
> 
> Link: https://lore.kernel.org/r/[email protected]
> Suggested-by: Ville Syrjälä <[email protected]>
> Signed-off-by: Jani Nikula <[email protected]>
> ---
>  drivers/gpu/drm/i915/i915_driver.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_driver.c 
> b/drivers/gpu/drm/i915/i915_driver.c
> index 93940cfe91a0..60d5e06675ab 100644
> --- a/drivers/gpu/drm/i915/i915_driver.c
> +++ b/drivers/gpu/drm/i915/i915_driver.c
> @@ -54,6 +54,7 @@
>  #include "display/intel_bw.h"
>  #include "display/intel_cdclk.h"
>  #include "display/intel_crtc.h"
> +#include "display/intel_display_core.h"
>  #include "display/intel_display_device.h"
>  #include "display/intel_display_driver.h"
>  #include "display/intel_display_power.h"
> @@ -1053,6 +1054,8 @@ void i915_driver_shutdown(struct drm_i915_private *i915)
>               drm_atomic_helper_shutdown(&i915->drm);
>       }
>  
> +     flush_workqueue(display->wq.cleanup);

The suspend case explicitly needed this for the DPT eviction.
Not sure why xe needs it for shutdown, but doing it the same
way for suspend vs. shutdown doesn't seem like a particularly
bad idea regardless.

Reviewed-by: Ville Syrjälä <[email protected]>

> +
>       intel_dp_mst_suspend(display);
>  
>       intel_encoder_block_all_hpds(display);
> -- 
> 2.47.3

-- 
Ville Syrjälä
Intel

Reply via email to