diff options
| author | Zhenyu Wang <zhenyuw@linux.intel.com> | 2017-03-28 23:07:53 -0400 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2017-03-28 23:38:01 -0400 |
| commit | 8bcad07a45637fb88e799466e4eee83859e8ffd3 (patch) | |
| tree | 73fba2e780720337dc8df75119a7d29a80cf2d55 /drivers/gpu/drm/i915 | |
| parent | e5c1ff14757afe21733ddee9cc4bbaeaeadbf803 (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.c | 8 |
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 | } |
