drm/radeon: rework ring syncing code
[deliverable/linux.git] / drivers / gpu / drm / radeon / r600.c
index bff62729381215996778ee493515bb9b6a6469f9..aced97bb79e090d3502a2145dcbea232ca798f20 100644 (file)
@@ -2309,17 +2309,18 @@ int r600_copy_blit(struct radeon_device *rdev,
                   uint64_t src_offset,
                   uint64_t dst_offset,
                   unsigned num_gpu_pages,
-                  struct radeon_fence *fence)
+                  struct radeon_fence **fence)
 {
+       struct radeon_semaphore *sem = NULL;
        struct radeon_sa_bo *vb = NULL;
        int r;
 
-       r = r600_blit_prepare_copy(rdev, num_gpu_pages, &vb);
+       r = r600_blit_prepare_copy(rdev, num_gpu_pages, fence, &vb, &sem);
        if (r) {
                return r;
        }
        r600_kms_blit_copy(rdev, src_offset, dst_offset, num_gpu_pages, vb);
-       r600_blit_done_copy(rdev, fence, vb);
+       r600_blit_done_copy(rdev, fence, vb, sem);
        return 0;
 }
 
@@ -2607,7 +2608,7 @@ void r600_fini(struct radeon_device *rdev)
  */
 void r600_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib)
 {
-       struct radeon_ring *ring = &rdev->ring[ib->fence->ring];
+       struct radeon_ring *ring = &rdev->ring[ib->ring];
 
        /* FIXME: implement */
        radeon_ring_write(ring, PACKET3(PACKET3_INDIRECT_BUFFER, 2));
This page took 0.051751 seconds and 5 git commands to generate.