Commit 420185fd authored by Graham Sider's avatar Graham Sider Committed by Alex Deucher
Browse files

drm/amdkfd: replace kgd_dev in hqd/mqd kfd2kgd funcs



Modified definitions:

- hqd_load
- hiq_mqd_load
- hqd_sdma_load
- hqd_dump
- hqd_sdma_dump
- hqd_is_occupied
- hqd_destroy
- hqd_sdma_is_occupied
- hqd_sdma_destroy

Signed-off-by: default avatarGraham Sider <Graham.Sider@amd.com>
Reviewed-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent c531a58b
Loading
Loading
Loading
Loading
+5 −8
Original line number Original line Diff line number Diff line
@@ -123,10 +123,9 @@ static uint32_t get_sdma_rlc_reg_offset(struct amdgpu_device *adev,
	return sdma_rlc_reg_offset;
	return sdma_rlc_reg_offset;
}
}


int kgd_arcturus_hqd_sdma_load(struct kgd_dev *kgd, void *mqd,
int kgd_arcturus_hqd_sdma_load(struct amdgpu_device *adev, void *mqd,
			     uint32_t __user *wptr, struct mm_struct *mm)
			     uint32_t __user *wptr, struct mm_struct *mm)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct v9_sdma_mqd *m;
	struct v9_sdma_mqd *m;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_reg_offset;
	unsigned long end_jiffies;
	unsigned long end_jiffies;
@@ -193,11 +192,10 @@ int kgd_arcturus_hqd_sdma_load(struct kgd_dev *kgd, void *mqd,
	return 0;
	return 0;
}
}


int kgd_arcturus_hqd_sdma_dump(struct kgd_dev *kgd,
int kgd_arcturus_hqd_sdma_dump(struct amdgpu_device *adev,
			     uint32_t engine_id, uint32_t queue_id,
			     uint32_t engine_id, uint32_t queue_id,
			     uint32_t (**dump)[2], uint32_t *n_regs)
			     uint32_t (**dump)[2], uint32_t *n_regs)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	uint32_t sdma_rlc_reg_offset = get_sdma_rlc_reg_offset(adev,
	uint32_t sdma_rlc_reg_offset = get_sdma_rlc_reg_offset(adev,
			engine_id, queue_id);
			engine_id, queue_id);
	uint32_t i = 0, reg;
	uint32_t i = 0, reg;
@@ -225,9 +223,9 @@ int kgd_arcturus_hqd_sdma_dump(struct kgd_dev *kgd,
	return 0;
	return 0;
}
}


bool kgd_arcturus_hqd_sdma_is_occupied(struct kgd_dev *kgd, void *mqd)
bool kgd_arcturus_hqd_sdma_is_occupied(struct amdgpu_device *adev,
				void *mqd)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct v9_sdma_mqd *m;
	struct v9_sdma_mqd *m;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_rb_cntl;
	uint32_t sdma_rlc_rb_cntl;
@@ -244,10 +242,9 @@ bool kgd_arcturus_hqd_sdma_is_occupied(struct kgd_dev *kgd, void *mqd)
	return false;
	return false;
}
}


int kgd_arcturus_hqd_sdma_destroy(struct kgd_dev *kgd, void *mqd,
int kgd_arcturus_hqd_sdma_destroy(struct amdgpu_device *adev, void *mqd,
				unsigned int utimeout)
				unsigned int utimeout)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct v9_sdma_mqd *m;
	struct v9_sdma_mqd *m;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_reg_offset;
	uint32_t temp;
	uint32_t temp;
+5 −4
Original line number Original line Diff line number Diff line
@@ -20,11 +20,12 @@
 * OTHER DEALINGS IN THE SOFTWARE.
 * OTHER DEALINGS IN THE SOFTWARE.
 */
 */


int kgd_arcturus_hqd_sdma_load(struct kgd_dev *kgd, void *mqd,
int kgd_arcturus_hqd_sdma_load(struct amdgpu_device *adev, void *mqd,
			     uint32_t __user *wptr, struct mm_struct *mm);
			     uint32_t __user *wptr, struct mm_struct *mm);
int kgd_arcturus_hqd_sdma_dump(struct kgd_dev *kgd,
int kgd_arcturus_hqd_sdma_dump(struct amdgpu_device *adev,
			     uint32_t engine_id, uint32_t queue_id,
			     uint32_t engine_id, uint32_t queue_id,
			     uint32_t (**dump)[2], uint32_t *n_regs);
			     uint32_t (**dump)[2], uint32_t *n_regs);
bool kgd_arcturus_hqd_sdma_is_occupied(struct kgd_dev *kgd, void *mqd);
bool kgd_arcturus_hqd_sdma_is_occupied(struct amdgpu_device *adev,
int kgd_arcturus_hqd_sdma_destroy(struct kgd_dev *kgd, void *mqd,
				void *mqd);
int kgd_arcturus_hqd_sdma_destroy(struct amdgpu_device *adev, void *mqd,
				unsigned int utimeout);
				unsigned int utimeout);
+14 −22
Original line number Original line Diff line number Diff line
@@ -212,12 +212,11 @@ static inline struct v10_sdma_mqd *get_sdma_mqd(void *mqd)
	return (struct v10_sdma_mqd *)mqd;
	return (struct v10_sdma_mqd *)mqd;
}
}


static int kgd_hqd_load(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
static int kgd_hqd_load(struct amdgpu_device *adev, void *mqd,
			uint32_t queue_id, uint32_t __user *wptr,
			uint32_t pipe_id, uint32_t queue_id,
			uint32_t wptr_shift, uint32_t wptr_mask,
			uint32_t __user *wptr, uint32_t wptr_shift,
			struct mm_struct *mm)
			uint32_t wptr_mask, struct mm_struct *mm)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct v10_compute_mqd *m;
	struct v10_compute_mqd *m;
	uint32_t *mqd_hqd;
	uint32_t *mqd_hqd;
	uint32_t reg, hqd_base, data;
	uint32_t reg, hqd_base, data;
@@ -295,11 +294,10 @@ static int kgd_hqd_load(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
	return 0;
	return 0;
}
}


static int kgd_hiq_mqd_load(struct kgd_dev *kgd, void *mqd,
static int kgd_hiq_mqd_load(struct amdgpu_device *adev, void *mqd,
			    uint32_t pipe_id, uint32_t queue_id,
			    uint32_t pipe_id, uint32_t queue_id,
			    uint32_t doorbell_off)
			    uint32_t doorbell_off)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct amdgpu_ring *kiq_ring = &adev->gfx.kiq.ring;
	struct amdgpu_ring *kiq_ring = &adev->gfx.kiq.ring;
	struct v10_compute_mqd *m;
	struct v10_compute_mqd *m;
	uint32_t mec, pipe;
	uint32_t mec, pipe;
@@ -348,11 +346,10 @@ static int kgd_hiq_mqd_load(struct kgd_dev *kgd, void *mqd,
	return r;
	return r;
}
}


static int kgd_hqd_dump(struct kgd_dev *kgd,
static int kgd_hqd_dump(struct amdgpu_device *adev,
			uint32_t pipe_id, uint32_t queue_id,
			uint32_t pipe_id, uint32_t queue_id,
			uint32_t (**dump)[2], uint32_t *n_regs)
			uint32_t (**dump)[2], uint32_t *n_regs)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	uint32_t i = 0, reg;
	uint32_t i = 0, reg;
#define HQD_N_REGS 56
#define HQD_N_REGS 56
#define DUMP_REG(addr) do {				\
#define DUMP_REG(addr) do {				\
@@ -380,10 +377,9 @@ static int kgd_hqd_dump(struct kgd_dev *kgd,
	return 0;
	return 0;
}
}


static int kgd_hqd_sdma_load(struct kgd_dev *kgd, void *mqd,
static int kgd_hqd_sdma_load(struct amdgpu_device *adev, void *mqd,
			     uint32_t __user *wptr, struct mm_struct *mm)
			     uint32_t __user *wptr, struct mm_struct *mm)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct v10_sdma_mqd *m;
	struct v10_sdma_mqd *m;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_reg_offset;
	unsigned long end_jiffies;
	unsigned long end_jiffies;
@@ -450,11 +446,10 @@ static int kgd_hqd_sdma_load(struct kgd_dev *kgd, void *mqd,
	return 0;
	return 0;
}
}


static int kgd_hqd_sdma_dump(struct kgd_dev *kgd,
static int kgd_hqd_sdma_dump(struct amdgpu_device *adev,
			     uint32_t engine_id, uint32_t queue_id,
			     uint32_t engine_id, uint32_t queue_id,
			     uint32_t (**dump)[2], uint32_t *n_regs)
			     uint32_t (**dump)[2], uint32_t *n_regs)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	uint32_t sdma_rlc_reg_offset = get_sdma_rlc_reg_offset(adev,
	uint32_t sdma_rlc_reg_offset = get_sdma_rlc_reg_offset(adev,
			engine_id, queue_id);
			engine_id, queue_id);
	uint32_t i = 0, reg;
	uint32_t i = 0, reg;
@@ -482,10 +477,10 @@ static int kgd_hqd_sdma_dump(struct kgd_dev *kgd,
	return 0;
	return 0;
}
}


static bool kgd_hqd_is_occupied(struct kgd_dev *kgd, uint64_t queue_address,
static bool kgd_hqd_is_occupied(struct amdgpu_device *adev,
				uint32_t pipe_id, uint32_t queue_id)
				uint64_t queue_address, uint32_t pipe_id,
				uint32_t queue_id)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	uint32_t act;
	uint32_t act;
	bool retval = false;
	bool retval = false;
	uint32_t low, high;
	uint32_t low, high;
@@ -504,9 +499,8 @@ static bool kgd_hqd_is_occupied(struct kgd_dev *kgd, uint64_t queue_address,
	return retval;
	return retval;
}
}


static bool kgd_hqd_sdma_is_occupied(struct kgd_dev *kgd, void *mqd)
static bool kgd_hqd_sdma_is_occupied(struct amdgpu_device *adev, void *mqd)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct v10_sdma_mqd *m;
	struct v10_sdma_mqd *m;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_rb_cntl;
	uint32_t sdma_rlc_rb_cntl;
@@ -523,12 +517,11 @@ static bool kgd_hqd_sdma_is_occupied(struct kgd_dev *kgd, void *mqd)
	return false;
	return false;
}
}


static int kgd_hqd_destroy(struct kgd_dev *kgd, void *mqd,
static int kgd_hqd_destroy(struct amdgpu_device *adev, void *mqd,
				enum kfd_preempt_type reset_type,
				enum kfd_preempt_type reset_type,
				unsigned int utimeout, uint32_t pipe_id,
				unsigned int utimeout, uint32_t pipe_id,
				uint32_t queue_id)
				uint32_t queue_id)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	enum hqd_dequeue_request_type type;
	enum hqd_dequeue_request_type type;
	unsigned long end_jiffies;
	unsigned long end_jiffies;
	uint32_t temp;
	uint32_t temp;
@@ -637,10 +630,9 @@ static int kgd_hqd_destroy(struct kgd_dev *kgd, void *mqd,
	return 0;
	return 0;
}
}


static int kgd_hqd_sdma_destroy(struct kgd_dev *kgd, void *mqd,
static int kgd_hqd_sdma_destroy(struct amdgpu_device *adev, void *mqd,
				unsigned int utimeout)
				unsigned int utimeout)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct v10_sdma_mqd *m;
	struct v10_sdma_mqd *m;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_reg_offset;
	uint32_t temp;
	uint32_t temp;
+15 −22
Original line number Original line Diff line number Diff line
@@ -182,12 +182,11 @@ static inline struct v10_sdma_mqd *get_sdma_mqd(void *mqd)
	return (struct v10_sdma_mqd *)mqd;
	return (struct v10_sdma_mqd *)mqd;
}
}


static int hqd_load_v10_3(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
static int hqd_load_v10_3(struct amdgpu_device *adev, void *mqd,
			uint32_t queue_id, uint32_t __user *wptr,
			uint32_t pipe_id, uint32_t queue_id,
			uint32_t wptr_shift, uint32_t wptr_mask,
			uint32_t __user *wptr, uint32_t wptr_shift,
			struct mm_struct *mm)
			uint32_t wptr_mask, struct mm_struct *mm)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct v10_compute_mqd *m;
	struct v10_compute_mqd *m;
	uint32_t *mqd_hqd;
	uint32_t *mqd_hqd;
	uint32_t reg, hqd_base, data;
	uint32_t reg, hqd_base, data;
@@ -280,11 +279,10 @@ static int hqd_load_v10_3(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
	return 0;
	return 0;
}
}


static int hiq_mqd_load_v10_3(struct kgd_dev *kgd, void *mqd,
static int hiq_mqd_load_v10_3(struct amdgpu_device *adev, void *mqd,
			    uint32_t pipe_id, uint32_t queue_id,
			    uint32_t pipe_id, uint32_t queue_id,
			    uint32_t doorbell_off)
			    uint32_t doorbell_off)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct amdgpu_ring *kiq_ring = &adev->gfx.kiq.ring;
	struct amdgpu_ring *kiq_ring = &adev->gfx.kiq.ring;
	struct v10_compute_mqd *m;
	struct v10_compute_mqd *m;
	uint32_t mec, pipe;
	uint32_t mec, pipe;
@@ -333,11 +331,10 @@ static int hiq_mqd_load_v10_3(struct kgd_dev *kgd, void *mqd,
	return r;
	return r;
}
}


static int hqd_dump_v10_3(struct kgd_dev *kgd,
static int hqd_dump_v10_3(struct amdgpu_device *adev,
			uint32_t pipe_id, uint32_t queue_id,
			uint32_t pipe_id, uint32_t queue_id,
			uint32_t (**dump)[2], uint32_t *n_regs)
			uint32_t (**dump)[2], uint32_t *n_regs)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	uint32_t i = 0, reg;
	uint32_t i = 0, reg;
#define HQD_N_REGS 56
#define HQD_N_REGS 56
#define DUMP_REG(addr) do {				\
#define DUMP_REG(addr) do {				\
@@ -365,10 +362,9 @@ static int hqd_dump_v10_3(struct kgd_dev *kgd,
	return 0;
	return 0;
}
}


static int hqd_sdma_load_v10_3(struct kgd_dev *kgd, void *mqd,
static int hqd_sdma_load_v10_3(struct amdgpu_device *adev, void *mqd,
			     uint32_t __user *wptr, struct mm_struct *mm)
			     uint32_t __user *wptr, struct mm_struct *mm)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct v10_sdma_mqd *m;
	struct v10_sdma_mqd *m;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_reg_offset;
	unsigned long end_jiffies;
	unsigned long end_jiffies;
@@ -435,11 +431,10 @@ static int hqd_sdma_load_v10_3(struct kgd_dev *kgd, void *mqd,
	return 0;
	return 0;
}
}


static int hqd_sdma_dump_v10_3(struct kgd_dev *kgd,
static int hqd_sdma_dump_v10_3(struct amdgpu_device *adev,
			     uint32_t engine_id, uint32_t queue_id,
			     uint32_t engine_id, uint32_t queue_id,
			     uint32_t (**dump)[2], uint32_t *n_regs)
			     uint32_t (**dump)[2], uint32_t *n_regs)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	uint32_t sdma_rlc_reg_offset = get_sdma_rlc_reg_offset(adev,
	uint32_t sdma_rlc_reg_offset = get_sdma_rlc_reg_offset(adev,
			engine_id, queue_id);
			engine_id, queue_id);
	uint32_t i = 0, reg;
	uint32_t i = 0, reg;
@@ -467,10 +462,10 @@ static int hqd_sdma_dump_v10_3(struct kgd_dev *kgd,
	return 0;
	return 0;
}
}


static bool hqd_is_occupied_v10_3(struct kgd_dev *kgd, uint64_t queue_address,
static bool hqd_is_occupied_v10_3(struct amdgpu_device *adev,
				uint32_t pipe_id, uint32_t queue_id)
				uint64_t queue_address, uint32_t pipe_id,
				uint32_t queue_id)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	uint32_t act;
	uint32_t act;
	bool retval = false;
	bool retval = false;
	uint32_t low, high;
	uint32_t low, high;
@@ -489,9 +484,9 @@ static bool hqd_is_occupied_v10_3(struct kgd_dev *kgd, uint64_t queue_address,
	return retval;
	return retval;
}
}


static bool hqd_sdma_is_occupied_v10_3(struct kgd_dev *kgd, void *mqd)
static bool hqd_sdma_is_occupied_v10_3(struct amdgpu_device *adev,
				void *mqd)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct v10_sdma_mqd *m;
	struct v10_sdma_mqd *m;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_rb_cntl;
	uint32_t sdma_rlc_rb_cntl;
@@ -508,12 +503,11 @@ static bool hqd_sdma_is_occupied_v10_3(struct kgd_dev *kgd, void *mqd)
	return false;
	return false;
}
}


static int hqd_destroy_v10_3(struct kgd_dev *kgd, void *mqd,
static int hqd_destroy_v10_3(struct amdgpu_device *adev, void *mqd,
				enum kfd_preempt_type reset_type,
				enum kfd_preempt_type reset_type,
				unsigned int utimeout, uint32_t pipe_id,
				unsigned int utimeout, uint32_t pipe_id,
				uint32_t queue_id)
				uint32_t queue_id)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	enum hqd_dequeue_request_type type;
	enum hqd_dequeue_request_type type;
	unsigned long end_jiffies;
	unsigned long end_jiffies;
	uint32_t temp;
	uint32_t temp;
@@ -559,10 +553,9 @@ static int hqd_destroy_v10_3(struct kgd_dev *kgd, void *mqd,
	return 0;
	return 0;
}
}


static int hqd_sdma_destroy_v10_3(struct kgd_dev *kgd, void *mqd,
static int hqd_sdma_destroy_v10_3(struct amdgpu_device *adev, void *mqd,
				unsigned int utimeout)
				unsigned int utimeout)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct v10_sdma_mqd *m;
	struct v10_sdma_mqd *m;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_reg_offset;
	uint32_t temp;
	uint32_t temp;
+13 −20
Original line number Original line Diff line number Diff line
@@ -202,12 +202,11 @@ static inline struct cik_sdma_rlc_registers *get_sdma_mqd(void *mqd)
	return (struct cik_sdma_rlc_registers *)mqd;
	return (struct cik_sdma_rlc_registers *)mqd;
}
}


static int kgd_hqd_load(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
static int kgd_hqd_load(struct amdgpu_device *adev, void *mqd,
			uint32_t queue_id, uint32_t __user *wptr,
			uint32_t pipe_id, uint32_t queue_id,
			uint32_t wptr_shift, uint32_t wptr_mask,
			uint32_t __user *wptr, uint32_t wptr_shift,
			struct mm_struct *mm)
			uint32_t wptr_mask, struct mm_struct *mm)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct cik_mqd *m;
	struct cik_mqd *m;
	uint32_t *mqd_hqd;
	uint32_t *mqd_hqd;
	uint32_t reg, wptr_val, data;
	uint32_t reg, wptr_val, data;
@@ -248,11 +247,10 @@ static int kgd_hqd_load(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
	return 0;
	return 0;
}
}


static int kgd_hqd_dump(struct kgd_dev *kgd,
static int kgd_hqd_dump(struct amdgpu_device *adev,
			uint32_t pipe_id, uint32_t queue_id,
			uint32_t pipe_id, uint32_t queue_id,
			uint32_t (**dump)[2], uint32_t *n_regs)
			uint32_t (**dump)[2], uint32_t *n_regs)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	uint32_t i = 0, reg;
	uint32_t i = 0, reg;
#define HQD_N_REGS (35+4)
#define HQD_N_REGS (35+4)
#define DUMP_REG(addr) do {				\
#define DUMP_REG(addr) do {				\
@@ -284,10 +282,9 @@ static int kgd_hqd_dump(struct kgd_dev *kgd,
	return 0;
	return 0;
}
}


static int kgd_hqd_sdma_load(struct kgd_dev *kgd, void *mqd,
static int kgd_hqd_sdma_load(struct amdgpu_device *adev, void *mqd,
			     uint32_t __user *wptr, struct mm_struct *mm)
			     uint32_t __user *wptr, struct mm_struct *mm)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct cik_sdma_rlc_registers *m;
	struct cik_sdma_rlc_registers *m;
	unsigned long end_jiffies;
	unsigned long end_jiffies;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_reg_offset;
@@ -340,11 +337,10 @@ static int kgd_hqd_sdma_load(struct kgd_dev *kgd, void *mqd,
	return 0;
	return 0;
}
}


static int kgd_hqd_sdma_dump(struct kgd_dev *kgd,
static int kgd_hqd_sdma_dump(struct amdgpu_device *adev,
			     uint32_t engine_id, uint32_t queue_id,
			     uint32_t engine_id, uint32_t queue_id,
			     uint32_t (**dump)[2], uint32_t *n_regs)
			     uint32_t (**dump)[2], uint32_t *n_regs)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	uint32_t sdma_offset = engine_id * SDMA1_REGISTER_OFFSET +
	uint32_t sdma_offset = engine_id * SDMA1_REGISTER_OFFSET +
		queue_id * KFD_CIK_SDMA_QUEUE_OFFSET;
		queue_id * KFD_CIK_SDMA_QUEUE_OFFSET;
	uint32_t i = 0, reg;
	uint32_t i = 0, reg;
@@ -367,10 +363,10 @@ static int kgd_hqd_sdma_dump(struct kgd_dev *kgd,
	return 0;
	return 0;
}
}


static bool kgd_hqd_is_occupied(struct kgd_dev *kgd, uint64_t queue_address,
static bool kgd_hqd_is_occupied(struct amdgpu_device *adev,
				uint32_t pipe_id, uint32_t queue_id)
				uint64_t queue_address, uint32_t pipe_id,
				uint32_t queue_id)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	uint32_t act;
	uint32_t act;
	bool retval = false;
	bool retval = false;
	uint32_t low, high;
	uint32_t low, high;
@@ -389,9 +385,8 @@ static bool kgd_hqd_is_occupied(struct kgd_dev *kgd, uint64_t queue_address,
	return retval;
	return retval;
}
}


static bool kgd_hqd_sdma_is_occupied(struct kgd_dev *kgd, void *mqd)
static bool kgd_hqd_sdma_is_occupied(struct amdgpu_device *adev, void *mqd)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct cik_sdma_rlc_registers *m;
	struct cik_sdma_rlc_registers *m;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_rb_cntl;
	uint32_t sdma_rlc_rb_cntl;
@@ -407,12 +402,11 @@ static bool kgd_hqd_sdma_is_occupied(struct kgd_dev *kgd, void *mqd)
	return false;
	return false;
}
}


static int kgd_hqd_destroy(struct kgd_dev *kgd, void *mqd,
static int kgd_hqd_destroy(struct amdgpu_device *adev, void *mqd,
				enum kfd_preempt_type reset_type,
				enum kfd_preempt_type reset_type,
				unsigned int utimeout, uint32_t pipe_id,
				unsigned int utimeout, uint32_t pipe_id,
				uint32_t queue_id)
				uint32_t queue_id)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	uint32_t temp;
	uint32_t temp;
	enum hqd_dequeue_request_type type;
	enum hqd_dequeue_request_type type;
	unsigned long flags, end_jiffies;
	unsigned long flags, end_jiffies;
@@ -509,10 +503,9 @@ static int kgd_hqd_destroy(struct kgd_dev *kgd, void *mqd,
	return 0;
	return 0;
}
}


static int kgd_hqd_sdma_destroy(struct kgd_dev *kgd, void *mqd,
static int kgd_hqd_sdma_destroy(struct amdgpu_device *adev, void *mqd,
				unsigned int utimeout)
				unsigned int utimeout)
{
{
	struct amdgpu_device *adev = get_amdgpu_device(kgd);
	struct cik_sdma_rlc_registers *m;
	struct cik_sdma_rlc_registers *m;
	uint32_t sdma_rlc_reg_offset;
	uint32_t sdma_rlc_reg_offset;
	uint32_t temp;
	uint32_t temp;
Loading