Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 68470ae7 authored by Jerome Glisse's avatar Jerome Glisse Committed by Dave Airlie
Browse files

drm/radeon: move the semaphore from the fence into the ib



It never really belonged there in the first place.

Signed-off-by: default avatarChristian König <deathsimple@vodafone.de>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 7c0d409d
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -272,7 +272,6 @@ struct radeon_fence {
	uint64_t			seq;
	/* RB, DMA, etc. */
	unsigned			ring;
	struct radeon_semaphore		*semaphore;
};

int radeon_fence_driver_start_ring(struct radeon_device *rdev, int ring);
@@ -631,6 +630,7 @@ struct radeon_ib {
	struct radeon_fence		*fence;
	unsigned			vm_id;
	bool				is_const_ib;
	struct radeon_semaphore		*semaphore;
};

struct radeon_ring {
+2 −2
Original line number Diff line number Diff line
@@ -138,12 +138,12 @@ static int radeon_cs_sync_rings(struct radeon_cs_parser *p)
		return 0;
	}

	r = radeon_semaphore_create(p->rdev, &p->ib->fence->semaphore);
	r = radeon_semaphore_create(p->rdev, &p->ib->semaphore);
	if (r) {
		return r;
	}

	return radeon_semaphore_sync_rings(p->rdev, p->ib->fence->semaphore,
	return radeon_semaphore_sync_rings(p->rdev, p->ib->semaphore,
					   sync_to_ring, p->ring);
}

+0 −3
Original line number Diff line number Diff line
@@ -139,8 +139,6 @@ static void radeon_fence_destroy(struct kref *kref)

	fence = container_of(kref, struct radeon_fence, kref);
	fence->seq = RADEON_FENCE_NOTEMITED_SEQ;
	if (fence->semaphore)
		radeon_semaphore_free(fence->rdev, fence->semaphore, NULL);
	kfree(fence);
}

@@ -156,7 +154,6 @@ int radeon_fence_create(struct radeon_device *rdev,
	(*fence)->rdev = rdev;
	(*fence)->seq = RADEON_FENCE_NOTEMITED_SEQ;
	(*fence)->ring = ring;
	(*fence)->semaphore = NULL;
	return 0;
}

+2 −0
Original line number Diff line number Diff line
@@ -93,6 +93,7 @@ int radeon_ib_get(struct radeon_device *rdev, int ring,
	(*ib)->gpu_addr = radeon_sa_bo_gpu_addr((*ib)->sa_bo);
	(*ib)->vm_id = 0;
	(*ib)->is_const_ib = false;
	(*ib)->semaphore = NULL;

	return 0;
}
@@ -105,6 +106,7 @@ void radeon_ib_free(struct radeon_device *rdev, struct radeon_ib **ib)
	if (tmp == NULL) {
		return;
	}
	radeon_semaphore_free(rdev, tmp->semaphore, tmp->fence);
	radeon_sa_bo_free(rdev, &tmp->sa_bo, tmp->fence);
	radeon_fence_unref(&tmp->fence);
	kfree(tmp);