drm/i915/gvt: Add error handling for intel_gvt_scan_and_shadow_workload
authorfred gao <fred.gao@intel.com>
Fri, 18 Aug 2017 07:41:07 +0000 (15:41 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Fri, 8 Sep 2017 06:21:14 +0000 (14:21 +0800)
commita3cfdca920b274618d6046d85a474308ee28e5bb
tree37b523f4a2fbdce4eb74a97b90596edc5e500551
parent0a53bc07f044c4c51eb0dc1386c504db80ca8d00
drm/i915/gvt: Add error handling for intel_gvt_scan_and_shadow_workload

When an error occurs after shadow_indirect_ctx, this patch is to do the
proper cleanup and rollback to the original states for shadowed indirect
context before the workload is abandoned.

v2:
- split the mixed several error paths for better review. (Zhenyu)

v3:
- no return check for clean up functions. (Changbin)

v4:
- expose and reuse the existing release_shadow_wa_ctx. (Zhenyu)

v5:
- move the release function to scheduler.c file. (Zhenyu)

v6:
- move error handling code of intel_gvt_scan_and_shadow_workload
  to here. (Zhenyu)

Signed-off-by: fred gao <fred.gao@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/execlist.c
drivers/gpu/drm/i915/gvt/scheduler.c
drivers/gpu/drm/i915/gvt/scheduler.h