]> git.itanic.dy.fi Git - linux-stable/commit
drm/i915: Call i915_gem_suspend() only after display is turned off
authorJosé Roberto de Souza <jose.souza@intel.com>
Fri, 17 Jun 2022 19:06:29 +0000 (12:06 -0700)
committerJosé Roberto de Souza <jose.souza@intel.com>
Thu, 23 Jun 2022 20:20:41 +0000 (13:20 -0700)
commit421f5410965dbc65b7bf7d2b2323203920ad370c
treee2912b65e74108c3547259678c8fe7ece46607b6
parent6434cf630086eea2d091f122f5802582a05d9d1c
drm/i915: Call i915_gem_suspend() only after display is turned off

When the last reference of a gem object is removed it is added to the
mm.free_list list and mm.free_work is queued to actually free the
object.

So gem objects that had their last reference removed by display during
drm_atomic_helper_shutdown() are added to mm.free_list what could
cause that mm.free_work is executed at the same time as
intel_runtime_pm_driver_release() causing raw-wakerefs warning.

So here only calling i915_gem_suspend() and by consequence
i915_gem_drain_freed_objects() only after display is down making
sure all display gem objecs are freed when
intel_runtime_pm_driver_release() is executed.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220617190629.355356-1-jose.souza@intel.com
drivers/gpu/drm/i915/i915_driver.c