drm/amdkfd: Introduce kfd_node struct (v5)
[linux-2.6-microblaze.git] / drivers / gpu / drm / amd / amdkfd / kfd_process_queue_manager.c
index 4236539..5602498 100644 (file)
@@ -81,7 +81,7 @@ static int find_available_queue_slot(struct process_queue_manager *pqm,
 
 void kfd_process_dequeue_from_device(struct kfd_process_device *pdd)
 {
-       struct kfd_dev *dev = pdd->dev;
+       struct kfd_node *dev = pdd->dev;
 
        if (pdd->already_dequeued)
                return;
@@ -93,7 +93,7 @@ void kfd_process_dequeue_from_device(struct kfd_process_device *pdd)
 int pqm_set_gws(struct process_queue_manager *pqm, unsigned int qid,
                        void *gws)
 {
-       struct kfd_dev *dev = NULL;
+       struct kfd_node *dev = NULL;
        struct process_queue_node *pqn;
        struct kfd_process_device *pdd;
        struct kgd_mem *mem = NULL;
@@ -178,7 +178,7 @@ void pqm_uninit(struct process_queue_manager *pqm)
 }
 
 static int init_user_queue(struct process_queue_manager *pqm,
-                               struct kfd_dev *dev, struct queue **q,
+                               struct kfd_node *dev, struct queue **q,
                                struct queue_properties *q_properties,
                                struct file *f, struct amdgpu_bo *wptr_bo,
                                unsigned int qid)
@@ -199,7 +199,7 @@ static int init_user_queue(struct process_queue_manager *pqm,
        (*q)->device = dev;
        (*q)->process = pqm->process;
 
-       if (dev->shared_resources.enable_mes) {
+       if (dev->kfd->shared_resources.enable_mes) {
                retval = amdgpu_amdkfd_alloc_gtt_mem(dev->adev,
                                                AMDGPU_MES_GANG_CTX_SIZE,
                                                &(*q)->gang_ctx_bo,
@@ -224,7 +224,7 @@ cleanup:
 }
 
 int pqm_create_queue(struct process_queue_manager *pqm,
-                           struct kfd_dev *dev,
+                           struct kfd_node *dev,
                            struct file *f,
                            struct queue_properties *properties,
                            unsigned int *qid,
@@ -258,7 +258,7 @@ int pqm_create_queue(struct process_queue_manager *pqm,
         * Hence we also check the type as well
         */
        if ((pdd->qpd.is_debug) || (type == KFD_QUEUE_TYPE_DIQ))
-               max_queues = dev->device_info.max_no_of_hqd/2;
+               max_queues = dev->kfd->device_info.max_no_of_hqd/2;
 
        if (pdd->qpd.queue_count >= max_queues)
                return -ENOSPC;
@@ -354,7 +354,7 @@ int pqm_create_queue(struct process_queue_manager *pqm,
                 */
                *p_doorbell_offset_in_process =
                        (q->properties.doorbell_off * sizeof(uint32_t)) &
-                       (kfd_doorbell_process_slice(dev) - 1);
+                       (kfd_doorbell_process_slice(dev->kfd) - 1);
 
        pr_debug("PQM After DQM create queue\n");
 
@@ -387,7 +387,7 @@ int pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid)
        struct process_queue_node *pqn;
        struct kfd_process_device *pdd;
        struct device_queue_manager *dqm;
-       struct kfd_dev *dev;
+       struct kfd_node *dev;
        int retval;
 
        dqm = NULL;
@@ -439,7 +439,7 @@ int pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid)
                        pdd->qpd.num_gws = 0;
                }
 
-               if (dev->shared_resources.enable_mes) {
+               if (dev->kfd->shared_resources.enable_mes) {
                        amdgpu_amdkfd_free_gtt_mem(dev->adev,
                                                   pqn->q->gang_ctx_bo);
                        if (pqn->q->wptr_bo)
@@ -859,7 +859,7 @@ int kfd_criu_restore_queue(struct kfd_process *p,
        }
 
        if (!pdd->doorbell_index &&
-           kfd_alloc_process_doorbells(pdd->dev, &pdd->doorbell_index) < 0) {
+           kfd_alloc_process_doorbells(pdd->dev->kfd, &pdd->doorbell_index) < 0) {
                ret = -ENOMEM;
                goto exit;
        }