Lines Matching refs:kiq
312 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_kiq_init_ring() local
313 struct amdgpu_irq_src *irq = &kiq->irq; in amdgpu_gfx_kiq_init_ring()
314 struct amdgpu_ring *ring = &kiq->ring; in amdgpu_gfx_kiq_init_ring()
317 spin_lock_init(&kiq->ring_lock); in amdgpu_gfx_kiq_init_ring()
325 (adev->doorbell_index.kiq + in amdgpu_gfx_kiq_init_ring()
333 ring->eop_gpu_addr = kiq->eop_gpu_addr; in amdgpu_gfx_kiq_init_ring()
353 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_kiq_fini() local
355 amdgpu_bo_free_kernel(&kiq->eop_obj, &kiq->eop_gpu_addr, NULL); in amdgpu_gfx_kiq_fini()
363 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_kiq_init() local
366 AMDGPU_GEM_DOMAIN_GTT, &kiq->eop_obj, in amdgpu_gfx_kiq_init()
367 &kiq->eop_gpu_addr, (void **)&hpd); in amdgpu_gfx_kiq_init()
375 r = amdgpu_bo_reserve(kiq->eop_obj, true); in amdgpu_gfx_kiq_init()
378 amdgpu_bo_kunmap(kiq->eop_obj); in amdgpu_gfx_kiq_init()
379 amdgpu_bo_unreserve(kiq->eop_obj); in amdgpu_gfx_kiq_init()
389 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_mqd_sw_init() local
390 struct amdgpu_ring *ring = &kiq->ring; in amdgpu_gfx_mqd_sw_init()
418 kiq->mqd_backup = kmalloc(mqd_size, GFP_KERNEL); in amdgpu_gfx_mqd_sw_init()
419 if (!kiq->mqd_backup) { in amdgpu_gfx_mqd_sw_init()
480 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_mqd_sw_fini() local
501 ring = &kiq->ring; in amdgpu_gfx_mqd_sw_fini()
502 kfree(kiq->mqd_backup); in amdgpu_gfx_mqd_sw_fini()
510 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_disable_kcq() local
511 struct amdgpu_ring *kiq_ring = &kiq->ring; in amdgpu_gfx_disable_kcq()
525 if (!kiq->pmf || !kiq->pmf->kiq_unmap_queues) in amdgpu_gfx_disable_kcq()
528 spin_lock(&kiq->ring_lock); in amdgpu_gfx_disable_kcq()
529 if (amdgpu_ring_alloc(kiq_ring, kiq->pmf->unmap_queues_size * in amdgpu_gfx_disable_kcq()
531 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_disable_kcq()
537 kiq->pmf->kiq_unmap_queues(kiq_ring, in amdgpu_gfx_disable_kcq()
549 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_disable_kcq()
555 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_disable_kcq()
562 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_disable_kgq() local
563 struct amdgpu_ring *kiq_ring = &kiq->ring; in amdgpu_gfx_disable_kgq()
579 if (!kiq->pmf || !kiq->pmf->kiq_unmap_queues) in amdgpu_gfx_disable_kgq()
582 spin_lock(&kiq->ring_lock); in amdgpu_gfx_disable_kgq()
584 if (amdgpu_ring_alloc(kiq_ring, kiq->pmf->unmap_queues_size * in amdgpu_gfx_disable_kgq()
586 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_disable_kgq()
592 kiq->pmf->kiq_unmap_queues(kiq_ring, in amdgpu_gfx_disable_kgq()
598 if (adev->gfx.kiq[0].ring.sched.ready && !adev->job_hang) in amdgpu_gfx_disable_kgq()
600 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_disable_kgq()
620 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_mes_enable_kcq() local
621 struct amdgpu_ring *kiq_ring = &kiq->ring; in amdgpu_gfx_mes_enable_kcq()
628 spin_lock(&kiq->ring_lock); in amdgpu_gfx_mes_enable_kcq()
629 r = amdgpu_ring_alloc(kiq_ring, kiq->pmf->set_resources_size); in amdgpu_gfx_mes_enable_kcq()
632 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_mes_enable_kcq()
636 kiq->pmf->kiq_set_resources(kiq_ring, queue_mask); in amdgpu_gfx_mes_enable_kcq()
638 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_mes_enable_kcq()
658 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_enable_kcq() local
659 struct amdgpu_ring *kiq_ring = &kiq->ring; in amdgpu_gfx_enable_kcq()
666 if (!kiq->pmf || !kiq->pmf->kiq_map_queues || !kiq->pmf->kiq_set_resources) in amdgpu_gfx_enable_kcq()
689 spin_lock(&kiq->ring_lock); in amdgpu_gfx_enable_kcq()
690 r = amdgpu_ring_alloc(kiq_ring, kiq->pmf->map_queues_size * in amdgpu_gfx_enable_kcq()
692 kiq->pmf->set_resources_size); in amdgpu_gfx_enable_kcq()
695 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_enable_kcq()
699 kiq->pmf->kiq_set_resources(kiq_ring, queue_mask); in amdgpu_gfx_enable_kcq()
702 kiq->pmf->kiq_map_queues(kiq_ring, in amdgpu_gfx_enable_kcq()
707 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_enable_kcq()
716 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_gfx_enable_kgq() local
717 struct amdgpu_ring *kiq_ring = &kiq->ring; in amdgpu_gfx_enable_kgq()
720 if (!kiq->pmf || !kiq->pmf->kiq_map_queues) in amdgpu_gfx_enable_kgq()
739 spin_lock(&kiq->ring_lock); in amdgpu_gfx_enable_kgq()
742 r = amdgpu_ring_alloc(kiq_ring, kiq->pmf->map_queues_size * in amdgpu_gfx_enable_kgq()
746 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_enable_kgq()
752 kiq->pmf->kiq_map_queues(kiq_ring, in amdgpu_gfx_enable_kgq()
758 spin_unlock(&kiq->ring_lock); in amdgpu_gfx_enable_kgq()
1020 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_kiq_rreg() local
1021 struct amdgpu_ring *ring = &kiq->ring; in amdgpu_kiq_rreg()
1031 spin_lock_irqsave(&kiq->ring_lock, flags); in amdgpu_kiq_rreg()
1046 spin_unlock_irqrestore(&kiq->ring_lock, flags); in amdgpu_kiq_rreg()
1078 spin_unlock_irqrestore(&kiq->ring_lock, flags); in amdgpu_kiq_rreg()
1091 struct amdgpu_kiq *kiq = &adev->gfx.kiq[xcc_id]; in amdgpu_kiq_wreg() local
1092 struct amdgpu_ring *ring = &kiq->ring; in amdgpu_kiq_wreg()
1104 spin_lock_irqsave(&kiq->ring_lock, flags); in amdgpu_kiq_wreg()
1115 spin_unlock_irqrestore(&kiq->ring_lock, flags); in amdgpu_kiq_wreg()
1145 spin_unlock_irqrestore(&kiq->ring_lock, flags); in amdgpu_kiq_wreg()