summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon.h
diff options
context:
space:
mode:
authorChristian König <deathsimple@vodafone.de>2012-01-05 22:11:06 -0500
committerDave Airlie <airlied@redhat.com>2012-01-06 09:16:09 +0000
commit93504fce28b1a387ec01f81b26637d237dca2b36 (patch)
tree7544b4fd960cbcbbfc17dea87aadd129eecf7b45 /drivers/gpu/drm/radeon/radeon.h
parent721604a15b934f0a8d1909acb8017f029128be2f (diff)
downloadblackbird-op-linux-93504fce28b1a387ec01f81b26637d237dca2b36.tar.gz
blackbird-op-linux-93504fce28b1a387ec01f81b26637d237dca2b36.zip
drm/radeon/kms: Add support for multi-ring sync in CS ioctl (v2)
Use semaphores to sync buffers across rings in the CS ioctl. Add a reloc flag to allow userspace to skip sync for buffers. agd5f: port to latest CS ioctl changes. v2: add ring lock/unlock to make sure changes hit the ring. Signed-off-by: Christian König <deathsimple@vodafone.de> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon.h')
-rw-r--r--drivers/gpu/drm/radeon/radeon.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index 5e3542384b21..3483ed9b38e9 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -230,6 +230,7 @@ struct radeon_fence {
bool signaled;
/* RB, DMA, etc. */
int ring;
+ struct radeon_semaphore *semaphore;
};
int radeon_fence_driver_start_ring(struct radeon_device *rdev, int ring);
@@ -789,6 +790,7 @@ struct radeon_cs_parser {
struct radeon_cs_reloc *relocs;
struct radeon_cs_reloc **relocs_ptr;
struct list_head validated;
+ bool sync_to_ring[RADEON_NUM_RINGS];
/* indices of various chunks */
int chunk_ib_idx;
int chunk_relocs_idx;
OpenPOWER on IntegriCloud