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 1238b75..d26a092 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);