aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915
diff options
context:
space:
mode:
authorZhenyu Wang <zhenyuw@linux.intel.com>2017-03-28 23:07:53 -0400
committerDave Airlie <airlied@redhat.com>2017-03-28 23:38:01 -0400
commit8bcad07a45637fb88e799466e4eee83859e8ffd3 (patch)
tree73fba2e780720337dc8df75119a7d29a80cf2d55 /drivers/gpu/drm/i915
parente5c1ff14757afe21733ddee9cc4bbaeaeadbf803 (diff)
drm/i915/gvt: fix error return check for copy_gma_to_hva()
From commit 73dec95e6ba3 ("drm/i915: Emit to ringbuffer directly"), copy_gma_to_hva() now returns copied data length instead of 0, so need to change error return check for that. Note: Looks this is caused by backmerge conflict resolving, so 4.11-rc4 is not impacted as commit 73dec95e6ba3 ("drm/i915: Emit to ringbuffer directly") is not in 4.11. But need to fix this before I can apply 4.12 stuff against drm-intel-next correctly. Fixes: e5c1ff14757a ("Backmerge tag 'v4.11-rc4' into drm-next") Cc: Dave Airlie <airlied@redhat.com> Cc: Tina Zhang <tina.zhang@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/i915')
-rw-r--r--drivers/gpu/drm/i915/gvt/cmd_parser.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/gvt/cmd_parser.c b/drivers/gpu/drm/i915/gvt/cmd_parser.c
index b3c9a478c656..6f972afbdbc3 100644
--- a/drivers/gpu/drm/i915/gvt/cmd_parser.c
+++ b/drivers/gpu/drm/i915/gvt/cmd_parser.c
@@ -1673,7 +1673,7 @@ static int perform_bb_shadow(struct parser_exec_state *s)
1673 ret = copy_gma_to_hva(s->vgpu, s->vgpu->gtt.ggtt_mm, 1673 ret = copy_gma_to_hva(s->vgpu, s->vgpu->gtt.ggtt_mm,
1674 gma, gma + bb_size, 1674 gma, gma + bb_size,
1675 dst); 1675 dst);
1676 if (ret) { 1676 if (ret < 0) {
1677 gvt_vgpu_err("fail to copy guest ring buffer\n"); 1677 gvt_vgpu_err("fail to copy guest ring buffer\n");
1678 goto unmap_src; 1678 goto unmap_src;
1679 } 1679 }
@@ -2666,7 +2666,7 @@ static int shadow_workload_ring_buffer(struct intel_vgpu_workload *workload)
2666 if (gma_head > gma_tail) { 2666 if (gma_head > gma_tail) {
2667 ret = copy_gma_to_hva(vgpu, vgpu->gtt.ggtt_mm, 2667 ret = copy_gma_to_hva(vgpu, vgpu->gtt.ggtt_mm,
2668 gma_head, gma_top, cs); 2668 gma_head, gma_top, cs);
2669 if (ret) { 2669 if (ret < 0) {
2670 gvt_vgpu_err("fail to copy guest ring buffer\n"); 2670 gvt_vgpu_err("fail to copy guest ring buffer\n");
2671 return ret; 2671 return ret;
2672 } 2672 }
@@ -2676,7 +2676,7 @@ static int shadow_workload_ring_buffer(struct intel_vgpu_workload *workload)
2676 2676
2677 /* copy head or start <-> tail */ 2677 /* copy head or start <-> tail */
2678 ret = copy_gma_to_hva(vgpu, vgpu->gtt.ggtt_mm, gma_head, gma_tail, cs); 2678 ret = copy_gma_to_hva(vgpu, vgpu->gtt.ggtt_mm, gma_head, gma_tail, cs);
2679 if (ret) { 2679 if (ret < 0) {
2680 gvt_vgpu_err("fail to copy guest ring buffer\n"); 2680 gvt_vgpu_err("fail to copy guest ring buffer\n");
2681 return ret; 2681 return ret;
2682 } 2682 }
@@ -2737,7 +2737,7 @@ static int shadow_indirect_ctx(struct intel_shadow_wa_ctx *wa_ctx)
2737 wa_ctx->workload->vgpu->gtt.ggtt_mm, 2737 wa_ctx->workload->vgpu->gtt.ggtt_mm,
2738 guest_gma, guest_gma + ctx_size, 2738 guest_gma, guest_gma + ctx_size,
2739 map); 2739 map);
2740 if (ret) { 2740 if (ret < 0) {
2741 gvt_vgpu_err("fail to copy guest indirect ctx\n"); 2741 gvt_vgpu_err("fail to copy guest indirect ctx\n");
2742 goto unmap_src; 2742 goto unmap_src;
2743 } 2743 }