diff options
author | Christian König <christian.koenig@amd.com> | 2017-06-28 07:43:48 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-07-14 11:05:56 -0400 |
commit | e8110b1c9bdd3d76610a9783724233a570964d3c (patch) | |
tree | 487cf682efa74dc330f48f0fc70a7c865406c40c /drivers/gpu/drm/amd/amdgpu/amdgpu.h | |
parent | 0ed279877ddf7ae8e5acd9fe4d464ceba98f37cd (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.h | 44 |
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 | */ | ||
1798 | static 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 | |||
1807 | static 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 | |||
1839 | static inline struct amdgpu_sdma_instance * | 1795 | static inline struct amdgpu_sdma_instance * |
1840 | amdgpu_get_sdma_instance(struct amdgpu_ring *ring) | 1796 | amdgpu_get_sdma_instance(struct amdgpu_ring *ring) |
1841 | { | 1797 | { |