We track the plane state's framebuffer and VMA separately, giving us an opportunity to detect if that pair becomes inconsistent when we cleanup after the atomic modeset.
Signed-off-by: Chris Wilson <[email protected]> Cc: Maarten Lankhorst <[email protected]> Cc: Daniel Vetter <[email protected]> --- drivers/gpu/drm/i915/intel_display.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 28159ce7bff7..63d346375a7b 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -14313,6 +14313,8 @@ intel_cleanup_plane_fb(struct drm_plane *plane, /* Should only be called after a successful intel_prepare_plane_fb()! */ vma = fetch_and_zero(&to_intel_plane_state(old_state)->vma); if (vma) { + WARN_ON(vma->obj != intel_fb_obj(old_state->fb)); + mutex_lock(&plane->dev->struct_mutex); intel_unpin_fb_vma(vma); mutex_unlock(&plane->dev->struct_mutex); -- 2.11.0 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
