OSDN Git Service

drm/i915: Move __i915_gem_free_object to ttm_bo_destroy
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Mon, 30 Aug 2021 12:09:48 +0000 (14:09 +0200)
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Thu, 16 Sep 2021 13:30:27 +0000 (15:30 +0200)
commit48b0961269546716c3232748bf37e64e49fb866c
tree0800e7ca62a9f6a381a6027e839c6025a2646f94
parentdc34ca9231f2631e635a4737242bc0f7fe5c4a45
drm/i915: Move __i915_gem_free_object to ttm_bo_destroy

When we implement delayed destroy, we may have a second
call to the delete_mem_notify() handler, while free_object()
only should be called once.

Move it to bo->destroy(), to ensure it's only called once.
This fixes some weird memory corruption issues with delayed
destroy when async eviction is used.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210830121006.2978297-2-maarten.lankhorst@linux.intel.com
Fixes: 213d50927763 ("drm/i915/ttm: Introduce a TTM i915 gem object backend")
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
drivers/gpu/drm/i915/gem/i915_gem_ttm.c