Lines Matching defs:devid
140 amdvi_find_ats_qlen(uint16_t devid)
146 dev = pci_find_bsf(PCI_RID2BUS(devid), PCI_RID2SLOT(devid),
147 PCI_RID2FUNC(devid));
159 RID2PCI_STR(devid),
172 amdvi_dev_support_iotlb(struct amdvi_softc *softc, uint16_t devid)
178 qlen = amdvi_find_ats_qlen(devid);
187 if ((cfg->start_id <= devid) && (cfg->end_id >= devid)) {
198 "ATS inv qlen = %d\n", RID2PCI_STR(devid), qlen);
332 amdvi_cmd_inv_dte(struct amdvi_softc *softc, uint16_t devid)
339 cmd->word0 = devid;
342 device_printf(softc->dev, "Invalidated DTE:0x%x\n", devid);
372 amdvi_cmd_inv_iotlb(struct amdvi_softc *softc, uint16_t devid)
380 qlen = amdvi_find_ats_qlen(devid);
383 qlen, RID2PCI_STR(devid));
390 " Qlen:%d\n", devid, qlen);
393 cmd->word0 = devid;
404 uint16_t devid)
411 cmd->word0 = devid;
414 device_printf(softc->dev, "Invalidate INTR map of devID 0x%x\n", devid);
586 amdvi_decode_inv_dte_evt(uint16_t devid, uint16_t domid, uint64_t addr,
592 devid, domid, addr);
597 amdvi_decode_pf_evt(uint16_t devid, uint16_t domid, uint64_t addr,
603 devid, domid, addr);
608 amdvi_decode_dte_hwerr_evt(uint16_t devid, uint16_t domid,
613 " Addr:0x%lx", devid, domid, addr);
619 amdvi_decode_page_hwerr_evt(uint16_t devid, uint16_t domid, uint64_t addr,
624 " Addr:0x%lx", devid, domid, addr);
636 amdvi_decode_inv_dte_evt(evt->devid, evt->pasid_domid,
641 amdvi_decode_pf_evt(evt->devid, evt->pasid_domid,
646 amdvi_decode_dte_hwerr_evt(evt->devid, evt->pasid_domid,
651 amdvi_decode_page_hwerr_evt(evt->devid, evt->pasid_domid,
666 printf("\t[IOTLB_INV_TIMEOUT devid:0x%x addr:0x%lx]\n",
667 evt->devid, evt->addr);
671 printf("\t[INV_DTE devid:0x%x addr:0x%lx type:0x%x tr:%d]\n",
672 evt->devid, evt->addr, evt->flag >> 9,
1198 amdvi_find_iommu(uint16_t devid)
1206 if ((devid >= softc->dev_cfg[j].start_id) &&
1207 (devid <= softc->dev_cfg[j].end_id))
1221 uint16_t devid, bool enable)
1225 KASSERT(domain, ("domain is NULL for pci_rid:0x%x\n", devid));
1226 KASSERT(softc, ("softc is NULL for pci_rid:0x%x\n", devid));
1228 temp = &amdvi_dte[devid];
1232 if (amdvi_dev_support_iotlb(softc, devid) && softc->iotlb)
1259 amdvi_inv_device(struct amdvi_softc *softc, uint16_t devid)
1263 amdvi_cmd_inv_dte(softc, devid);
1265 if (amdvi_dev_support_iotlb(softc, devid))
1266 amdvi_cmd_inv_iotlb(softc, devid);
1272 amdvi_add_device(void *arg, uint16_t devid)
1281 RID2PCI_STR(devid), domain->id);
1283 softc = amdvi_find_iommu(devid);
1286 amdvi_set_dte(domain, softc, devid, true);
1287 amdvi_inv_device(softc, devid);
1291 amdvi_remove_device(void *arg, uint16_t devid)
1299 devid, domain->id);
1301 softc = amdvi_find_iommu(devid);
1304 amdvi_set_dte(domain, softc, devid, false);
1305 amdvi_inv_device(softc, devid);