Lines Matching refs:kiq

302 	struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id];  in amdgpu_gfx_kiq_init_ring()  local
303 struct amdgpu_irq_src *irq = &kiq->irq; in amdgpu_gfx_kiq_init_ring()
304 struct amdgpu_ring *ring = &kiq->ring; in amdgpu_gfx_kiq_init_ring()
307 spin_lock_init(&kiq->ring_lock); in amdgpu_gfx_kiq_init_ring()
315 (adev->doorbell_index.kiq + in amdgpu_gfx_kiq_init_ring()
323 ring->eop_gpu_addr = kiq->eop_gpu_addr; in amdgpu_gfx_kiq_init_ring()
343 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_kiq_fini() local
345 amdgpu_bo_free_kernel(&kiq->eop_obj, &kiq->eop_gpu_addr, NULL); in amdgpu_gfx_kiq_fini()
353 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_kiq_init() local
356 AMDGPU_GEM_DOMAIN_GTT, &kiq->eop_obj, in amdgpu_gfx_kiq_init()
357 &kiq->eop_gpu_addr, (void **)&hpd); in amdgpu_gfx_kiq_init()
365 r = amdgpu_bo_reserve(kiq->eop_obj, true); in amdgpu_gfx_kiq_init()
368 amdgpu_bo_kunmap(kiq->eop_obj); in amdgpu_gfx_kiq_init()
369 amdgpu_bo_unreserve(kiq->eop_obj); in amdgpu_gfx_kiq_init()
379 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_mqd_sw_init() local
380 struct amdgpu_ring *ring = &kiq->ring; in amdgpu_gfx_mqd_sw_init()
408 kiq->mqd_backup = kzalloc(mqd_size, GFP_KERNEL); in amdgpu_gfx_mqd_sw_init()
409 if (!kiq->mqd_backup) { in amdgpu_gfx_mqd_sw_init()
470 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_mqd_sw_fini() local
491 ring = &kiq->ring; in amdgpu_gfx_mqd_sw_fini()
492 kfree(kiq->mqd_backup); in amdgpu_gfx_mqd_sw_fini()
500 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_disable_kcq() local
501 struct amdgpu_ring *kiq_ring = &kiq->ring; in amdgpu_gfx_disable_kcq()
515 if (!kiq->pmf || !kiq->pmf->kiq_unmap_queues) in amdgpu_gfx_disable_kcq()
521 spin_lock(&kiq->ring_lock); in amdgpu_gfx_disable_kcq()
522 if (amdgpu_ring_alloc(kiq_ring, kiq->pmf->unmap_queues_size * in amdgpu_gfx_disable_kcq()
524 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_disable_kcq()
530 kiq->pmf->kiq_unmap_queues(kiq_ring, in amdgpu_gfx_disable_kcq()
543 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_disable_kcq()
550 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_disable_kgq() local
551 struct amdgpu_ring *kiq_ring = &kiq->ring; in amdgpu_gfx_disable_kgq()
567 if (!kiq->pmf || !kiq->pmf->kiq_unmap_queues) in amdgpu_gfx_disable_kgq()
570 if (!adev->gfx.kiq[0].ring.sched.ready || amdgpu_in_reset(adev)) in amdgpu_gfx_disable_kgq()
574 spin_lock(&kiq->ring_lock); in amdgpu_gfx_disable_kgq()
575 if (amdgpu_ring_alloc(kiq_ring, kiq->pmf->unmap_queues_size * in amdgpu_gfx_disable_kgq()
577 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_disable_kgq()
583 kiq->pmf->kiq_unmap_queues(kiq_ring, in amdgpu_gfx_disable_kgq()
596 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_disable_kgq()
617 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_mes_enable_kcq() local
618 struct amdgpu_ring *kiq_ring = &kiq->ring; in amdgpu_gfx_mes_enable_kcq()
625 spin_lock(&kiq->ring_lock); in amdgpu_gfx_mes_enable_kcq()
626 r = amdgpu_ring_alloc(kiq_ring, kiq->pmf->set_resources_size); in amdgpu_gfx_mes_enable_kcq()
629 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_mes_enable_kcq()
633 kiq->pmf->kiq_set_resources(kiq_ring, queue_mask); in amdgpu_gfx_mes_enable_kcq()
635 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_mes_enable_kcq()
655 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_enable_kcq() local
656 struct amdgpu_ring *kiq_ring = &kiq->ring; in amdgpu_gfx_enable_kcq()
663 if (!kiq->pmf || !kiq->pmf->kiq_map_queues || !kiq->pmf->kiq_set_resources) in amdgpu_gfx_enable_kcq()
686 spin_lock(&kiq->ring_lock); in amdgpu_gfx_enable_kcq()
687 r = amdgpu_ring_alloc(kiq_ring, kiq->pmf->map_queues_size * in amdgpu_gfx_enable_kcq()
689 kiq->pmf->set_resources_size); in amdgpu_gfx_enable_kcq()
692 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_enable_kcq()
696 kiq->pmf->kiq_set_resources(kiq_ring, queue_mask); in amdgpu_gfx_enable_kcq()
699 kiq->pmf->kiq_map_queues(kiq_ring, in amdgpu_gfx_enable_kcq()
710 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_enable_kcq()
719 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_enable_kgq() local
720 struct amdgpu_ring *kiq_ring = &kiq->ring; in amdgpu_gfx_enable_kgq()
723 if (!kiq->pmf || !kiq->pmf->kiq_map_queues) in amdgpu_gfx_enable_kgq()
742 spin_lock(&kiq->ring_lock); in amdgpu_gfx_enable_kgq()
745 r = amdgpu_ring_alloc(kiq_ring, kiq->pmf->map_queues_size * in amdgpu_gfx_enable_kgq()
749 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_enable_kgq()
755 kiq->pmf->kiq_map_queues(kiq_ring, in amdgpu_gfx_enable_kgq()
767 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_enable_kgq()
1059 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_kiq_rreg() local
1060 struct amdgpu_ring *ring = &kiq->ring; in amdgpu_kiq_rreg()
1070 spin_lock_irqsave(&kiq->ring_lock, flags); in amdgpu_kiq_rreg()
1085 spin_unlock_irqrestore(&kiq->ring_lock, flags); in amdgpu_kiq_rreg()
1117 spin_unlock_irqrestore(&kiq->ring_lock, flags); in amdgpu_kiq_rreg()
1130 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_kiq_wreg() local
1131 struct amdgpu_ring *ring = &kiq->ring; in amdgpu_kiq_wreg()
1143 spin_lock_irqsave(&kiq->ring_lock, flags); in amdgpu_kiq_wreg()
1154 spin_unlock_irqrestore(&kiq->ring_lock, flags); in amdgpu_kiq_wreg()
1184 spin_unlock_irqrestore(&kiq->ring_lock, flags); in amdgpu_kiq_wreg()