Lines Matching refs:sdma
76 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_free_microcode()
77 release_firmware(adev->sdma.instance[i].fw); in cik_sdma_free_microcode()
78 adev->sdma.instance[i].fw = NULL; in cik_sdma_free_microcode()
135 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_init_microcode()
140 err = request_firmware(&adev->sdma.instance[i].fw, fw_name, adev->dev); in cik_sdma_init_microcode()
143 err = amdgpu_ucode_validate(adev->sdma.instance[i].fw); in cik_sdma_init_microcode()
148 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_init_microcode()
149 release_firmware(adev->sdma.instance[i].fw); in cik_sdma_init_microcode()
150 adev->sdma.instance[i].fw = NULL; in cik_sdma_init_microcode()
203 struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring); in cik_sdma_ring_insert_nop() local
207 if (sdma && sdma->burst_nop && (i == 0)) in cik_sdma_ring_insert_nop()
308 struct amdgpu_ring *sdma0 = &adev->sdma.instance[0].ring; in cik_sdma_gfx_stop()
309 struct amdgpu_ring *sdma1 = &adev->sdma.instance[1].ring; in cik_sdma_gfx_stop()
317 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_gfx_stop()
376 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_ctx_switch_enable()
414 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_enable()
440 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_gfx_resume()
441 ring = &adev->sdma.instance[i].ring; in cik_sdma_gfx_resume()
506 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_gfx_resume()
507 ring = &adev->sdma.instance[i].ring; in cik_sdma_gfx_resume()
551 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_load_microcode()
552 if (!adev->sdma.instance[i].fw) in cik_sdma_load_microcode()
554 hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data; in cik_sdma_load_microcode()
557 adev->sdma.instance[i].fw_version = le32_to_cpu(hdr->header.ucode_version); in cik_sdma_load_microcode()
558 adev->sdma.instance[i].feature_version = le32_to_cpu(hdr->ucode_feature_version); in cik_sdma_load_microcode()
559 if (adev->sdma.instance[i].feature_version >= 20) in cik_sdma_load_microcode()
560 adev->sdma.instance[i].burst_nop = true; in cik_sdma_load_microcode()
562 (adev->sdma.instance[i].fw->data + le32_to_cpu(hdr->header.ucode_array_offset_bytes)); in cik_sdma_load_microcode()
566 WREG32(mmSDMA0_UCODE_ADDR + sdma_offsets[i], adev->sdma.instance[i].fw_version); in cik_sdma_load_microcode()
810 struct amdgpu_sdma_instance *sdma = amdgpu_sdma_get_instance_from_ring(ring); in cik_sdma_ring_pad_ib() local
816 if (sdma && sdma->burst_nop && (i == 0)) in cik_sdma_ring_pad_ib()
935 adev->sdma.num_instances = SDMA_MAX_INSTANCE; in cik_sdma_early_init()
959 &adev->sdma.trap_irq); in cik_sdma_sw_init()
965 &adev->sdma.illegal_inst_irq); in cik_sdma_sw_init()
971 &adev->sdma.illegal_inst_irq); in cik_sdma_sw_init()
975 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_sw_init()
976 ring = &adev->sdma.instance[i].ring; in cik_sdma_sw_init()
980 &adev->sdma.trap_irq, in cik_sdma_sw_init()
996 for (i = 0; i < adev->sdma.num_instances; i++) in cik_sdma_sw_fini()
997 amdgpu_ring_fini(&adev->sdma.instance[i].ring); in cik_sdma_sw_fini()
1170 amdgpu_fence_process(&adev->sdma.instance[0].ring); in cik_sdma_process_trap_irq()
1183 amdgpu_fence_process(&adev->sdma.instance[1].ring); in cik_sdma_process_trap_irq()
1206 drm_sched_fault(&adev->sdma.instance[instance_id].ring.sched); in cik_sdma_process_illegal_inst_irq()
1279 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_set_ring_funcs()
1280 adev->sdma.instance[i].ring.funcs = &cik_sdma_ring_funcs; in cik_sdma_set_ring_funcs()
1281 adev->sdma.instance[i].ring.me = i; in cik_sdma_set_ring_funcs()
1296 adev->sdma.trap_irq.num_types = AMDGPU_SDMA_IRQ_LAST; in cik_sdma_set_irq_funcs()
1297 adev->sdma.trap_irq.funcs = &cik_sdma_trap_irq_funcs; in cik_sdma_set_irq_funcs()
1298 adev->sdma.illegal_inst_irq.funcs = &cik_sdma_illegal_inst_irq_funcs; in cik_sdma_set_irq_funcs()
1362 adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; in cik_sdma_set_buffer_funcs()
1379 for (i = 0; i < adev->sdma.num_instances; i++) { in cik_sdma_set_vm_pte_funcs()
1380 sched = &adev->sdma.instance[i].ring.sched; in cik_sdma_set_vm_pte_funcs()
1384 adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; in cik_sdma_set_vm_pte_funcs()