diff options
author | Christian König <christian.koenig@amd.com> | 2015-10-22 12:29:33 +0300 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-10-30 08:54:07 +0300 |
commit | 8120b61fdf3d3aa31d6b7e4a4f633bec1d2edd38 (patch) | |
tree | cb7589068dbd04cc0031dcbd15a5f83858e81342 /drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | |
parent | ee327caf1a2cdba9313167c36db2d7ff02d534bc (diff) | |
download | linux-8120b61fdf3d3aa31d6b7e4a4f633bec1d2edd38.tar.xz |
drm/amdgpu: move ring_from_fence to common code
Going to need that elsewhere as well.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c index b2df348aa223..78e9b0f14661 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c @@ -436,6 +436,30 @@ void amdgpu_ring_fini(struct amdgpu_ring *ring) } } +/** + * amdgpu_ring_from_fence - get ring from fence + * + * @f: fence structure + * + * Extract the ring a fence belongs to. Handles both scheduler as + * well as hardware fences. + */ +struct amdgpu_ring *amdgpu_ring_from_fence(struct fence *f) +{ + struct amdgpu_fence *a_fence; + struct amd_sched_fence *s_fence; + + s_fence = to_amd_sched_fence(f); + if (s_fence) + return container_of(s_fence->sched, struct amdgpu_ring, sched); + + a_fence = to_amdgpu_fence(f); + if (a_fence) + return a_fence->ring; + + return NULL; +} + /* * Debugfs info */ |