Lines Matching refs:ring
195 amdgpu_ring_fini(&adev->vce.ring[0]); in amdgpu_vce_sw_fini()
196 amdgpu_ring_fini(&adev->vce.ring[1]); in amdgpu_vce_sw_fini()
281 if ((amdgpu_fence_count_emitted(&adev->vce.ring[0]) == 0) && in amdgpu_vce_idle_work_handler()
282 (amdgpu_fence_count_emitted(&adev->vce.ring[1]) == 0)) { in amdgpu_vce_idle_work_handler()
332 struct amdgpu_ring *ring = &adev->vce.ring[0]; in amdgpu_vce_free_handles() local
341 r = amdgpu_vce_get_destroy_msg(ring, handle, NULL); in amdgpu_vce_free_handles()
368 int amdgpu_vce_get_create_msg(struct amdgpu_ring *ring, uint32_t handle, in amdgpu_vce_get_create_msg() argument
374 struct amdgpu_device *adev = ring->adev; in amdgpu_vce_get_create_msg()
381 r = amdgpu_ib_get(ring, NULL, ib_size_dw * 4, ib); in amdgpu_vce_get_create_msg()
396 if ((ring->adev->vce.fw_version >> 24) >= 52) in amdgpu_vce_get_create_msg()
411 if ((ring->adev->vce.fw_version >> 24) >= 52) { in amdgpu_vce_get_create_msg()
427 r = amdgpu_sched_ib_submit_kernel_helper(adev, ring, ib, 1, in amdgpu_vce_get_create_msg()
454 int amdgpu_vce_get_destroy_msg(struct amdgpu_ring *ring, uint32_t handle, in amdgpu_vce_get_destroy_msg() argument
460 struct amdgpu_device *adev = ring->adev; in amdgpu_vce_get_destroy_msg()
468 r = amdgpu_ib_get(ring, NULL, ib_size_dw * 4, ib); in amdgpu_vce_get_destroy_msg()
494 r = amdgpu_sched_ib_submit_kernel_helper(adev, ring, ib, 1, in amdgpu_vce_get_destroy_msg()
754 bool amdgpu_vce_ring_emit_semaphore(struct amdgpu_ring *ring, in amdgpu_vce_ring_emit_semaphore() argument
760 amdgpu_ring_write(ring, VCE_CMD_SEMAPHORE); in amdgpu_vce_ring_emit_semaphore()
761 amdgpu_ring_write(ring, (addr >> 3) & 0x000FFFFF); in amdgpu_vce_ring_emit_semaphore()
762 amdgpu_ring_write(ring, (addr >> 23) & 0x000FFFFF); in amdgpu_vce_ring_emit_semaphore()
763 amdgpu_ring_write(ring, 0x01003000 | (emit_wait ? 1 : 0)); in amdgpu_vce_ring_emit_semaphore()
765 amdgpu_ring_write(ring, VCE_CMD_END); in amdgpu_vce_ring_emit_semaphore()
777 void amdgpu_vce_ring_emit_ib(struct amdgpu_ring *ring, struct amdgpu_ib *ib) in amdgpu_vce_ring_emit_ib() argument
779 amdgpu_ring_write(ring, VCE_CMD_IB); in amdgpu_vce_ring_emit_ib()
780 amdgpu_ring_write(ring, lower_32_bits(ib->gpu_addr)); in amdgpu_vce_ring_emit_ib()
781 amdgpu_ring_write(ring, upper_32_bits(ib->gpu_addr)); in amdgpu_vce_ring_emit_ib()
782 amdgpu_ring_write(ring, ib->length_dw); in amdgpu_vce_ring_emit_ib()
792 void amdgpu_vce_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 seq, in amdgpu_vce_ring_emit_fence() argument
797 amdgpu_ring_write(ring, VCE_CMD_FENCE); in amdgpu_vce_ring_emit_fence()
798 amdgpu_ring_write(ring, addr); in amdgpu_vce_ring_emit_fence()
799 amdgpu_ring_write(ring, upper_32_bits(addr)); in amdgpu_vce_ring_emit_fence()
800 amdgpu_ring_write(ring, seq); in amdgpu_vce_ring_emit_fence()
801 amdgpu_ring_write(ring, VCE_CMD_TRAP); in amdgpu_vce_ring_emit_fence()
802 amdgpu_ring_write(ring, VCE_CMD_END); in amdgpu_vce_ring_emit_fence()
811 int amdgpu_vce_ring_test_ring(struct amdgpu_ring *ring) in amdgpu_vce_ring_test_ring() argument
813 struct amdgpu_device *adev = ring->adev; in amdgpu_vce_ring_test_ring()
814 uint32_t rptr = amdgpu_ring_get_rptr(ring); in amdgpu_vce_ring_test_ring()
818 r = amdgpu_ring_lock(ring, 16); in amdgpu_vce_ring_test_ring()
821 ring->idx, r); in amdgpu_vce_ring_test_ring()
824 amdgpu_ring_write(ring, VCE_CMD_END); in amdgpu_vce_ring_test_ring()
825 amdgpu_ring_unlock_commit(ring); in amdgpu_vce_ring_test_ring()
828 if (amdgpu_ring_get_rptr(ring) != rptr) in amdgpu_vce_ring_test_ring()
835 ring->idx, i); in amdgpu_vce_ring_test_ring()
838 ring->idx); in amdgpu_vce_ring_test_ring()
851 int amdgpu_vce_ring_test_ib(struct amdgpu_ring *ring) in amdgpu_vce_ring_test_ib() argument
857 if (ring == &ring->adev->vce.ring[1]) in amdgpu_vce_ring_test_ib()
860 r = amdgpu_vce_get_create_msg(ring, 1, NULL); in amdgpu_vce_ring_test_ib()
866 r = amdgpu_vce_get_destroy_msg(ring, 1, &fence); in amdgpu_vce_ring_test_ib()
876 DRM_INFO("ib test on ring %d succeeded\n", ring->idx); in amdgpu_vce_ring_test_ib()