Lines Matching refs:qpd

245 	struct qcm_process_device *qpd = &pdd->qpd;  in kfd_process_device_reserve_ib_mem()  local
253 if (qpd->ib_kaddr || !qpd->ib_base) in kfd_process_device_reserve_ib_mem()
257 ret = kfd_process_alloc_gpuvm(pdd, qpd->ib_base, PAGE_SIZE, flags, in kfd_process_device_reserve_ib_mem()
262 qpd->ib_kaddr = kaddr; in kfd_process_device_reserve_ib_mem()
433 if (pdd->qpd.cwsr_kaddr && !pdd->qpd.cwsr_base) in kfd_process_destroy_pdds()
434 free_pages((unsigned long)pdd->qpd.cwsr_kaddr, in kfd_process_destroy_pdds()
437 kfree(pdd->qpd.doorbell_bitmap); in kfd_process_destroy_pdds()
558 struct qcm_process_device *qpd = &pdd->qpd; in kfd_process_init_cwsr_apu() local
560 if (!dev->cwsr_enabled || qpd->cwsr_kaddr || qpd->cwsr_base) in kfd_process_init_cwsr_apu()
565 qpd->tba_addr = (int64_t)vm_mmap(filep, 0, in kfd_process_init_cwsr_apu()
569 if (IS_ERR_VALUE(qpd->tba_addr)) { in kfd_process_init_cwsr_apu()
570 int err = qpd->tba_addr; in kfd_process_init_cwsr_apu()
573 qpd->tba_addr = 0; in kfd_process_init_cwsr_apu()
574 qpd->cwsr_kaddr = NULL; in kfd_process_init_cwsr_apu()
578 memcpy(qpd->cwsr_kaddr, dev->cwsr_isa, dev->cwsr_isa_size); in kfd_process_init_cwsr_apu()
580 qpd->tma_addr = qpd->tba_addr + KFD_CWSR_TMA_OFFSET; in kfd_process_init_cwsr_apu()
582 qpd->tba_addr, qpd->tma_addr, qpd->cwsr_kaddr); in kfd_process_init_cwsr_apu()
591 struct qcm_process_device *qpd = &pdd->qpd; in kfd_process_device_init_cwsr_dgpu() local
597 if (!dev->cwsr_enabled || qpd->cwsr_kaddr || !qpd->cwsr_base) in kfd_process_device_init_cwsr_dgpu()
601 ret = kfd_process_alloc_gpuvm(pdd, qpd->cwsr_base, in kfd_process_device_init_cwsr_dgpu()
606 qpd->cwsr_kaddr = kaddr; in kfd_process_device_init_cwsr_dgpu()
607 qpd->tba_addr = qpd->cwsr_base; in kfd_process_device_init_cwsr_dgpu()
609 memcpy(qpd->cwsr_kaddr, dev->cwsr_isa, dev->cwsr_isa_size); in kfd_process_device_init_cwsr_dgpu()
611 qpd->tma_addr = qpd->tba_addr + KFD_CWSR_TMA_OFFSET; in kfd_process_device_init_cwsr_dgpu()
613 qpd->tba_addr, qpd->tma_addr, qpd->cwsr_kaddr); in kfd_process_device_init_cwsr_dgpu()
686 static int init_doorbell_bitmap(struct qcm_process_device *qpd, in init_doorbell_bitmap() argument
694 qpd->doorbell_bitmap = in init_doorbell_bitmap()
697 if (!qpd->doorbell_bitmap) in init_doorbell_bitmap()
704 set_bit(i, qpd->doorbell_bitmap); in init_doorbell_bitmap()
706 qpd->doorbell_bitmap); in init_doorbell_bitmap()
736 if (init_doorbell_bitmap(&pdd->qpd, dev)) { in kfd_create_process_device_data()
743 INIT_LIST_HEAD(&pdd->qpd.queues_list); in kfd_create_process_device_data()
744 INIT_LIST_HEAD(&pdd->qpd.priv_queue_list); in kfd_create_process_device_data()
745 pdd->qpd.dqm = dev->dqm; in kfd_create_process_device_data()
746 pdd->qpd.pqm = &p->pqm; in kfd_create_process_device_data()
747 pdd->qpd.evicted = 0; in kfd_create_process_device_data()
954 &pdd->qpd); in kfd_process_evict_queues()
972 &pdd->qpd)) in kfd_process_evict_queues()
989 &pdd->qpd); in kfd_process_restore_queues()
1120 struct qcm_process_device *qpd; in kfd_reserved_mem_mmap() local
1130 qpd = &pdd->qpd; in kfd_reserved_mem_mmap()
1132 qpd->cwsr_kaddr = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO, in kfd_reserved_mem_mmap()
1134 if (!qpd->cwsr_kaddr) { in kfd_reserved_mem_mmap()
1143 PFN_DOWN(__pa(qpd->cwsr_kaddr)), in kfd_reserved_mem_mmap()
1156 if (pdd->qpd.vmid) in kfd_flush_tlb()
1157 f2g->invalidate_tlbs_vmid(dev->kgd, pdd->qpd.vmid); in kfd_flush_tlb()