[PATCH 03/23] drm/amdgpu: export KIQ interfaces

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux