drm/i915/gvt: check workload empty before real scan
authorPei Zhang <pei.zhang@intel.com>
Wed, 16 Nov 2016 11:05:50 +0000 (19:05 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Wed, 16 Nov 2016 03:45:29 +0000 (11:45 +0800)
This patch will fix warning log print during command scan caused by
empty workload (ring head equals tail). This patch avoid going into
real scan process if workload is empty. It's guest's responsibility
to make sure if an empty workload is proper to submit to HW.

[v2] modify the patch description. It's a fix, not a w/a.

Signed-off-by: Pei Zhang <pei.zhang@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/cmd_parser.c

index 1238b75fe3f8966d021eb4081b1366029559c65a..d26a092c70e8c8fe2a14df28dd22e4253f739a16 100644 (file)
@@ -2537,7 +2537,8 @@ static int scan_workload(struct intel_vgpu_workload *workload)
        s.rb_va = workload->shadow_ring_buffer_va;
        s.workload = workload;
 
-       if (bypass_scan_mask & (1 << workload->ring_id))
+       if ((bypass_scan_mask & (1 << workload->ring_id)) ||
+               gma_head == gma_tail)
                return 0;
 
        ret = ip_gma_set(&s, gma_head);