drm/i915/gvt: emit init breadcrumb for gvt request
authorWeinan <weinan.z.li@intel.com>
Fri, 10 May 2019 07:57:20 +0000 (15:57 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Tue, 21 May 2019 02:57:11 +0000 (10:57 +0800)
commita8c2d5ab9e71be3f9431c47bd45329a36e1fc650
tree7ffba2a38dae1e30ba4b2f86a7907ba09cf28920
parenta491cc8e1597ea25803191cded49d3686702a406
drm/i915/gvt: emit init breadcrumb for gvt request

"To track whether a request has started on HW, we can emit a breadcrumb at
the beginning of the request and check its timeline's HWSP to see if the
breadcrumb has advanced past the start of this request." It means all the
request which timeline's has_init_breadcrumb is true, then the
emit_init_breadcrumb process must have before emitting the real commands,
otherwise, the scheduler might get a wrong state of this request during
reset. If the request is exactly the guilty one, the scheduler won't
terminate it with the wrong state. To avoid this, do emit_init_breadcrumb
for all the requests from gvt.

v2: cc to stable kernel

Fixes: 8547444137ec ("drm/i915: Identify active requests")
Cc: stable@vger.kernel.org
Acked-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Signed-off-by: Weinan <weinan.z.li@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/scheduler.c