aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu.h
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2017-06-28 07:43:48 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-07-14 11:05:56 -0400
commite8110b1c9bdd3d76610a9783724233a570964d3c (patch)
tree487cf682efa74dc330f48f0fc70a7c865406c40c /drivers/gpu/drm/amd/amdgpu/amdgpu.h
parent0ed279877ddf7ae8e5acd9fe4d464ceba98f37cd (diff)
drm/amdgpu: move ring helpers to amdgpu_ring.h
Keep them where they belong. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Felix Kuehling <Felix.Kuehling@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu.h')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu.h44
1 files changed, 0 insertions, 44 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index df63823ad4db..714235f507f6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -1792,50 +1792,6 @@ void amdgpu_mm_wdoorbell64(struct amdgpu_device *adev, u32 index, u64 v);
1792#define RBIOS16(i) (RBIOS8(i) | (RBIOS8((i)+1) << 8)) 1792#define RBIOS16(i) (RBIOS8(i) | (RBIOS8((i)+1) << 8))
1793#define RBIOS32(i) ((RBIOS16(i)) | (RBIOS16((i)+2) << 16)) 1793#define RBIOS32(i) ((RBIOS16(i)) | (RBIOS16((i)+2) << 16))
1794 1794
1795/*
1796 * RING helpers.
1797 */
1798static inline void amdgpu_ring_write(struct amdgpu_ring *ring, uint32_t v)
1799{
1800 if (ring->count_dw <= 0)
1801 DRM_ERROR("amdgpu: writing more dwords to the ring than expected!\n");
1802 ring->ring[ring->wptr++ & ring->buf_mask] = v;
1803 ring->wptr &= ring->ptr_mask;
1804 ring->count_dw--;
1805}
1806
1807static inline void amdgpu_ring_write_multiple(struct amdgpu_ring *ring, void *src, int count_dw)
1808{
1809 unsigned occupied, chunk1, chunk2;
1810 void *dst;
1811
1812 if (unlikely(ring->count_dw < count_dw)) {
1813 DRM_ERROR("amdgpu: writing more dwords to the ring than expected!\n");
1814 return;
1815 }
1816
1817 occupied = ring->wptr & ring->buf_mask;
1818 dst = (void *)&ring->ring[occupied];
1819 chunk1 = ring->buf_mask + 1 - occupied;
1820 chunk1 = (chunk1 >= count_dw) ? count_dw: chunk1;
1821 chunk2 = count_dw - chunk1;
1822 chunk1 <<= 2;
1823 chunk2 <<= 2;
1824
1825 if (chunk1)
1826 memcpy(dst, src, chunk1);
1827
1828 if (chunk2) {
1829 src += chunk1;
1830 dst = (void *)ring->ring;
1831 memcpy(dst, src, chunk2);
1832 }
1833
1834 ring->wptr += count_dw;
1835 ring->wptr &= ring->ptr_mask;
1836 ring->count_dw -= count_dw;
1837}
1838
1839static inline struct amdgpu_sdma_instance * 1795static inline struct amdgpu_sdma_instance *
1840amdgpu_get_sdma_instance(struct amdgpu_ring *ring) 1796amdgpu_get_sdma_instance(struct amdgpu_ring *ring)
1841{ 1797{