Lines Matching refs:iommu
242 if (bus_get_domain(sc->iommu.dev, &dom) == 0) in amdiommu_create_dev_tbl()
316 msi_count = pci_msi_count(sc->iommu.dev); in amdiommu_setup_intr()
317 msix_count = pci_msix_count(sc->iommu.dev); in amdiommu_setup_intr()
319 device_printf(sc->iommu.dev, "needs MSI-class intr\n"); in amdiommu_setup_intr()
330 sc->msix_table = bus_alloc_resource_any(sc->iommu.dev, in amdiommu_setup_intr()
337 sc->msix_pba = bus_alloc_resource_any(sc->iommu.dev, in amdiommu_setup_intr()
341 bus_release_resource(sc->iommu.dev, in amdiommu_setup_intr()
352 error = pci_alloc_msix(sc->iommu.dev, &msix_count); in amdiommu_setup_intr()
357 error = pci_alloc_msi(sc->iommu.dev, &msi_count); in amdiommu_setup_intr()
362 device_printf(sc->iommu.dev, in amdiommu_setup_intr()
376 sc->irq_cmdev_rid += pci_read_config(sc->iommu.dev, in amdiommu_setup_intr()
381 sc->irq_cmdev = bus_alloc_resource_any(sc->iommu.dev, SYS_RES_IRQ, in amdiommu_setup_intr()
384 device_printf(sc->iommu.dev, in amdiommu_setup_intr()
388 error = bus_setup_intr(sc->iommu.dev, sc->irq_cmdev, in amdiommu_setup_intr()
392 device_printf(sc->iommu.dev, in amdiommu_setup_intr()
396 bus_describe_intr(sc->iommu.dev, sc->irq_cmdev, sc->irq_cmdev_cookie, in amdiommu_setup_intr()
452 sc->iommu.unit = device_get_unit(dev); in amdiommu_attach()
453 sc->iommu.dev = dev; in amdiommu_attach()
476 mtx_init(&sc->iommu.lock, "amdihw", NULL, MTX_DEF); in amdiommu_attach()
477 sc->domids = new_unrhdr(0, 0xffff, &sc->iommu.lock); in amdiommu_attach()
479 sysctl_ctx_init(&sc->iommu.sysctl_ctx); in amdiommu_attach()
563 iommu_fini_busdma(&sc->iommu); in amdiommu_attach()
577 sysctl_ctx_free(&sc->iommu.sysctl_ctx); in amdiommu_attach()
579 mtx_destroy(&sc->iommu.lock); in amdiommu_attach()
851 error = device_get_prop(dev, device_get_nameunit(unit->iommu.dev), in amdiommu_dev_fetch_flagsp()
855 device_set_prop(dev, device_get_nameunit(unit->iommu.dev), in amdiommu_dev_fetch_flagsp()
932 iommu_device_set_iommu_prop(dev, unit->iommu.dev); in amdiommu_find_unit()
946 unit->iommu.unit, ifu.rid_real, ifu.dte, ifu.edte); in amdiommu_find_unit()
981 iommu_device_set_iommu_prop(apic_dev, unit->iommu.dev); in amdiommu_find_unit_for_ioapic()
998 unit->iommu.unit, apic_id, ifu.rid_real, ifu.dte, in amdiommu_find_unit_for_ioapic()
1039 iommu_device_set_iommu_prop(hpet, unit->iommu.dev); in amdiommu_find_unit_for_hpet()
1049 unit->iommu.unit, hpet_no, ifu.rid_real, ifu.dte, in amdiommu_find_unit_for_hpet()
1072 return (&unit->iommu); in amdiommu_find_method()
1078 struct amdiommu_unit *iommu; in amdiommu_get_x86_common() local
1080 iommu = IOMMU2AMD(unit); in amdiommu_get_x86_common()
1081 return (&iommu->x86c); in amdiommu_get_x86_common()
1148 unit->iommu.unit, unit, (uintmax_t)unit->mmio_base, in amdiommu_print_one()