Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdkfd: Replace mqd with mqd_mgr as the variable name for mqd_manager

This will make reading code much easier.

Signed-off-by: Yong Zhao <yong.zhao@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>

authored by

Yong Zhao and committed by
Oded Gabbay
8d5f3552 2b281977

+68 -66
+53 -52
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
··· 348 348 struct qcm_process_device *qpd) 349 349 { 350 350 int retval; 351 - struct mqd_manager *mqd; 351 + struct mqd_manager *mqd_mgr; 352 352 353 - mqd = dqm->ops.get_mqd_manager(dqm, KFD_MQD_TYPE_COMPUTE); 354 - if (!mqd) 353 + mqd_mgr = dqm->ops.get_mqd_manager(dqm, KFD_MQD_TYPE_COMPUTE); 354 + if (!mqd_mgr) 355 355 return -ENOMEM; 356 356 357 357 retval = allocate_hqd(dqm, q); ··· 362 362 if (retval) 363 363 goto out_deallocate_hqd; 364 364 365 - retval = mqd->init_mqd(mqd, &q->mqd, &q->mqd_mem_obj, 365 + retval = mqd_mgr->init_mqd(mqd_mgr, &q->mqd, &q->mqd_mem_obj, 366 366 &q->gart_mqd_addr, &q->properties); 367 367 if (retval) 368 368 goto out_deallocate_doorbell; ··· 376 376 if (!q->properties.is_active) 377 377 return 0; 378 378 379 - retval = mqd->load_mqd(mqd, q->mqd, q->pipe, q->queue, &q->properties, 380 - q->process->mm); 379 + retval = mqd_mgr->load_mqd(mqd_mgr, q->mqd, q->pipe, q->queue, 380 + &q->properties, q->process->mm); 381 381 if (retval) 382 382 goto out_uninit_mqd; 383 383 384 384 return 0; 385 385 386 386 out_uninit_mqd: 387 - mqd->uninit_mqd(mqd, q->mqd, q->mqd_mem_obj); 387 + mqd_mgr->uninit_mqd(mqd_mgr, q->mqd, q->mqd_mem_obj); 388 388 out_deallocate_doorbell: 389 389 deallocate_doorbell(qpd, q); 390 390 out_deallocate_hqd: ··· 401 401 struct queue *q) 402 402 { 403 403 int retval; 404 - struct mqd_manager *mqd; 404 + struct mqd_manager *mqd_mgr; 405 405 406 - mqd = dqm->ops.get_mqd_manager(dqm, 406 + mqd_mgr = dqm->ops.get_mqd_manager(dqm, 407 407 get_mqd_type_from_queue_type(q->properties.type)); 408 - if (!mqd) 408 + if (!mqd_mgr) 409 409 return -ENOMEM; 410 410 411 411 if (q->properties.type == KFD_QUEUE_TYPE_COMPUTE) { ··· 422 422 423 423 deallocate_doorbell(qpd, q); 424 424 425 - retval = mqd->destroy_mqd(mqd, q->mqd, 425 + retval = mqd_mgr->destroy_mqd(mqd_mgr, q->mqd, 426 426 KFD_PREEMPT_TYPE_WAVEFRONT_RESET, 427 427 KFD_UNMAP_LATENCY_MS, 428 428 q->pipe, q->queue); 429 429 if (retval == -ETIME) 430 430 qpd->reset_wavefronts = true; 431 431 432 - mqd->uninit_mqd(mqd, q->mqd, q->mqd_mem_obj); 432 + mqd_mgr->uninit_mqd(mqd_mgr, q->mqd, q->mqd_mem_obj); 433 433 434 434 list_del(&q->list); 435 435 if (list_empty(&qpd->queues_list)) { ··· 469 469 static int update_queue(struct device_queue_manager *dqm, struct queue *q) 470 470 { 471 471 int retval; 472 - struct mqd_manager *mqd; 472 + struct mqd_manager *mqd_mgr; 473 473 struct kfd_process_device *pdd; 474 474 bool prev_active = false; 475 475 ··· 479 479 retval = -ENODEV; 480 480 goto out_unlock; 481 481 } 482 - mqd = dqm->ops.get_mqd_manager(dqm, 482 + mqd_mgr = dqm->ops.get_mqd_manager(dqm, 483 483 get_mqd_type_from_queue_type(q->properties.type)); 484 - if (!mqd) { 484 + if (!mqd_mgr) { 485 485 retval = -ENOMEM; 486 486 goto out_unlock; 487 487 } ··· 508 508 } else if (prev_active && 509 509 (q->properties.type == KFD_QUEUE_TYPE_COMPUTE || 510 510 q->properties.type == KFD_QUEUE_TYPE_SDMA)) { 511 - retval = mqd->destroy_mqd(mqd, q->mqd, 511 + retval = mqd_mgr->destroy_mqd(mqd_mgr, q->mqd, 512 512 KFD_PREEMPT_TYPE_WAVEFRONT_DRAIN, 513 513 KFD_UNMAP_LATENCY_MS, q->pipe, q->queue); 514 514 if (retval) { ··· 517 517 } 518 518 } 519 519 520 - retval = mqd->update_mqd(mqd, q->mqd, &q->properties); 520 + retval = mqd_mgr->update_mqd(mqd_mgr, q->mqd, &q->properties); 521 521 522 522 /* 523 523 * check active state vs. the previous state and modify ··· 535 535 else if (q->properties.is_active && 536 536 (q->properties.type == KFD_QUEUE_TYPE_COMPUTE || 537 537 q->properties.type == KFD_QUEUE_TYPE_SDMA)) 538 - retval = mqd->load_mqd(mqd, q->mqd, q->pipe, q->queue, 538 + retval = mqd_mgr->load_mqd(mqd_mgr, q->mqd, q->pipe, q->queue, 539 539 &q->properties, q->process->mm); 540 540 541 541 out_unlock: ··· 546 546 static struct mqd_manager *get_mqd_manager( 547 547 struct device_queue_manager *dqm, enum KFD_MQD_TYPE type) 548 548 { 549 - struct mqd_manager *mqd; 549 + struct mqd_manager *mqd_mgr; 550 550 551 551 if (WARN_ON(type >= KFD_MQD_TYPE_MAX)) 552 552 return NULL; 553 553 554 554 pr_debug("mqd type %d\n", type); 555 555 556 - mqd = dqm->mqds[type]; 557 - if (!mqd) { 558 - mqd = mqd_manager_init(type, dqm->dev); 559 - if (!mqd) 556 + mqd_mgr = dqm->mqd_mgrs[type]; 557 + if (!mqd_mgr) { 558 + mqd_mgr = mqd_manager_init(type, dqm->dev); 559 + if (!mqd_mgr) 560 560 pr_err("mqd manager is NULL"); 561 - dqm->mqds[type] = mqd; 561 + dqm->mqd_mgrs[type] = mqd_mgr; 562 562 } 563 563 564 - return mqd; 564 + return mqd_mgr; 565 565 } 566 566 567 567 static int evict_process_queues_nocpsch(struct device_queue_manager *dqm, 568 568 struct qcm_process_device *qpd) 569 569 { 570 570 struct queue *q; 571 - struct mqd_manager *mqd; 571 + struct mqd_manager *mqd_mgr; 572 572 struct kfd_process_device *pdd; 573 573 int retval = 0; 574 574 ··· 584 584 list_for_each_entry(q, &qpd->queues_list, list) { 585 585 if (!q->properties.is_active) 586 586 continue; 587 - mqd = dqm->ops.get_mqd_manager(dqm, 587 + mqd_mgr = dqm->ops.get_mqd_manager(dqm, 588 588 get_mqd_type_from_queue_type(q->properties.type)); 589 - if (!mqd) { /* should not be here */ 589 + if (!mqd_mgr) { /* should not be here */ 590 590 pr_err("Cannot evict queue, mqd mgr is NULL\n"); 591 591 retval = -ENOMEM; 592 592 goto out; 593 593 } 594 594 q->properties.is_evicted = true; 595 595 q->properties.is_active = false; 596 - retval = mqd->destroy_mqd(mqd, q->mqd, 596 + retval = mqd_mgr->destroy_mqd(mqd_mgr, q->mqd, 597 597 KFD_PREEMPT_TYPE_WAVEFRONT_DRAIN, 598 598 KFD_UNMAP_LATENCY_MS, q->pipe, q->queue); 599 599 if (retval) ··· 643 643 struct qcm_process_device *qpd) 644 644 { 645 645 struct queue *q; 646 - struct mqd_manager *mqd; 646 + struct mqd_manager *mqd_mgr; 647 647 struct kfd_process_device *pdd; 648 648 uint32_t pd_base; 649 649 int retval = 0; ··· 679 679 list_for_each_entry(q, &qpd->queues_list, list) { 680 680 if (!q->properties.is_evicted) 681 681 continue; 682 - mqd = dqm->ops.get_mqd_manager(dqm, 682 + mqd_mgr = dqm->ops.get_mqd_manager(dqm, 683 683 get_mqd_type_from_queue_type(q->properties.type)); 684 - if (!mqd) { /* should not be here */ 684 + if (!mqd_mgr) { /* should not be here */ 685 685 pr_err("Cannot restore queue, mqd mgr is NULL\n"); 686 686 retval = -ENOMEM; 687 687 goto out; 688 688 } 689 689 q->properties.is_evicted = false; 690 690 q->properties.is_active = true; 691 - retval = mqd->load_mqd(mqd, q->mqd, q->pipe, 691 + retval = mqd_mgr->load_mqd(mqd_mgr, q->mqd, q->pipe, 692 692 q->queue, &q->properties, 693 693 q->process->mm); 694 694 if (retval) ··· 868 868 869 869 kfree(dqm->allocated_queues); 870 870 for (i = 0 ; i < KFD_MQD_TYPE_MAX ; i++) 871 - kfree(dqm->mqds[i]); 871 + kfree(dqm->mqd_mgrs[i]); 872 872 mutex_destroy(&dqm->lock_hidden); 873 873 kfd_gtt_sa_free(dqm->dev, dqm->pipeline_mem); 874 874 } ··· 912 912 struct queue *q, 913 913 struct qcm_process_device *qpd) 914 914 { 915 - struct mqd_manager *mqd; 915 + struct mqd_manager *mqd_mgr; 916 916 int retval; 917 917 918 - mqd = dqm->ops.get_mqd_manager(dqm, KFD_MQD_TYPE_SDMA); 919 - if (!mqd) 918 + mqd_mgr = dqm->ops.get_mqd_manager(dqm, KFD_MQD_TYPE_SDMA); 919 + if (!mqd_mgr) 920 920 return -ENOMEM; 921 921 922 922 retval = allocate_sdma_queue(dqm, &q->sdma_id); ··· 935 935 pr_debug("SDMA engine id: %d\n", q->properties.sdma_engine_id); 936 936 937 937 dqm->asic_ops.init_sdma_vm(dqm, q, qpd); 938 - retval = mqd->init_mqd(mqd, &q->mqd, &q->mqd_mem_obj, 938 + retval = mqd_mgr->init_mqd(mqd_mgr, &q->mqd, &q->mqd_mem_obj, 939 939 &q->gart_mqd_addr, &q->properties); 940 940 if (retval) 941 941 goto out_deallocate_doorbell; 942 942 943 - retval = mqd->load_mqd(mqd, q->mqd, 0, 0, &q->properties, NULL); 943 + retval = mqd_mgr->load_mqd(mqd_mgr, q->mqd, 0, 0, &q->properties, 944 + NULL); 944 945 if (retval) 945 946 goto out_uninit_mqd; 946 947 947 948 return 0; 948 949 949 950 out_uninit_mqd: 950 - mqd->uninit_mqd(mqd, q->mqd, q->mqd_mem_obj); 951 + mqd_mgr->uninit_mqd(mqd_mgr, q->mqd, q->mqd_mem_obj); 951 952 out_deallocate_doorbell: 952 953 deallocate_doorbell(qpd, q); 953 954 out_deallocate_sdma_queue: ··· 1124 1123 struct qcm_process_device *qpd) 1125 1124 { 1126 1125 int retval; 1127 - struct mqd_manager *mqd; 1126 + struct mqd_manager *mqd_mgr; 1128 1127 1129 1128 retval = 0; 1130 1129 ··· 1151 1150 if (retval) 1152 1151 goto out_deallocate_sdma_queue; 1153 1152 1154 - mqd = dqm->ops.get_mqd_manager(dqm, 1153 + mqd_mgr = dqm->ops.get_mqd_manager(dqm, 1155 1154 get_mqd_type_from_queue_type(q->properties.type)); 1156 1155 1157 - if (!mqd) { 1156 + if (!mqd_mgr) { 1158 1157 retval = -ENOMEM; 1159 1158 goto out_deallocate_doorbell; 1160 1159 } ··· 1171 1170 1172 1171 q->properties.tba_addr = qpd->tba_addr; 1173 1172 q->properties.tma_addr = qpd->tma_addr; 1174 - retval = mqd->init_mqd(mqd, &q->mqd, &q->mqd_mem_obj, 1173 + retval = mqd_mgr->init_mqd(mqd_mgr, &q->mqd, &q->mqd_mem_obj, 1175 1174 &q->gart_mqd_addr, &q->properties); 1176 1175 if (retval) 1177 1176 goto out_deallocate_doorbell; ··· 1327 1326 struct queue *q) 1328 1327 { 1329 1328 int retval; 1330 - struct mqd_manager *mqd; 1329 + struct mqd_manager *mqd_mgr; 1331 1330 bool preempt_all_queues; 1332 1331 1333 1332 preempt_all_queues = false; ··· 1347 1346 1348 1347 } 1349 1348 1350 - mqd = dqm->ops.get_mqd_manager(dqm, 1349 + mqd_mgr = dqm->ops.get_mqd_manager(dqm, 1351 1350 get_mqd_type_from_queue_type(q->properties.type)); 1352 - if (!mqd) { 1351 + if (!mqd_mgr) { 1353 1352 retval = -ENOMEM; 1354 1353 goto failed; 1355 1354 } ··· 1371 1370 qpd->reset_wavefronts = true; 1372 1371 } 1373 1372 1374 - mqd->uninit_mqd(mqd, q->mqd, q->mqd_mem_obj); 1373 + mqd_mgr->uninit_mqd(mqd_mgr, q->mqd, q->mqd_mem_obj); 1375 1374 1376 1375 /* 1377 1376 * Unconditionally decrement this counter, regardless of the queue's ··· 1521 1520 int retval; 1522 1521 struct queue *q, *next; 1523 1522 struct kernel_queue *kq, *kq_next; 1524 - struct mqd_manager *mqd; 1523 + struct mqd_manager *mqd_mgr; 1525 1524 struct device_process_node *cur, *next_dpn; 1526 1525 enum kfd_unmap_queues_filter filter = 1527 1526 KFD_UNMAP_QUEUES_FILTER_DYNAMIC_QUEUES; ··· 1571 1570 1572 1571 /* lastly, free mqd resources */ 1573 1572 list_for_each_entry_safe(q, next, &qpd->queues_list, list) { 1574 - mqd = dqm->ops.get_mqd_manager(dqm, 1573 + mqd_mgr = dqm->ops.get_mqd_manager(dqm, 1575 1574 get_mqd_type_from_queue_type(q->properties.type)); 1576 - if (!mqd) { 1575 + if (!mqd_mgr) { 1577 1576 retval = -ENOMEM; 1578 1577 goto out; 1579 1578 } 1580 1579 list_del(&q->list); 1581 1580 qpd->queue_count--; 1582 - mqd->uninit_mqd(mqd, q->mqd, q->mqd_mem_obj); 1581 + mqd_mgr->uninit_mqd(mqd_mgr, q->mqd, q->mqd_mem_obj); 1583 1582 } 1584 1583 1585 1584 out:
+1 -1
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h
··· 172 172 struct device_queue_manager_ops ops; 173 173 struct device_queue_manager_asic_ops asic_ops; 174 174 175 - struct mqd_manager *mqds[KFD_MQD_TYPE_MAX]; 175 + struct mqd_manager *mqd_mgrs[KFD_MQD_TYPE_MAX]; 176 176 struct packet_manager packets; 177 177 struct kfd_dev *dev; 178 178 struct mutex lock_hidden; /* use dqm_lock/unlock(dqm) */
+9 -8
drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
··· 59 59 switch (type) { 60 60 case KFD_QUEUE_TYPE_DIQ: 61 61 case KFD_QUEUE_TYPE_HIQ: 62 - kq->mqd = dev->dqm->ops.get_mqd_manager(dev->dqm, 62 + kq->mqd_mgr = dev->dqm->ops.get_mqd_manager(dev->dqm, 63 63 KFD_MQD_TYPE_HIQ); 64 64 break; 65 65 default: ··· 67 67 return false; 68 68 } 69 69 70 - if (!kq->mqd) 70 + if (!kq->mqd_mgr) 71 71 return false; 72 72 73 73 prop.doorbell_ptr = kfd_get_kernel_doorbell(dev, &prop.doorbell_off); ··· 130 130 kq->queue->device = dev; 131 131 kq->queue->process = kfd_get_process(current); 132 132 133 - retval = kq->mqd->init_mqd(kq->mqd, &kq->queue->mqd, 133 + retval = kq->mqd_mgr->init_mqd(kq->mqd_mgr, &kq->queue->mqd, 134 134 &kq->queue->mqd_mem_obj, 135 135 &kq->queue->gart_mqd_addr, 136 136 &kq->queue->properties); ··· 142 142 pr_debug("Assigning hiq to hqd\n"); 143 143 kq->queue->pipe = KFD_CIK_HIQ_PIPE; 144 144 kq->queue->queue = KFD_CIK_HIQ_QUEUE; 145 - kq->mqd->load_mqd(kq->mqd, kq->queue->mqd, kq->queue->pipe, 146 - kq->queue->queue, &kq->queue->properties, 147 - NULL); 145 + kq->mqd_mgr->load_mqd(kq->mqd_mgr, kq->queue->mqd, 146 + kq->queue->pipe, kq->queue->queue, 147 + &kq->queue->properties, NULL); 148 148 } else { 149 149 /* allocate fence for DIQ */ 150 150 ··· 182 182 static void uninitialize(struct kernel_queue *kq) 183 183 { 184 184 if (kq->queue->properties.type == KFD_QUEUE_TYPE_HIQ) 185 - kq->mqd->destroy_mqd(kq->mqd, 185 + kq->mqd_mgr->destroy_mqd(kq->mqd_mgr, 186 186 kq->queue->mqd, 187 187 KFD_PREEMPT_TYPE_WAVEFRONT_RESET, 188 188 KFD_UNMAP_LATENCY_MS, ··· 191 191 else if (kq->queue->properties.type == KFD_QUEUE_TYPE_DIQ) 192 192 kfd_gtt_sa_free(kq->dev, kq->fence_mem_obj); 193 193 194 - kq->mqd->uninit_mqd(kq->mqd, kq->queue->mqd, kq->queue->mqd_mem_obj); 194 + kq->mqd_mgr->uninit_mqd(kq->mqd_mgr, kq->queue->mqd, 195 + kq->queue->mqd_mem_obj); 195 196 196 197 kfd_gtt_sa_free(kq->dev, kq->rptr_mem); 197 198 kfd_gtt_sa_free(kq->dev, kq->wptr_mem);
+1 -1
drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.h
··· 70 70 71 71 /* data */ 72 72 struct kfd_dev *dev; 73 - struct mqd_manager *mqd; 73 + struct mqd_manager *mqd_mgr; 74 74 struct queue *queue; 75 75 uint64_t pending_wptr64; 76 76 uint32_t pending_wptr;
+4 -4
drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
··· 387 387 struct process_queue_node *pqn; 388 388 struct queue *q; 389 389 enum KFD_MQD_TYPE mqd_type; 390 - struct mqd_manager *mqd_manager; 390 + struct mqd_manager *mqd_mgr; 391 391 int r = 0; 392 392 393 393 list_for_each_entry(pqn, &pqm->queues, process_queue_list) { ··· 410 410 q->properties.type, q->device->id); 411 411 continue; 412 412 } 413 - mqd_manager = q->device->dqm->ops.get_mqd_manager( 413 + mqd_mgr = q->device->dqm->ops.get_mqd_manager( 414 414 q->device->dqm, mqd_type); 415 415 } else if (pqn->kq) { 416 416 q = pqn->kq->queue; 417 - mqd_manager = pqn->kq->mqd; 417 + mqd_mgr = pqn->kq->mqd_mgr; 418 418 switch (q->properties.type) { 419 419 case KFD_QUEUE_TYPE_DIQ: 420 420 seq_printf(m, " DIQ on device %x\n", ··· 434 434 continue; 435 435 } 436 436 437 - r = mqd_manager->debugfs_show_mqd(m, q->mqd); 437 + r = mqd_mgr->debugfs_show_mqd(m, q->mqd); 438 438 if (r != 0) 439 439 break; 440 440 }