/src/sys/external/bsd/drm2/dist/drm/amd/amdkfd/ |
kfd_dbgmgr.c | 56 pmgr->pasid = 0; 82 new_buff->pasid = 0; 103 if (pmgr->pasid != 0) { 104 pr_debug("H/W debugger is already active using pasid 0x%x\n", 105 pmgr->pasid); 109 /* remember pasid */ 110 pmgr->pasid = p->pasid; 124 if (pmgr->pasid != p->pasid) { [all...] |
kfd_dbgmgr.c | 56 pmgr->pasid = 0; 82 new_buff->pasid = 0; 103 if (pmgr->pasid != 0) { 104 pr_debug("H/W debugger is already active using pasid 0x%x\n", 105 pmgr->pasid); 109 /* remember pasid */ 110 pmgr->pasid = p->pasid; 124 if (pmgr->pasid != p->pasid) { [all...] |
kfd_dbgmgr.c | 56 pmgr->pasid = 0; 82 new_buff->pasid = 0; 103 if (pmgr->pasid != 0) { 104 pr_debug("H/W debugger is already active using pasid 0x%x\n", 105 pmgr->pasid); 109 /* remember pasid */ 110 pmgr->pasid = p->pasid; 124 if (pmgr->pasid != p->pasid) { [all...] |
kfd_dbgmgr.c | 56 pmgr->pasid = 0; 82 new_buff->pasid = 0; 103 if (pmgr->pasid != 0) { 104 pr_debug("H/W debugger is already active using pasid 0x%x\n", 105 pmgr->pasid); 109 /* remember pasid */ 110 pmgr->pasid = p->pasid; 124 if (pmgr->pasid != p->pasid) { [all...] |
cik_event_interrupt.c | 42 uint16_t pasid; local in function:cik_event_interrupt_isr 46 * VMID and PASID are not written into ih_ring_entry 58 ret = f2g->get_atc_vmid_pasid_mapping_info(dev->kgd, vmid, &pasid); 62 tmp_ihre->ring_id |= pasid << 16; 64 return ret && (pasid != 0) && 75 /* If there is no valid PASID, it's likely a firmware bug */ 76 pasid = (ihre->ring_id & 0xffff0000) >> 16; 77 if (WARN_ONCE(pasid == 0, "FW bug: No PASID in KFD interrupt")) 98 unsigned int pasid = (ihre->ring_id & 0xffff0000) >> 16 local in function:cik_event_interrupt_wq [all...] |
kfd_int_process_v9.c | 38 uint16_t source_id, client_id, pasid, vmid; local in function:event_interrupt_isr_v9 49 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); 51 /* This is a known issue for gfx9. Under non HWS, pasid is not set 52 * in the interrupt payload, so we need to find out the pasid on our 55 if (!pasid && dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) { 62 pasid = dev->dqm->vmid_pasid[vmid]; 64 /* Patch the pasid field */ 66 & ~pasid_mask) | pasid); 69 pr_debug("client id 0x%x, source id %d, vmid %d, pasid 0x%x. raw data:\n", 70 client_id, source_id, vmid, pasid); 94 uint16_t source_id, client_id, pasid, vmid; local in function:event_interrupt_wq_v9 [all...] |
cik_event_interrupt.c | 42 uint16_t pasid; local in function:cik_event_interrupt_isr 46 * VMID and PASID are not written into ih_ring_entry 58 ret = f2g->get_atc_vmid_pasid_mapping_info(dev->kgd, vmid, &pasid); 62 tmp_ihre->ring_id |= pasid << 16; 64 return ret && (pasid != 0) && 75 /* If there is no valid PASID, it's likely a firmware bug */ 76 pasid = (ihre->ring_id & 0xffff0000) >> 16; 77 if (WARN_ONCE(pasid == 0, "FW bug: No PASID in KFD interrupt")) 98 unsigned int pasid = (ihre->ring_id & 0xffff0000) >> 16 local in function:cik_event_interrupt_wq [all...] |
kfd_int_process_v9.c | 38 uint16_t source_id, client_id, pasid, vmid; local in function:event_interrupt_isr_v9 49 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); 51 /* This is a known issue for gfx9. Under non HWS, pasid is not set 52 * in the interrupt payload, so we need to find out the pasid on our 55 if (!pasid && dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) { 62 pasid = dev->dqm->vmid_pasid[vmid]; 64 /* Patch the pasid field */ 66 & ~pasid_mask) | pasid); 69 pr_debug("client id 0x%x, source id %d, vmid %d, pasid 0x%x. raw data:\n", 70 client_id, source_id, vmid, pasid); 94 uint16_t source_id, client_id, pasid, vmid; local in function:event_interrupt_wq_v9 [all...] |
cik_event_interrupt.c | 42 uint16_t pasid; local in function:cik_event_interrupt_isr 46 * VMID and PASID are not written into ih_ring_entry 58 ret = f2g->get_atc_vmid_pasid_mapping_info(dev->kgd, vmid, &pasid); 62 tmp_ihre->ring_id |= pasid << 16; 64 return ret && (pasid != 0) && 75 /* If there is no valid PASID, it's likely a firmware bug */ 76 pasid = (ihre->ring_id & 0xffff0000) >> 16; 77 if (WARN_ONCE(pasid == 0, "FW bug: No PASID in KFD interrupt")) 98 unsigned int pasid = (ihre->ring_id & 0xffff0000) >> 16 local in function:cik_event_interrupt_wq [all...] |
kfd_int_process_v9.c | 38 uint16_t source_id, client_id, pasid, vmid; local in function:event_interrupt_isr_v9 49 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); 51 /* This is a known issue for gfx9. Under non HWS, pasid is not set 52 * in the interrupt payload, so we need to find out the pasid on our 55 if (!pasid && dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) { 62 pasid = dev->dqm->vmid_pasid[vmid]; 64 /* Patch the pasid field */ 66 & ~pasid_mask) | pasid); 69 pr_debug("client id 0x%x, source id %d, vmid %d, pasid 0x%x. raw data:\n", 70 client_id, source_id, vmid, pasid); 94 uint16_t source_id, client_id, pasid, vmid; local in function:event_interrupt_wq_v9 [all...] |
cik_event_interrupt.c | 42 uint16_t pasid; local in function:cik_event_interrupt_isr 46 * VMID and PASID are not written into ih_ring_entry 58 ret = f2g->get_atc_vmid_pasid_mapping_info(dev->kgd, vmid, &pasid); 62 tmp_ihre->ring_id |= pasid << 16; 64 return ret && (pasid != 0) && 75 /* If there is no valid PASID, it's likely a firmware bug */ 76 pasid = (ihre->ring_id & 0xffff0000) >> 16; 77 if (WARN_ONCE(pasid == 0, "FW bug: No PASID in KFD interrupt")) 98 unsigned int pasid = (ihre->ring_id & 0xffff0000) >> 16 local in function:cik_event_interrupt_wq [all...] |
kfd_int_process_v9.c | 38 uint16_t source_id, client_id, pasid, vmid; local in function:event_interrupt_isr_v9 49 pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry); 51 /* This is a known issue for gfx9. Under non HWS, pasid is not set 52 * in the interrupt payload, so we need to find out the pasid on our 55 if (!pasid && dev->dqm->sched_policy == KFD_SCHED_POLICY_NO_HWS) { 62 pasid = dev->dqm->vmid_pasid[vmid]; 64 /* Patch the pasid field */ 66 & ~pasid_mask) | pasid); 69 pr_debug("client id 0x%x, source id %d, vmid %d, pasid 0x%x. raw data:\n", 70 client_id, source_id, vmid, pasid); 94 uint16_t source_id, client_id, pasid, vmid; local in function:event_interrupt_wq_v9 [all...] |
kfd_pasid.c | 85 void kfd_pasid_free(unsigned int pasid) 88 amdgpu_pasid_free(pasid);
|
kfd_pasid.c | 85 void kfd_pasid_free(unsigned int pasid) 88 amdgpu_pasid_free(pasid);
|
kfd_pasid.c | 85 void kfd_pasid_free(unsigned int pasid) 88 amdgpu_pasid_free(pasid);
|
kfd_pasid.c | 85 void kfd_pasid_free(unsigned int pasid) 88 amdgpu_pasid_free(pasid);
|
kfd_iommu.c | 84 "error required iommu flags ats %i, pri %i, pasid %i\n", 97 dev_err(kfd_device, "error setting pasid limit\n"); 106 * Binds the given process to the given device using its PASID. This 125 err = amd_iommu_bind_pasid(dev->pdev, p->pasid, p->lead_thread); 143 amd_iommu_unbind_pasid(pdd->dev->pdev, p->pasid); 147 static void iommu_pasid_shutdown_callback(struct pci_dev *pdev, int pasid) 157 * Look for the process that matches the pasid. If there is no such 161 p = kfd_lookup_process_by_pasid(pasid); 165 pr_debug("Unbinding process 0x%x from IOMMU\n", pasid); 169 if (dev->dbgmgr && dev->dbgmgr->pasid == p->pasid) [all...] |
kfd_iommu.c | 84 "error required iommu flags ats %i, pri %i, pasid %i\n", 97 dev_err(kfd_device, "error setting pasid limit\n"); 106 * Binds the given process to the given device using its PASID. This 125 err = amd_iommu_bind_pasid(dev->pdev, p->pasid, p->lead_thread); 143 amd_iommu_unbind_pasid(pdd->dev->pdev, p->pasid); 147 static void iommu_pasid_shutdown_callback(struct pci_dev *pdev, int pasid) 157 * Look for the process that matches the pasid. If there is no such 161 p = kfd_lookup_process_by_pasid(pasid); 165 pr_debug("Unbinding process 0x%x from IOMMU\n", pasid); 169 if (dev->dbgmgr && dev->dbgmgr->pasid == p->pasid) [all...] |
kfd_iommu.c | 84 "error required iommu flags ats %i, pri %i, pasid %i\n", 97 dev_err(kfd_device, "error setting pasid limit\n"); 106 * Binds the given process to the given device using its PASID. This 125 err = amd_iommu_bind_pasid(dev->pdev, p->pasid, p->lead_thread); 143 amd_iommu_unbind_pasid(pdd->dev->pdev, p->pasid); 147 static void iommu_pasid_shutdown_callback(struct pci_dev *pdev, int pasid) 157 * Look for the process that matches the pasid. If there is no such 161 p = kfd_lookup_process_by_pasid(pasid); 165 pr_debug("Unbinding process 0x%x from IOMMU\n", pasid); 169 if (dev->dbgmgr && dev->dbgmgr->pasid == p->pasid) [all...] |
kfd_iommu.c | 84 "error required iommu flags ats %i, pri %i, pasid %i\n", 97 dev_err(kfd_device, "error setting pasid limit\n"); 106 * Binds the given process to the given device using its PASID. This 125 err = amd_iommu_bind_pasid(dev->pdev, p->pasid, p->lead_thread); 143 amd_iommu_unbind_pasid(pdd->dev->pdev, p->pasid); 147 static void iommu_pasid_shutdown_callback(struct pci_dev *pdev, int pasid) 157 * Look for the process that matches the pasid. If there is no such 161 p = kfd_lookup_process_by_pasid(pasid); 165 pr_debug("Unbinding process 0x%x from IOMMU\n", pasid); 169 if (dev->dbgmgr && dev->dbgmgr->pasid == p->pasid) [all...] |
/src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/ |
amdgpu_ids.h | 63 unsigned pasid; member in struct:amdgpu_vmid 76 void amdgpu_pasid_free(unsigned int pasid); 78 unsigned int pasid);
|
amdgpu_ids.h | 63 unsigned pasid; member in struct:amdgpu_vmid 76 void amdgpu_pasid_free(unsigned int pasid); 78 unsigned int pasid);
|
amdgpu_ids.h | 63 unsigned pasid; member in struct:amdgpu_vmid 76 void amdgpu_pasid_free(unsigned int pasid); 78 unsigned int pasid);
|
amdgpu_ids.h | 63 unsigned pasid; member in struct:amdgpu_vmid 76 void amdgpu_pasid_free(unsigned int pasid); 78 unsigned int pasid);
|
amdgpu_ids.c | 40 * PASID manager 44 * may use the same PASID if they share the same address 46 * looked up from the PASID per amdgpu_device. 54 /* Helper to free pasid from a fence callback */ 57 unsigned int pasid; member in struct:amdgpu_pasid_cb 61 * amdgpu_pasid_alloc - Allocate a PASID 62 * @bits: Maximum width of the PASID in bits, must be at least 1 64 * Allocates a PASID of the given width while keeping smaller PASIDs 68 * Returns %-ENOSPC if no PASID was available. Returns %-ENOMEM on 73 int pasid = -EINVAL local in function:amdgpu_pasid_alloc [all...] |