Export KIQ interfaces so that others components can use the interfaces to setup queues. Signed-off-by: Xiangliang Yu <Xiangliang.Yu at amd.com> --- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index b7f521a..bc25c7b 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h @@ -157,6 +157,7 @@ struct amdgpu_cs_parser; struct amdgpu_job; struct amdgpu_irq_src; struct amdgpu_fpriv; +struct vi_mqd; enum amdgpu_cp_irq { AMDGPU_CP_IRQ_GFX_EOP = 0, @@ -691,6 +692,25 @@ void amdgpu_ctx_mgr_init(struct amdgpu_ctx_mgr *mgr); void amdgpu_ctx_mgr_fini(struct amdgpu_ctx_mgr *mgr); /* + * Kernel Interface Queue functions + */ +int amdgpu_kiq_init_ring(struct amdgpu_device *adev, struct amdgpu_ring *ring, + struct amdgpu_irq_src *irq); +void amdgpu_kiq_free_ring(struct amdgpu_ring *ring, struct amdgpu_irq_src *irq); +void amdgpu_kiq_enable(struct amdgpu_ring *ring); +void amdgpu_kiq_start(struct amdgpu_ring *ring); +int amdgpu_kiq_init(struct amdgpu_device *adev, struct vi_mqd *mqd, + struct amdgpu_ring *ring); +void amdgpu_kiq_map_queue(struct amdgpu_ring *kiq_ring, + struct amdgpu_ring *ring); +int amdgpu_mqd_init(struct amdgpu_device *adev, struct vi_mqd *mqd, + uint64_t mqd_gpu_addr, uint64_t eop_gpu_addr, + struct amdgpu_ring *ring); +void amdgpu_kiq_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, + u64 seq, unsigned flags); +void amdgpu_kiq_set_irq_funcs(struct amdgpu_irq_src *irq); + +/* * file private structure */ -- 2.7.4