diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_benchmark.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_benchmark.c | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_benchmark.c b/drivers/gpu/drm/radeon/radeon_benchmark.c index 69f5695bdab9..1e8855060fc7 100644 --- a/drivers/gpu/drm/radeon/radeon_benchmark.c +++ b/drivers/gpu/drm/radeon/radeon_benchmark.c | |||
@@ -45,33 +45,29 @@ static int radeon_benchmark_do_move(struct radeon_device *rdev, unsigned size, | |||
45 | for (i = 0; i < n; i++) { | 45 | for (i = 0; i < n; i++) { |
46 | switch (flag) { | 46 | switch (flag) { |
47 | case RADEON_BENCHMARK_COPY_DMA: | 47 | case RADEON_BENCHMARK_COPY_DMA: |
48 | r = radeon_copy_dma(rdev, saddr, daddr, | 48 | fence = radeon_copy_dma(rdev, saddr, daddr, |
49 | size / RADEON_GPU_PAGE_SIZE, | 49 | size / RADEON_GPU_PAGE_SIZE, |
50 | &fence); | 50 | NULL); |
51 | break; | 51 | break; |
52 | case RADEON_BENCHMARK_COPY_BLIT: | 52 | case RADEON_BENCHMARK_COPY_BLIT: |
53 | r = radeon_copy_blit(rdev, saddr, daddr, | 53 | fence = radeon_copy_blit(rdev, saddr, daddr, |
54 | size / RADEON_GPU_PAGE_SIZE, | 54 | size / RADEON_GPU_PAGE_SIZE, |
55 | &fence); | 55 | NULL); |
56 | break; | 56 | break; |
57 | default: | 57 | default: |
58 | DRM_ERROR("Unknown copy method\n"); | 58 | DRM_ERROR("Unknown copy method\n"); |
59 | r = -EINVAL; | 59 | return -EINVAL; |
60 | } | 60 | } |
61 | if (r) | 61 | if (IS_ERR(fence)) |
62 | goto exit_do_move; | 62 | return PTR_ERR(fence); |
63 | |||
63 | r = radeon_fence_wait(fence, false); | 64 | r = radeon_fence_wait(fence, false); |
64 | if (r) | ||
65 | goto exit_do_move; | ||
66 | radeon_fence_unref(&fence); | 65 | radeon_fence_unref(&fence); |
66 | if (r) | ||
67 | return r; | ||
67 | } | 68 | } |
68 | end_jiffies = jiffies; | 69 | end_jiffies = jiffies; |
69 | r = jiffies_to_msecs(end_jiffies - start_jiffies); | 70 | return jiffies_to_msecs(end_jiffies - start_jiffies); |
70 | |||
71 | exit_do_move: | ||
72 | if (fence) | ||
73 | radeon_fence_unref(&fence); | ||
74 | return r; | ||
75 | } | 71 | } |
76 | 72 | ||
77 | 73 | ||