| /netbsd-src/sys/external/bsd/drm2/dist/drm/amd/amdkfd/ |
| H A D | cik_event_interrupt.c | 41 unsigned int vmid; in cik_event_interrupt_isr() local 57 vmid = f2g->read_vmid_from_vmfault_reg(dev->kgd); in cik_event_interrupt_isr() 58 ret = f2g->get_atc_vmid_pasid_mapping_info(dev->kgd, vmid, &pasid); in cik_event_interrupt_isr() 61 tmp_ihre->ring_id |= vmid << 8; in cik_event_interrupt_isr() 65 vmid >= dev->vm_info.first_vmid_kfd && in cik_event_interrupt_isr() 66 vmid <= dev->vm_info.last_vmid_kfd; in cik_event_interrupt_isr() 70 vmid = (ihre->ring_id & 0x0000ff00) >> 8; in cik_event_interrupt_isr() 71 if (vmid < dev->vm_info.first_vmid_kfd || in cik_event_interrupt_isr() 72 vmid > dev->vm_info.last_vmid_kfd) in cik_event_interrupt_isr() 97 unsigned int vmid = (ihre->ring_id & 0x0000ff00) >> 8; in cik_event_interrupt_wq() local [all …]
|
| H A D | kfd_int_process_v9.c | 38 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_isr_v9() local 42 vmid = SOC15_VMID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_isr_v9() 43 if (vmid < dev->vm_info.first_vmid_kfd || in event_interrupt_isr_v9() 44 vmid > dev->vm_info.last_vmid_kfd) in event_interrupt_isr_v9() 62 pasid = dev->dqm->vmid_pasid[vmid]; in event_interrupt_isr_v9() 70 client_id, source_id, vmid, pasid); in event_interrupt_isr_v9() 94 uint16_t source_id, client_id, pasid, vmid; in event_interrupt_wq_v9() local 100 vmid = SOC15_VMID_FROM_IH_ENTRY(ih_ring_entry); in event_interrupt_wq_v9() 117 info.vmid = vmid; in event_interrupt_wq_v9()
|
| H A D | kfd_dbgdev.c | 239 unsigned int index, unsigned int vmid) in dbgdev_address_watch_set_registers() argument 263 cntl->bitfields.vmid = (uint32_t) vmid; in dbgdev_address_watch_set_registers() 308 &cntl, i, pdd->qpd.vmid); in dbgdev_address_watch_nodiq() 312 pr_debug("\t\t%20s %08x\n", "vmid is :", pdd->qpd.vmid); in dbgdev_address_watch_nodiq() 324 cntl.bitfields.vmid); in dbgdev_address_watch_nodiq() 354 unsigned int vmid = 0; in dbgdev_address_watch_diq() local 403 vmid); in dbgdev_address_watch_diq() 407 pr_debug("\t\t%20s %08x\n", "vmid is :", vmid); in dbgdev_address_watch_diq() 421 cntl.bitfields.vmid); in dbgdev_address_watch_diq() 728 reg_sq_cmd.bits.vm_id = pdd->qpd.vmid; in dbgdev_wave_control_nodiq() [all …]
|
| H A D | kfd_device_queue_manager.c | 48 unsigned int pasid, unsigned int vmid); 133 dqm->dev->kgd, qpd->vmid, in program_sh_mem_settings() 224 qpd->vmid = allocated_vmid; in allocate_vmid() 225 q->properties.vmid = allocated_vmid; in allocate_vmid() 233 qpd->vmid, in allocate_vmid() 240 qpd->sh_hidden_private_base, qpd->vmid); in allocate_vmid() 258 return amdgpu_amdkfd_submit_ib(kdev->kgd, KGD_ENGINE_MEC1, qpd->vmid, in flush_texture_cache_nocpsch() 275 set_pasid_vmid_mapping(dqm, 0, qpd->vmid); in deallocate_vmid() 276 dqm->vmid_pasid[qpd->vmid] = 0; in deallocate_vmid() 278 qpd->vmid = 0; in deallocate_vmid() [all …]
|
| /netbsd-src/sys/external/bsd/drm2/dist/drm/amd/display/modules/vmid/ |
| H A D | vmid.c | 46 static void add_ptb_to_table(struct core_vmid *core_vmid, unsigned int vmid, uint64_t ptb) in add_ptb_to_table() argument 48 core_vmid->ptb_assigned_to_vmid[vmid] = ptb; in add_ptb_to_table() 52 static void clear_entry_from_vmid_table(struct core_vmid *core_vmid, unsigned int vmid) in clear_entry_from_vmid_table() argument 54 core_vmid->ptb_assigned_to_vmid[vmid] = 0; in clear_entry_from_vmid_table() 99 unsigned int vmid = 0; in mod_vmid_get_for_ptb() local 105 vmid = get_existing_vmid_for_ptb(core_vmid, ptb); in mod_vmid_get_for_ptb() 107 if (vmid == -1) { in mod_vmid_get_for_ptb() 115 vmid = get_next_available_vmid(core_vmid); in mod_vmid_get_for_ptb() 116 add_ptb_to_table(core_vmid, vmid, ptb); in mod_vmid_get_for_ptb() 118 dc_setup_vm_context(core_vmid->dc, &va_config, vmid); in mod_vmid_get_for_ptb() [all …]
|
| /netbsd-src/sys/external/bsd/drm2/dist/drm/amd/display/dc/dcn20/ |
| H A D | amdgpu_dcn20_vmid.c | 37 vmid->regs->reg 40 vmid->ctx 44 vmid->shifts->field_name, vmid->masks->field_name 46 static void dcn20_wait_for_vmid_ready(struct dcn20_vmid *vmid) in dcn20_wait_for_vmid_ready() argument 78 void dcn20_vmid_setup(struct dcn20_vmid *vmid, const struct dcn_vmid_page_table_config *config) in dcn20_vmid_setup() argument 100 dcn20_wait_for_vmid_ready(vmid); in dcn20_vmid_setup()
|
| /netbsd-src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/ |
| H A D | amdgpu_gmc_v10_0.c | 169 entry->src_id, entry->ring_id, entry->vmid, in gmc_v10_0_process_interrupt() 210 static uint32_t gmc_v10_0_get_invalidate_req(unsigned int vmid, in gmc_v10_0_get_invalidate_req() argument 217 PER_VMID_INVALIDATE_REQ, 1 << vmid); in gmc_v10_0_get_invalidate_req() 247 uint8_t vmid, uint16_t *p_pasid) in gmc_v10_0_get_atc_vmid_pasid_mapping_info() argument 252 + vmid); in gmc_v10_0_get_atc_vmid_pasid_mapping_info() 265 static void gmc_v10_0_flush_vm_hub(struct amdgpu_device *adev, uint32_t vmid, in gmc_v10_0_flush_vm_hub() argument 270 u32 inv_req = gmc_v10_0_get_invalidate_req(vmid, flush_type); in gmc_v10_0_flush_vm_hub() 310 tmp &= 1 << vmid; in gmc_v10_0_flush_vm_hub() 341 static void gmc_v10_0_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, in gmc_v10_0_flush_gpu_tlb() argument 356 gmc_v10_0_flush_vm_hub(adev, vmid, AMDGPU_MMHUB_0, 0); in gmc_v10_0_flush_gpu_tlb() [all …]
|
| H A D | amdgpu_gmc.h | 95 void (*flush_gpu_tlb)(struct amdgpu_device *adev, uint32_t vmid, 101 uint64_t (*emit_flush_gpu_tlb)(struct amdgpu_ring *ring, unsigned vmid, 104 void (*emit_pasid_mapping)(struct amdgpu_ring *ring, unsigned vmid, 226 #define amdgpu_gmc_flush_gpu_tlb(adev, vmid, vmhub, type) ((adev)->gmc.gmc_funcs->flush_gpu_tlb((ad… argument 230 #define amdgpu_gmc_emit_flush_gpu_tlb(r, vmid, addr) (r)->adev->gmc.gmc_funcs->emit_flush_gpu_tlb((… argument 231 #define amdgpu_gmc_emit_pasid_mapping(r, vmid, pasid) (r)->adev->gmc.gmc_funcs->emit_pasid_mapping(… argument
|
| H A D | amdgpu_amdkfd_gfx_v9.c | 84 uint32_t queue, uint32_t vmid) in lock_srbm() argument 89 soc15_grbm_select(adev, mec, pipe, queue, vmid); in lock_srbm() 125 void kgd_gfx_v9_program_sh_mem_settings(struct kgd_dev *kgd, uint32_t vmid, in kgd_gfx_v9_program_sh_mem_settings() argument 133 lock_srbm(kgd, 0, 0, 0, vmid); in kgd_gfx_v9_program_sh_mem_settings() 143 unsigned int vmid) in kgd_gfx_v9_set_pasid_vmid_mapping() argument 163 WREG32(SOC15_REG_OFFSET(ATHUB, 0, mmATC_VMID0_PASID_MAPPING) + vmid, in kgd_gfx_v9_set_pasid_vmid_mapping() 169 (1U << vmid))) in kgd_gfx_v9_set_pasid_vmid_mapping() 174 1U << vmid); in kgd_gfx_v9_set_pasid_vmid_mapping() 177 WREG32(SOC15_REG_OFFSET(OSSSYS, 0, mmIH_VMID_0_LUT) + vmid, in kgd_gfx_v9_set_pasid_vmid_mapping() 180 WREG32(SOC15_REG_OFFSET(ATHUB, 0, mmATC_VMID16_PASID_MAPPING) + vmid, in kgd_gfx_v9_set_pasid_vmid_mapping() [all …]
|
| H A D | amdgpu_amdkfd_gfx_v7.c | 82 uint32_t vmid:4; member 123 uint32_t queue, uint32_t vmid) in lock_srbm() argument 126 uint32_t value = PIPEID(pipe) | MEID(mec) | VMID(vmid) | QUEUEID(queue); in lock_srbm() 156 static void kgd_program_sh_mem_settings(struct kgd_dev *kgd, uint32_t vmid, in kgd_program_sh_mem_settings() argument 164 lock_srbm(kgd, 0, 0, 0, vmid); in kgd_program_sh_mem_settings() 175 unsigned int vmid) in kgd_set_pasid_vmid_mapping() argument 188 WREG32(mmATC_VMID0_PASID_MAPPING + vmid, pasid_mapping); in kgd_set_pasid_vmid_mapping() 190 while (!(RREG32(mmATC_VMID_PASID_MAPPING_UPDATE_STATUS) & (1U << vmid))) in kgd_set_pasid_vmid_mapping() 192 WREG32(mmATC_VMID_PASID_MAPPING_UPDATE_STATUS, 1U << vmid); in kgd_set_pasid_vmid_mapping() 195 WREG32(mmIH_VMID_0_LUT + vmid, pasid_mapping); in kgd_set_pasid_vmid_mapping() [all …]
|
| H A D | amdgpu_amdkfd_gfx_v8.c | 80 uint32_t queue, uint32_t vmid) in lock_srbm() argument 83 uint32_t value = PIPEID(pipe) | MEID(mec) | VMID(vmid) | QUEUEID(queue); in lock_srbm() 113 static void kgd_program_sh_mem_settings(struct kgd_dev *kgd, uint32_t vmid, in kgd_program_sh_mem_settings() argument 121 lock_srbm(kgd, 0, 0, 0, vmid); in kgd_program_sh_mem_settings() 132 unsigned int vmid) in kgd_set_pasid_vmid_mapping() argument 146 WREG32(mmATC_VMID0_PASID_MAPPING + vmid, pasid_mapping); in kgd_set_pasid_vmid_mapping() 148 while (!(RREG32(mmATC_VMID_PASID_MAPPING_UPDATE_STATUS) & (1U << vmid))) in kgd_set_pasid_vmid_mapping() 150 WREG32(mmATC_VMID_PASID_MAPPING_UPDATE_STATUS, 1U << vmid); in kgd_set_pasid_vmid_mapping() 153 WREG32(mmIH_VMID_0_LUT + vmid, pasid_mapping); in kgd_set_pasid_vmid_mapping() 585 uint8_t vmid, uint16_t *p_pasid) in get_atc_vmid_pasid_mapping_info() argument [all …]
|
| H A D | amdgpu_amdkfd_gfx_v10.c | 88 uint32_t queue, uint32_t vmid) in lock_srbm() argument 93 nv_grbm_select(adev, mec, pipe, queue, vmid); in lock_srbm() 129 static void kgd_program_sh_mem_settings(struct kgd_dev *kgd, uint32_t vmid, in kgd_program_sh_mem_settings() argument 137 lock_srbm(kgd, 0, 0, 0, vmid); in kgd_program_sh_mem_settings() 147 unsigned int vmid) in kgd_set_pasid_vmid_mapping() argument 161 pr_debug("pasid 0x%x vmid %d, reg value %x\n", pasid, vmid, pasid_mapping); in kgd_set_pasid_vmid_mapping() 163 pr_debug("ATHUB, reg %x\n", SOC15_REG_OFFSET(ATHUB, 0, mmATC_VMID0_PASID_MAPPING) + vmid); in kgd_set_pasid_vmid_mapping() 164 WREG32(SOC15_REG_OFFSET(ATHUB, 0, mmATC_VMID0_PASID_MAPPING) + vmid, in kgd_set_pasid_vmid_mapping() 172 (1U << vmid))) in kgd_set_pasid_vmid_mapping() 178 1U << vmid); in kgd_set_pasid_vmid_mapping() [all …]
|
| H A D | amdgpu_gmc_v9_0.c | 361 entry->src_id, entry->ring_id, entry->vmid, in gmc_v9_0_process_interrupt() 414 static uint32_t gmc_v9_0_get_invalidate_req(unsigned int vmid, in gmc_v9_0_get_invalidate_req() argument 420 PER_VMID_INVALIDATE_REQ, 1 << vmid); in gmc_v9_0_get_invalidate_req() 452 uint8_t vmid, uint16_t *p_pasid) in gmc_v9_0_get_atc_vmid_pasid_mapping_info() argument 457 + vmid); in gmc_v9_0_get_atc_vmid_pasid_mapping_info() 479 static void gmc_v9_0_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, in gmc_v9_0_flush_gpu_tlb() argument 490 inv_req = gmc_v9_0_get_invalidate_req(vmid, flush_type); in gmc_v9_0_flush_gpu_tlb() 502 1 << vmid); in gmc_v9_0_flush_gpu_tlb() 540 if (tmp & (1 << vmid)) in gmc_v9_0_flush_gpu_tlb() 573 int vmid, i; in gmc_v9_0_flush_gpu_tlb_pasid() local [all …]
|
| H A D | amdgpu_trace.h | 86 __field(unsigned, vmid) 98 __entry->vmid = iv->vmid; 111 __entry->ring_id, __entry->vmid, 226 __field(u32, vmid) 235 __entry->vmid = job->vmid; 241 __entry->pasid, __get_str(ring), __entry->vmid, 374 TP_PROTO(struct amdgpu_ring *ring, unsigned vmid, 376 TP_ARGS(ring, vmid, pd_addr), 379 __field(u32, vmid) 386 __entry->vmid = vmid; [all …]
|
| H A D | amdgpu_gmc_v7_0.c | 443 int vmid; in gmc_v7_0_flush_gpu_tlb_pasid() local 449 for (vmid = 1; vmid < 16; vmid++) { in gmc_v7_0_flush_gpu_tlb_pasid() 451 tmp = RREG32(mmATC_VMID0_PASID_MAPPING + vmid); in gmc_v7_0_flush_gpu_tlb_pasid() 454 WREG32(mmVM_INVALIDATE_REQUEST, 1 << vmid); in gmc_v7_0_flush_gpu_tlb_pasid() 478 static void gmc_v7_0_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, in gmc_v7_0_flush_gpu_tlb() argument 482 WREG32(mmVM_INVALIDATE_REQUEST, 1 << vmid); in gmc_v7_0_flush_gpu_tlb() 486 unsigned vmid, uint64_t pd_addr) in gmc_v7_0_emit_flush_gpu_tlb() argument 490 if (vmid < 8) in gmc_v7_0_emit_flush_gpu_tlb() 491 reg = mmVM_CONTEXT0_PAGE_TABLE_BASE_ADDR + vmid; in gmc_v7_0_emit_flush_gpu_tlb() 493 reg = mmVM_CONTEXT8_PAGE_TABLE_BASE_ADDR + vmid - 8; in gmc_v7_0_emit_flush_gpu_tlb() [all …]
|
| H A D | amdgpu_gmc_v8_0.c | 644 int vmid; in gmc_v8_0_flush_gpu_tlb_pasid() local 650 for (vmid = 1; vmid < 16; vmid++) { in gmc_v8_0_flush_gpu_tlb_pasid() 652 tmp = RREG32(mmATC_VMID0_PASID_MAPPING + vmid); in gmc_v8_0_flush_gpu_tlb_pasid() 655 WREG32(mmVM_INVALIDATE_REQUEST, 1 << vmid); in gmc_v8_0_flush_gpu_tlb_pasid() 680 static void gmc_v8_0_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, in gmc_v8_0_flush_gpu_tlb() argument 684 WREG32(mmVM_INVALIDATE_REQUEST, 1 << vmid); in gmc_v8_0_flush_gpu_tlb() 688 unsigned vmid, uint64_t pd_addr) in gmc_v8_0_emit_flush_gpu_tlb() argument 692 if (vmid < 8) in gmc_v8_0_emit_flush_gpu_tlb() 693 reg = mmVM_CONTEXT0_PAGE_TABLE_BASE_ADDR + vmid; in gmc_v8_0_emit_flush_gpu_tlb() 695 reg = mmVM_CONTEXT8_PAGE_TABLE_BASE_ADDR + vmid - 8; in gmc_v8_0_emit_flush_gpu_tlb() [all …]
|
| H A D | amdgpu_amdkfd_gfx_v9.h | 27 void kgd_gfx_v9_program_sh_mem_settings(struct kgd_dev *kgd, uint32_t vmid, 32 unsigned int vmid); 64 uint8_t vmid, uint16_t *p_pasid);
|
| H A D | amdgpu_jpeg_v1_0.c | 298 unsigned vmid = AMDGPU_JOB_GET_VMID(job); in jpeg_v1_0_decode_ring_emit_ib() local 302 amdgpu_ring_write(ring, (vmid | (vmid << 4))); in jpeg_v1_0_decode_ring_emit_ib() 306 amdgpu_ring_write(ring, (vmid | (vmid << 4))); in jpeg_v1_0_decode_ring_emit_ib() 376 unsigned vmid, uint64_t pd_addr) in jpeg_v1_0_decode_ring_emit_vm_flush() argument 381 pd_addr = amdgpu_gmc_emit_flush_gpu_tlb(ring, vmid, pd_addr); in jpeg_v1_0_decode_ring_emit_vm_flush() 384 data0 = hub->ctx0_ptb_addr_lo32 + vmid * 2; in jpeg_v1_0_decode_ring_emit_vm_flush()
|
| H A D | amdgpu_amdkfd_arcturus.c | 292 static void kgd_set_vm_context_page_table_base(struct kgd_dev *kgd, uint32_t vmid, in kgd_set_vm_context_page_table_base() argument 297 if (!amdgpu_amdkfd_is_kfd_vmid(adev, vmid)) { in kgd_set_vm_context_page_table_base() 299 vmid); in kgd_set_vm_context_page_table_base() 303 mmhub_v9_4_setup_vm_pt_regs(adev, vmid, page_table_base); in kgd_set_vm_context_page_table_base() 305 gfxhub_v1_0_setup_vm_pt_regs(adev, vmid, page_table_base); in kgd_set_vm_context_page_table_base()
|
| H A D | amdgpu_jpeg_v2_0.c | 556 unsigned vmid = AMDGPU_JOB_GET_VMID(job); in jpeg_v2_0_dec_ring_emit_ib() local 560 amdgpu_ring_write(ring, (vmid | (vmid << 4))); in jpeg_v2_0_dec_ring_emit_ib() 564 amdgpu_ring_write(ring, (vmid | (vmid << 4))); in jpeg_v2_0_dec_ring_emit_ib() 630 unsigned vmid, uint64_t pd_addr) in jpeg_v2_0_dec_ring_emit_vm_flush() argument 635 pd_addr = amdgpu_gmc_emit_flush_gpu_tlb(ring, vmid, pd_addr); in jpeg_v2_0_dec_ring_emit_vm_flush() 638 data0 = hub->ctx0_ptb_addr_lo32 + vmid * 2; in jpeg_v2_0_dec_ring_emit_vm_flush()
|
| H A D | amdgpu_amdkfd.c | 567 uint32_t vmid, uint64_t gpu_addr, in amdgpu_amdkfd_submit_ib() argument 604 job->vmid = vmid; in amdgpu_amdkfd_submit_ib() 630 bool amdgpu_amdkfd_is_kfd_vmid(struct amdgpu_device *adev, u32 vmid) in amdgpu_amdkfd_is_kfd_vmid() argument 633 if ((1 << vmid) & compute_vmid_bitmap) in amdgpu_amdkfd_is_kfd_vmid() 640 int amdgpu_amdkfd_flush_gpu_tlb_vmid(struct kgd_dev *kgd, uint16_t vmid) in amdgpu_amdkfd_flush_gpu_tlb_vmid() argument 648 amdgpu_gmc_flush_gpu_tlb(adev, vmid, i, 0); in amdgpu_amdkfd_flush_gpu_tlb_vmid() 650 amdgpu_gmc_flush_gpu_tlb(adev, vmid, AMDGPU_GFXHUB_0, 0); in amdgpu_amdkfd_flush_gpu_tlb_vmid()
|
| H A D | amdgpu_ring.h | 143 void (*emit_vm_flush)(struct amdgpu_ring *ring, unsigned vmid, 146 void (*emit_gds_switch)(struct amdgpu_ring *ring, uint32_t vmid, 178 void (*soft_recovery)(struct amdgpu_ring *ring, unsigned vmid); 244 #define amdgpu_ring_emit_vm_flush(r, vmid, addr) (r)->funcs->emit_vm_flush((r), (vmid), (addr)) argument 276 bool amdgpu_ring_soft_recovery(struct amdgpu_ring *ring, unsigned int vmid,
|
| H A D | amdgpu_gmc_v6_0.c | 374 static void gmc_v6_0_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, in gmc_v6_0_flush_gpu_tlb() argument 377 WREG32(mmVM_INVALIDATE_REQUEST, 1 << vmid); in gmc_v6_0_flush_gpu_tlb() 381 unsigned vmid, uint64_t pd_addr) in gmc_v6_0_emit_flush_gpu_tlb() argument 386 if (vmid < 8) in gmc_v6_0_emit_flush_gpu_tlb() 387 reg = mmVM_CONTEXT0_PAGE_TABLE_BASE_ADDR + vmid; in gmc_v6_0_emit_flush_gpu_tlb() 389 reg = mmVM_CONTEXT8_PAGE_TABLE_BASE_ADDR + (vmid - 8); in gmc_v6_0_emit_flush_gpu_tlb() 393 amdgpu_ring_emit_wreg(ring, mmVM_INVALIDATE_REQUEST, 1 << vmid); in gmc_v6_0_emit_flush_gpu_tlb() 637 u32 vmid = REG_GET_FIELD(status, VM_CONTEXT1_PROTECTION_FAULT_STATUS, VMID); in gmc_v6_0_vm_decode_fault() local 647 protections, vmid, addr, in gmc_v6_0_vm_decode_fault()
|
| /netbsd-src/sys/external/bsd/drm2/dist/drm/amd/include/ |
| H A D | kgd_kfd_interface.h | 53 uint32_t vmid; member 247 void (*program_sh_mem_settings)(struct kgd_dev *kgd, uint32_t vmid, 252 unsigned int vmid); 306 uint8_t vmid, 314 uint64_t va, uint32_t vmid); 319 uint32_t vmid, uint64_t page_table_base);
|
| /netbsd-src/sys/external/bsd/drm2/dist/drm/radeon/ |
| H A D | radeon_trace.h | 53 TP_PROTO(unsigned vmid, int ring), 54 TP_ARGS(vmid, ring), 56 __field(u32, vmid) 61 __entry->vmid = vmid; 64 TP_printk("vmid=%u, ring=%u", __entry->vmid, __entry->ring)
|