drm/i915/gem: Take local vma references for the parser
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 13 Jan 2020 15:45:55 +0000 (15:45 +0000)
committerJani Nikula <jani.nikula@intel.com>
Mon, 10 Feb 2020 12:45:25 +0000 (14:45 +0200)
commit01c1b2cbf05224495eec2cf54166934f123bad61
treea51a5fe692d1098cb792045dd57bee4d767d2cc7
parent88a9c66d998b1d2dac412fcd458c5d17d70513c8
drm/i915/gem: Take local vma references for the parser

Take and hold a reference to each of the vma (and their objects) as we
process them with the cmdparser. This stops them being freed during the
work if the GEM execbuf is interrupted and the request we expected to
keep the objects alive is incomplete.

Fixes: 686c7c35abc2 ("drm/i915/gem: Asynchronous cmdparser")
Closes: https://gitlab.freedesktop.org/drm/intel/issues/970
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200113154555.1909639-1-chris@chris-wilson.co.uk
(cherry picked from commit 36c8e356a76e147f0b631fd29838147c01b50d04)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c