aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/4631-drm-amdkfd-Replace-mqd-with-mqd_mgr-as-the-variable-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4631-drm-amdkfd-Replace-mqd-with-mqd_mgr-as-the-variable-.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/4631-drm-amdkfd-Replace-mqd-with-mqd_mgr-as-the-variable-.patch531
1 files changed, 531 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4631-drm-amdkfd-Replace-mqd-with-mqd_mgr-as-the-variable-.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4631-drm-amdkfd-Replace-mqd-with-mqd_mgr-as-the-variable-.patch
new file mode 100644
index 00000000..48650b48
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4631-drm-amdkfd-Replace-mqd-with-mqd_mgr-as-the-variable-.patch
@@ -0,0 +1,531 @@
+From 859fe34bdcf6638189c4ebee65d96107b0a839db Mon Sep 17 00:00:00 2001
+From: Yong Zhao <yong.zhao@amd.com>
+Date: Mon, 4 Jun 2018 14:33:13 -0400
+Subject: [PATCH 4631/5725] drm/amdkfd: Replace mqd with mqd_mgr as the
+ variable name for mqd_manager
+
+This will make reading code much easier.
+
+Change-Id: If57ec96c8b22d3e0c6dd0ff04a17dcb8ff3a27c4
+Signed-off-by: Yong Zhao <yong.zhao@amd.com>
+Signed-off-by: Kalyan Alle <kalyan.alle@amd.com>
+---
+ .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 117 +++++++++++----------
+ .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 2 +-
+ drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 17 +--
+ drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.h | 2 +-
+ .../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 8 +-
+ 5 files changed, 74 insertions(+), 72 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+index b071667..ae6f7d8 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+@@ -359,10 +359,10 @@ static int create_compute_queue_nocpsch(struct device_queue_manager *dqm,
+ struct qcm_process_device *qpd)
+ {
+ int retval;
+- struct mqd_manager *mqd;
++ struct mqd_manager *mqd_mgr;
+
+- mqd = dqm->ops.get_mqd_manager(dqm, KFD_MQD_TYPE_COMPUTE);
+- if (!mqd)
++ mqd_mgr = dqm->ops.get_mqd_manager(dqm, KFD_MQD_TYPE_COMPUTE);
++ if (!mqd_mgr)
+ return -ENOMEM;
+
+ retval = allocate_hqd(dqm, q);
+@@ -373,7 +373,7 @@ static int create_compute_queue_nocpsch(struct device_queue_manager *dqm,
+ if (retval)
+ goto out_deallocate_hqd;
+
+- retval = mqd->init_mqd(mqd, &q->mqd, &q->mqd_mem_obj,
++ retval = mqd_mgr->init_mqd(mqd_mgr, &q->mqd, &q->mqd_mem_obj,
+ &q->gart_mqd_addr, &q->properties);
+ if (retval)
+ goto out_deallocate_doorbell;
+@@ -387,15 +387,15 @@ static int create_compute_queue_nocpsch(struct device_queue_manager *dqm,
+ if (!q->properties.is_active)
+ return 0;
+
+- retval = mqd->load_mqd(mqd, q->mqd, q->pipe, q->queue, &q->properties,
+- q->process->mm);
++ retval = mqd_mgr->load_mqd(mqd_mgr, q->mqd, q->pipe, q->queue,
++ &q->properties, q->process->mm);
+ if (retval)
+ goto out_uninit_mqd;
+
+ return 0;
+
+ out_uninit_mqd:
+- mqd->uninit_mqd(mqd, q->mqd, q->mqd_mem_obj);
++ mqd_mgr->uninit_mqd(mqd_mgr, q->mqd, q->mqd_mem_obj);
+ out_deallocate_doorbell:
+ deallocate_doorbell(qpd, q);
+ out_deallocate_hqd:
+@@ -412,11 +412,11 @@ static int destroy_queue_nocpsch_locked(struct device_queue_manager *dqm,
+ struct queue *q)
+ {
+ int retval;
+- struct mqd_manager *mqd;
++ struct mqd_manager *mqd_mgr;
+
+- mqd = dqm->ops.get_mqd_manager(dqm,
++ mqd_mgr = dqm->ops.get_mqd_manager(dqm,
+ get_mqd_type_from_queue_type(q->properties.type));
+- if (!mqd)
++ if (!mqd_mgr)
+ return -ENOMEM;
+
+ if (q->properties.type == KFD_QUEUE_TYPE_COMPUTE) {
+@@ -433,14 +433,14 @@ static int destroy_queue_nocpsch_locked(struct device_queue_manager *dqm,
+
+ deallocate_doorbell(qpd, q);
+
+- retval = mqd->destroy_mqd(mqd, q->mqd,
++ retval = mqd_mgr->destroy_mqd(mqd_mgr, q->mqd,
+ KFD_PREEMPT_TYPE_WAVEFRONT_RESET,
+ KFD_UNMAP_LATENCY_MS,
+ q->pipe, q->queue);
+ if (retval == -ETIME)
+ qpd->reset_wavefronts = true;
+
+- mqd->uninit_mqd(mqd, q->mqd, q->mqd_mem_obj);
++ mqd_mgr->uninit_mqd(mqd_mgr, q->mqd, q->mqd_mem_obj);
+
+ list_del(&q->list);
+ if (list_empty(&qpd->queues_list)) {
+@@ -480,7 +480,7 @@ static int destroy_queue_nocpsch(struct device_queue_manager *dqm,
+ static int update_queue(struct device_queue_manager *dqm, struct queue *q)
+ {
+ int retval;
+- struct mqd_manager *mqd;
++ struct mqd_manager *mqd_mgr;
+ struct kfd_process_device *pdd;
+ bool prev_active = false;
+
+@@ -490,9 +490,9 @@ static int update_queue(struct device_queue_manager *dqm, struct queue *q)
+ retval = -ENODEV;
+ goto out_unlock;
+ }
+- mqd = dqm->ops.get_mqd_manager(dqm,
++ mqd_mgr = dqm->ops.get_mqd_manager(dqm,
+ get_mqd_type_from_queue_type(q->properties.type));
+- if (!mqd) {
++ if (!mqd_mgr) {
+ retval = -ENOMEM;
+ goto out_unlock;
+ }
+@@ -519,7 +519,7 @@ static int update_queue(struct device_queue_manager *dqm, struct queue *q)
+ } else if (prev_active &&
+ (q->properties.type == KFD_QUEUE_TYPE_COMPUTE ||
+ q->properties.type == KFD_QUEUE_TYPE_SDMA)) {
+- retval = mqd->destroy_mqd(mqd, q->mqd,
++ retval = mqd_mgr->destroy_mqd(mqd_mgr, q->mqd,
+ KFD_PREEMPT_TYPE_WAVEFRONT_DRAIN,
+ KFD_UNMAP_LATENCY_MS, q->pipe, q->queue);
+ if (retval) {
+@@ -528,7 +528,7 @@ static int update_queue(struct device_queue_manager *dqm, struct queue *q)
+ }
+ }
+
+- retval = mqd->update_mqd(mqd, q->mqd, &q->properties);
++ retval = mqd_mgr->update_mqd(mqd_mgr, q->mqd, &q->properties);
+
+ /*
+ * check active state vs. the previous state and modify
+@@ -546,7 +546,7 @@ static int update_queue(struct device_queue_manager *dqm, struct queue *q)
+ else if (q->properties.is_active &&
+ (q->properties.type == KFD_QUEUE_TYPE_COMPUTE ||
+ q->properties.type == KFD_QUEUE_TYPE_SDMA))
+- retval = mqd->load_mqd(mqd, q->mqd, q->pipe, q->queue,
++ retval = mqd_mgr->load_mqd(mqd_mgr, q->mqd, q->pipe, q->queue,
+ &q->properties, q->process->mm);
+
+ out_unlock:
+@@ -557,29 +557,29 @@ static int update_queue(struct device_queue_manager *dqm, struct queue *q)
+ static struct mqd_manager *get_mqd_manager(
+ struct device_queue_manager *dqm, enum KFD_MQD_TYPE type)
+ {
+- struct mqd_manager *mqd;
++ struct mqd_manager *mqd_mgr;
+
+ if (WARN_ON(type >= KFD_MQD_TYPE_MAX))
+ return NULL;
+
+ pr_debug("mqd type %d\n", type);
+
+- mqd = dqm->mqds[type];
+- if (!mqd) {
+- mqd = mqd_manager_init(type, dqm->dev);
+- if (!mqd)
++ mqd_mgr = dqm->mqd_mgrs[type];
++ if (!mqd_mgr) {
++ mqd_mgr = mqd_manager_init(type, dqm->dev);
++ if (!mqd_mgr)
+ pr_err("mqd manager is NULL");
+- dqm->mqds[type] = mqd;
++ dqm->mqd_mgrs[type] = mqd_mgr;
+ }
+
+- return mqd;
++ return mqd_mgr;
+ }
+
+ static int evict_process_queues_nocpsch(struct device_queue_manager *dqm,
+ struct qcm_process_device *qpd)
+ {
+ struct queue *q;
+- struct mqd_manager *mqd;
++ struct mqd_manager *mqd_mgr;
+ struct kfd_process_device *pdd;
+ int retval = 0;
+
+@@ -595,16 +595,16 @@ static int evict_process_queues_nocpsch(struct device_queue_manager *dqm,
+ list_for_each_entry(q, &qpd->queues_list, list) {
+ if (!q->properties.is_active)
+ continue;
+- mqd = dqm->ops.get_mqd_manager(dqm,
++ mqd_mgr = dqm->ops.get_mqd_manager(dqm,
+ get_mqd_type_from_queue_type(q->properties.type));
+- if (!mqd) { /* should not be here */
++ if (!mqd_mgr) { /* should not be here */
+ pr_err("Cannot evict queue, mqd mgr is NULL\n");
+ retval = -ENOMEM;
+ goto out;
+ }
+ q->properties.is_evicted = true;
+ q->properties.is_active = false;
+- retval = mqd->destroy_mqd(mqd, q->mqd,
++ retval = mqd_mgr->destroy_mqd(mqd_mgr, q->mqd,
+ KFD_PREEMPT_TYPE_WAVEFRONT_DRAIN,
+ KFD_UNMAP_LATENCY_MS, q->pipe, q->queue);
+ if (retval)
+@@ -654,7 +654,7 @@ static int restore_process_queues_nocpsch(struct device_queue_manager *dqm,
+ struct qcm_process_device *qpd)
+ {
+ struct queue *q;
+- struct mqd_manager *mqd;
++ struct mqd_manager *mqd_mgr;
+ struct kfd_process_device *pdd;
+ uint64_t pd_base;
+ int retval = 0;
+@@ -690,16 +690,16 @@ static int restore_process_queues_nocpsch(struct device_queue_manager *dqm,
+ list_for_each_entry(q, &qpd->queues_list, list) {
+ if (!q->properties.is_evicted)
+ continue;
+- mqd = dqm->ops.get_mqd_manager(dqm,
++ mqd_mgr = dqm->ops.get_mqd_manager(dqm,
+ get_mqd_type_from_queue_type(q->properties.type));
+- if (!mqd) { /* should not be here */
++ if (!mqd_mgr) { /* should not be here */
+ pr_err("Cannot restore queue, mqd mgr is NULL\n");
+ retval = -ENOMEM;
+ goto out;
+ }
+ q->properties.is_evicted = false;
+ q->properties.is_active = true;
+- retval = mqd->load_mqd(mqd, q->mqd, q->pipe,
++ retval = mqd_mgr->load_mqd(mqd_mgr, q->mqd, q->pipe,
+ q->queue, &q->properties,
+ q->process->mm);
+ if (retval)
+@@ -880,7 +880,7 @@ static void uninitialize(struct device_queue_manager *dqm)
+
+ kfree(dqm->allocated_queues);
+ for (i = 0 ; i < KFD_MQD_TYPE_MAX ; i++)
+- kfree(dqm->mqds[i]);
++ kfree(dqm->mqd_mgrs[i]);
+ mutex_destroy(&dqm->lock);
+ kfd_gtt_sa_free(dqm->dev, dqm->pipeline_mem);
+ }
+@@ -924,11 +924,11 @@ static int create_sdma_queue_nocpsch(struct device_queue_manager *dqm,
+ struct queue *q,
+ struct qcm_process_device *qpd)
+ {
+- struct mqd_manager *mqd;
++ struct mqd_manager *mqd_mgr;
+ int retval;
+
+- mqd = dqm->ops.get_mqd_manager(dqm, KFD_MQD_TYPE_SDMA);
+- if (!mqd)
++ mqd_mgr = dqm->ops.get_mqd_manager(dqm, KFD_MQD_TYPE_SDMA);
++ if (!mqd_mgr)
+ return -ENOMEM;
+
+ retval = allocate_sdma_queue(dqm, &q->sdma_id);
+@@ -947,19 +947,20 @@ static int create_sdma_queue_nocpsch(struct device_queue_manager *dqm,
+ pr_debug("SDMA engine id: %d\n", q->properties.sdma_engine_id);
+
+ dqm->asic_ops.init_sdma_vm(dqm, q, qpd);
+- retval = mqd->init_mqd(mqd, &q->mqd, &q->mqd_mem_obj,
++ retval = mqd_mgr->init_mqd(mqd_mgr, &q->mqd, &q->mqd_mem_obj,
+ &q->gart_mqd_addr, &q->properties);
+ if (retval)
+ goto out_deallocate_doorbell;
+
+- retval = mqd->load_mqd(mqd, q->mqd, 0, 0, &q->properties, NULL);
++ retval = mqd_mgr->load_mqd(mqd_mgr, q->mqd, 0, 0, &q->properties,
++ NULL);
+ if (retval)
+ goto out_uninit_mqd;
+
+ return 0;
+
+ out_uninit_mqd:
+- mqd->uninit_mqd(mqd, q->mqd, q->mqd_mem_obj);
++ mqd_mgr->uninit_mqd(mqd_mgr, q->mqd, q->mqd_mem_obj);
+ out_deallocate_doorbell:
+ deallocate_doorbell(qpd, q);
+ out_deallocate_sdma_queue:
+@@ -1135,7 +1136,7 @@ static int create_queue_cpsch(struct device_queue_manager *dqm, struct queue *q,
+ struct qcm_process_device *qpd)
+ {
+ int retval;
+- struct mqd_manager *mqd;
++ struct mqd_manager *mqd_mgr;
+
+ retval = 0;
+
+@@ -1162,10 +1163,10 @@ static int create_queue_cpsch(struct device_queue_manager *dqm, struct queue *q,
+ if (retval)
+ goto out_deallocate_sdma_queue;
+
+- mqd = dqm->ops.get_mqd_manager(dqm,
++ mqd_mgr = dqm->ops.get_mqd_manager(dqm,
+ get_mqd_type_from_queue_type(q->properties.type));
+
+- if (!mqd) {
++ if (!mqd_mgr) {
+ retval = -ENOMEM;
+ goto out_deallocate_doorbell;
+ }
+@@ -1182,7 +1183,7 @@ static int create_queue_cpsch(struct device_queue_manager *dqm, struct queue *q,
+
+ q->properties.tba_addr = qpd->tba_addr;
+ q->properties.tma_addr = qpd->tma_addr;
+- retval = mqd->init_mqd(mqd, &q->mqd, &q->mqd_mem_obj,
++ retval = mqd_mgr->init_mqd(mqd_mgr, &q->mqd, &q->mqd_mem_obj,
+ &q->gart_mqd_addr, &q->properties);
+ if (retval)
+ goto out_deallocate_doorbell;
+@@ -1338,7 +1339,7 @@ static int destroy_queue_cpsch(struct device_queue_manager *dqm,
+ struct queue *q)
+ {
+ int retval;
+- struct mqd_manager *mqd;
++ struct mqd_manager *mqd_mgr;
+ bool preempt_all_queues;
+
+ preempt_all_queues = false;
+@@ -1358,9 +1359,9 @@ static int destroy_queue_cpsch(struct device_queue_manager *dqm,
+
+ }
+
+- mqd = dqm->ops.get_mqd_manager(dqm,
++ mqd_mgr = dqm->ops.get_mqd_manager(dqm,
+ get_mqd_type_from_queue_type(q->properties.type));
+- if (!mqd) {
++ if (!mqd_mgr) {
+ retval = -ENOMEM;
+ goto failed;
+ }
+@@ -1381,7 +1382,7 @@ static int destroy_queue_cpsch(struct device_queue_manager *dqm,
+ if (retval == -ETIME)
+ qpd->reset_wavefronts = true;
+
+- mqd->uninit_mqd(mqd, q->mqd, q->mqd_mem_obj);
++ mqd_mgr->uninit_mqd(mqd_mgr, q->mqd, q->mqd_mem_obj);
+
+ /*
+ * Unconditionally decrement this counter, regardless of the queue's
+@@ -1530,7 +1531,7 @@ static int get_wave_state(struct device_queue_manager *dqm,
+ u32 *ctl_stack_used_size,
+ u32 *save_area_used_size)
+ {
+- struct mqd_manager *mqd;
++ struct mqd_manager *mqd_mgr;
+ int r;
+
+ mutex_lock(&dqm->lock);
+@@ -1541,19 +1542,19 @@ static int get_wave_state(struct device_queue_manager *dqm,
+ goto dqm_unlock;
+ }
+
+- mqd = dqm->ops.get_mqd_manager(dqm, KFD_MQD_TYPE_COMPUTE);
+- if (!mqd) {
++ mqd_mgr = dqm->ops.get_mqd_manager(dqm, KFD_MQD_TYPE_COMPUTE);
++ if (!mqd_mgr) {
+ r = -ENOMEM;
+ goto dqm_unlock;
+ }
+
+- if (!mqd->get_wave_state) {
++ if (!mqd_mgr->get_wave_state) {
+ r = -EINVAL;
+ goto dqm_unlock;
+ }
+
+- r = mqd->get_wave_state(mqd, q->mqd, ctl_stack, ctl_stack_used_size,
+- save_area_used_size);
++ r = mqd_mgr->get_wave_state(mqd_mgr, q->mqd, ctl_stack,
++ ctl_stack_used_size, save_area_used_size);
+
+ dqm_unlock:
+ mutex_unlock(&dqm->lock);
+@@ -1566,7 +1567,7 @@ static int process_termination_cpsch(struct device_queue_manager *dqm,
+ int retval;
+ struct queue *q, *next;
+ struct kernel_queue *kq, *kq_next;
+- struct mqd_manager *mqd;
++ struct mqd_manager *mqd_mgr;
+ struct device_process_node *cur, *next_dpn;
+ enum kfd_unmap_queues_filter filter =
+ KFD_UNMAP_QUEUES_FILTER_DYNAMIC_QUEUES;
+@@ -1616,15 +1617,15 @@ static int process_termination_cpsch(struct device_queue_manager *dqm,
+
+ /* lastly, free mqd resources */
+ list_for_each_entry_safe(q, next, &qpd->queues_list, list) {
+- mqd = dqm->ops.get_mqd_manager(dqm,
++ mqd_mgr = dqm->ops.get_mqd_manager(dqm,
+ get_mqd_type_from_queue_type(q->properties.type));
+- if (!mqd) {
++ if (!mqd_mgr) {
+ retval = -ENOMEM;
+ goto out;
+ }
+ list_del(&q->list);
+ qpd->queue_count--;
+- mqd->uninit_mqd(mqd, q->mqd, q->mqd_mem_obj);
++ mqd_mgr->uninit_mqd(mqd_mgr, q->mqd, q->mqd_mem_obj);
+ }
+
+ out:
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h
+index ad5c449..1c4ef00 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h
+@@ -174,7 +174,7 @@ struct device_queue_manager {
+ struct device_queue_manager_ops ops;
+ struct device_queue_manager_asic_ops asic_ops;
+
+- struct mqd_manager *mqds[KFD_MQD_TYPE_MAX];
++ struct mqd_manager *mqd_mgrs[KFD_MQD_TYPE_MAX];
+ struct packet_manager packets;
+ struct kfd_dev *dev;
+ struct mutex lock;
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
+index be038c5..e78445d 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
+@@ -59,7 +59,7 @@ static bool initialize(struct kernel_queue *kq, struct kfd_dev *dev,
+ switch (type) {
+ case KFD_QUEUE_TYPE_DIQ:
+ case KFD_QUEUE_TYPE_HIQ:
+- kq->mqd = dev->dqm->ops.get_mqd_manager(dev->dqm,
++ kq->mqd_mgr = dev->dqm->ops.get_mqd_manager(dev->dqm,
+ KFD_MQD_TYPE_HIQ);
+ break;
+ default:
+@@ -67,7 +67,7 @@ static bool initialize(struct kernel_queue *kq, struct kfd_dev *dev,
+ return false;
+ }
+
+- if (!kq->mqd)
++ if (!kq->mqd_mgr)
+ return false;
+
+ prop.doorbell_ptr = kfd_get_kernel_doorbell(dev, &prop.doorbell_off);
+@@ -131,7 +131,7 @@ static bool initialize(struct kernel_queue *kq, struct kfd_dev *dev,
+ kq->queue->device = dev;
+ kq->queue->process = kfd_get_process(current);
+
+- retval = kq->mqd->init_mqd(kq->mqd, &kq->queue->mqd,
++ retval = kq->mqd_mgr->init_mqd(kq->mqd_mgr, &kq->queue->mqd,
+ &kq->queue->mqd_mem_obj,
+ &kq->queue->gart_mqd_addr,
+ &kq->queue->properties);
+@@ -143,9 +143,9 @@ static bool initialize(struct kernel_queue *kq, struct kfd_dev *dev,
+ pr_debug("Assigning hiq to hqd\n");
+ kq->queue->pipe = KFD_CIK_HIQ_PIPE;
+ kq->queue->queue = KFD_CIK_HIQ_QUEUE;
+- kq->mqd->load_mqd(kq->mqd, kq->queue->mqd, kq->queue->pipe,
+- kq->queue->queue, &kq->queue->properties,
+- NULL);
++ kq->mqd_mgr->load_mqd(kq->mqd_mgr, kq->queue->mqd,
++ kq->queue->pipe, kq->queue->queue,
++ &kq->queue->properties, NULL);
+ } else {
+ /* allocate fence for DIQ */
+
+@@ -183,7 +183,7 @@ static bool initialize(struct kernel_queue *kq, struct kfd_dev *dev,
+ static void uninitialize(struct kernel_queue *kq)
+ {
+ if (kq->queue->properties.type == KFD_QUEUE_TYPE_HIQ)
+- kq->mqd->destroy_mqd(kq->mqd,
++ kq->mqd_mgr->destroy_mqd(kq->mqd_mgr,
+ kq->queue->mqd,
+ KFD_PREEMPT_TYPE_WAVEFRONT_RESET,
+ KFD_UNMAP_LATENCY_MS,
+@@ -192,7 +192,8 @@ static void uninitialize(struct kernel_queue *kq)
+ else if (kq->queue->properties.type == KFD_QUEUE_TYPE_DIQ)
+ kfd_gtt_sa_free(kq->dev, kq->fence_mem_obj);
+
+- kq->mqd->uninit_mqd(kq->mqd, kq->queue->mqd, kq->queue->mqd_mem_obj);
++ kq->mqd_mgr->uninit_mqd(kq->mqd_mgr, kq->queue->mqd,
++ kq->queue->mqd_mem_obj);
+
+ kfd_gtt_sa_free(kq->dev, kq->rptr_mem);
+ kfd_gtt_sa_free(kq->dev, kq->wptr_mem);
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.h b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.h
+index 82c94a6..384d7a3 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.h
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.h
+@@ -80,7 +80,7 @@ struct kernel_queue {
+
+ /* data */
+ struct kfd_dev *dev;
+- struct mqd_manager *mqd;
++ struct mqd_manager *mqd_mgr;
+ struct queue *queue;
+ uint64_t pending_wptr64;
+ uint32_t pending_wptr;
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
+index e18ed45..8933323 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
+@@ -439,7 +439,7 @@ int pqm_debugfs_mqds(struct seq_file *m, void *data)
+ struct process_queue_node *pqn;
+ struct queue *q;
+ enum KFD_MQD_TYPE mqd_type;
+- struct mqd_manager *mqd_manager;
++ struct mqd_manager *mqd_mgr;
+ int r = 0;
+
+ list_for_each_entry(pqn, &pqm->queues, process_queue_list) {
+@@ -462,11 +462,11 @@ int pqm_debugfs_mqds(struct seq_file *m, void *data)
+ q->properties.type, q->device->id);
+ continue;
+ }
+- mqd_manager = q->device->dqm->ops.get_mqd_manager(
++ mqd_mgr = q->device->dqm->ops.get_mqd_manager(
+ q->device->dqm, mqd_type);
+ } else if (pqn->kq) {
+ q = pqn->kq->queue;
+- mqd_manager = pqn->kq->mqd;
++ mqd_mgr = pqn->kq->mqd_mgr;
+ switch (q->properties.type) {
+ case KFD_QUEUE_TYPE_DIQ:
+ seq_printf(m, " DIQ on device %x\n",
+@@ -486,7 +486,7 @@ int pqm_debugfs_mqds(struct seq_file *m, void *data)
+ continue;
+ }
+
+- r = mqd_manager->debugfs_show_mqd(m, q->mqd);
++ r = mqd_mgr->debugfs_show_mqd(m, q->mqd);
+ if (r != 0)
+ break;
+ }
+--
+2.7.4
+