drhd 64 drivers/iommu/dmar.c static int alloc_iommu(struct dmar_drhd_unit *drhd); drhd 69 drivers/iommu/dmar.c static void dmar_register_drhd_unit(struct dmar_drhd_unit *drhd) drhd 75 drivers/iommu/dmar.c if (drhd->include_all) drhd 76 drivers/iommu/dmar.c list_add_tail_rcu(&drhd->list, &dmar_drhd_units); drhd 78 drivers/iommu/dmar.c list_add_rcu(&drhd->list, &dmar_drhd_units); drhd 299 drivers/iommu/dmar.c struct acpi_dmar_hardware_unit *drhd; drhd 305 drivers/iommu/dmar.c drhd = container_of(dmaru->hdr, drhd 307 drivers/iommu/dmar.c ret = dmar_insert_dev_scope(info, (void *)(drhd + 1), drhd 308 drivers/iommu/dmar.c ((void *)drhd) + drhd->header.length, drhd 370 drivers/iommu/dmar.c dmar_find_dmaru(struct acpi_dmar_hardware_unit *drhd) drhd 376 drivers/iommu/dmar.c if (dmaru->segment == drhd->segment && drhd 377 drivers/iommu/dmar.c dmaru->reg_base_addr == drhd->address) drhd 390 drivers/iommu/dmar.c struct acpi_dmar_hardware_unit *drhd; drhd 394 drivers/iommu/dmar.c drhd = (struct acpi_dmar_hardware_unit *)header; drhd 395 drivers/iommu/dmar.c dmaru = dmar_find_dmaru(drhd); drhd 409 drivers/iommu/dmar.c dmaru->reg_base_addr = drhd->address; drhd 410 drivers/iommu/dmar.c dmaru->segment = drhd->segment; drhd 411 drivers/iommu/dmar.c dmaru->include_all = drhd->flags & 0x1; /* BIT0: INCLUDE_ALL */ drhd 412 drivers/iommu/dmar.c dmaru->devices = dmar_alloc_dev_scope((void *)(drhd + 1), drhd 413 drivers/iommu/dmar.c ((void *)drhd) + drhd->header.length, drhd 471 drivers/iommu/dmar.c struct dmar_drhd_unit *drhd; drhd 474 drivers/iommu/dmar.c for_each_drhd_unit(drhd) { drhd 475 drivers/iommu/dmar.c if (drhd->reg_base_addr == rhsa->base_address) { drhd 480 drivers/iommu/dmar.c drhd->iommu->node = node; drhd 502 drivers/iommu/dmar.c struct acpi_dmar_hardware_unit *drhd; drhd 509 drivers/iommu/dmar.c drhd = container_of(header, struct acpi_dmar_hardware_unit, drhd 512 drivers/iommu/dmar.c (unsigned long long)drhd->address, drhd->flags); drhd 675 drivers/iommu/dmar.c struct acpi_dmar_hardware_unit *drhd; drhd 681 drivers/iommu/dmar.c drhd = container_of(dmaru->hdr, drhd 686 drivers/iommu/dmar.c drhd->segment == pci_domain_nr(dev->bus)) drhd 704 drivers/iommu/dmar.c struct acpi_dmar_hardware_unit *drhd; drhd 711 drivers/iommu/dmar.c drhd = container_of(dmaru->hdr, drhd 715 drivers/iommu/dmar.c for (scope = (void *)(drhd + 1); drhd 716 drivers/iommu/dmar.c (unsigned long)scope < ((unsigned long)drhd) + drhd->header.length; drhd 853 drivers/iommu/dmar.c struct acpi_dmar_hardware_unit *drhd; drhd 857 drivers/iommu/dmar.c drhd = (void *)entry; drhd 858 drivers/iommu/dmar.c if (!drhd->address) { drhd 864 drivers/iommu/dmar.c addr = ioremap(drhd->address, VTD_PAGE_SIZE); drhd 866 drivers/iommu/dmar.c addr = early_ioremap(drhd->address, VTD_PAGE_SIZE); drhd 868 drivers/iommu/dmar.c pr_warn("Can't validate DRHD address: %llx\n", drhd->address); drhd 881 drivers/iommu/dmar.c warn_invalid_dmar(drhd->address, " returns all ones"); drhd 1018 drivers/iommu/dmar.c static int alloc_iommu(struct dmar_drhd_unit *drhd) drhd 1026 drivers/iommu/dmar.c if (!drhd->reg_base_addr) { drhd 1041 drivers/iommu/dmar.c err = map_iommu(iommu, drhd->reg_base_addr); drhd 1062 drivers/iommu/dmar.c iommu->segment = drhd->segment; drhd 1069 drivers/iommu/dmar.c (unsigned long long)drhd->reg_base_addr, drhd 1099 drivers/iommu/dmar.c drhd->iommu = iommu; drhd 1812 drivers/iommu/dmar.c struct dmar_drhd_unit *drhd; drhd 1818 drivers/iommu/dmar.c for_each_iommu(iommu, drhd) { drhd 1824 drivers/iommu/dmar.c (unsigned long long)drhd->reg_base_addr, ret); drhd 111 drivers/iommu/intel-iommu-debugfs.c struct dmar_drhd_unit *drhd; drhd 118 drivers/iommu/intel-iommu-debugfs.c for_each_active_iommu(iommu, drhd) { drhd 119 drivers/iommu/intel-iommu-debugfs.c if (!drhd->reg_base_addr) { drhd 126 drivers/iommu/intel-iommu-debugfs.c iommu->name, drhd->reg_base_addr); drhd 282 drivers/iommu/intel-iommu-debugfs.c struct dmar_drhd_unit *drhd; drhd 287 drivers/iommu/intel-iommu-debugfs.c for_each_active_iommu(iommu, drhd) { drhd 360 drivers/iommu/intel-iommu-debugfs.c struct dmar_drhd_unit *drhd; drhd 366 drivers/iommu/intel-iommu-debugfs.c for_each_active_iommu(iommu, drhd) { drhd 386 drivers/iommu/intel-iommu-debugfs.c for_each_active_iommu(iommu, drhd) { drhd 616 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 635 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) { drhd 646 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 651 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) { drhd 666 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 676 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) { drhd 764 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd = NULL; drhd 794 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) { drhd 795 drivers/iommu/intel-iommu.c if (pdev && segment != drhd->segment) drhd 798 drivers/iommu/intel-iommu.c for_each_active_dev_scope(drhd->devices, drhd 799 drivers/iommu/intel-iommu.c drhd->devices_cnt, i, tmp) { drhd 808 drivers/iommu/intel-iommu.c *bus = drhd->devices[i].bus; drhd 809 drivers/iommu/intel-iommu.c *devfn = drhd->devices[i].devfn; drhd 817 drivers/iommu/intel-iommu.c if (pdev && drhd->include_all) { drhd 3176 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 3186 drivers/iommu/intel-iommu.c for_each_drhd_unit(drhd) { drhd 3211 drivers/iommu/intel-iommu.c for_each_iommu(iommu, drhd) { drhd 3212 drivers/iommu/intel-iommu.c if (drhd->ignored) { drhd 3292 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) { drhd 3322 drivers/iommu/intel-iommu.c for_each_iommu(iommu, drhd) { drhd 3323 drivers/iommu/intel-iommu.c if (drhd->ignored) { drhd 3356 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) { drhd 4102 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 4120 drivers/iommu/intel-iommu.c drhd = dmar_find_matched_drhd_unit(pdev); drhd 4121 drivers/iommu/intel-iommu.c if (!drhd || drhd->reg_base_addr - vtbar != 0xa000) { drhd 4131 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 4135 drivers/iommu/intel-iommu.c for_each_drhd_unit(drhd) { drhd 4136 drivers/iommu/intel-iommu.c if (!drhd->include_all) { drhd 4137 drivers/iommu/intel-iommu.c for_each_active_dev_scope(drhd->devices, drhd 4138 drivers/iommu/intel-iommu.c drhd->devices_cnt, i, dev) drhd 4141 drivers/iommu/intel-iommu.c if (i == drhd->devices_cnt) drhd 4142 drivers/iommu/intel-iommu.c drhd->ignored = 1; drhd 4146 drivers/iommu/intel-iommu.c for_each_active_drhd_unit(drhd) { drhd 4147 drivers/iommu/intel-iommu.c if (drhd->include_all) drhd 4150 drivers/iommu/intel-iommu.c for_each_active_dev_scope(drhd->devices, drhd 4151 drivers/iommu/intel-iommu.c drhd->devices_cnt, i, dev) drhd 4154 drivers/iommu/intel-iommu.c if (i < drhd->devices_cnt) drhd 4160 drivers/iommu/intel-iommu.c drhd->ignored = 1; drhd 4161 drivers/iommu/intel-iommu.c for_each_active_dev_scope(drhd->devices, drhd 4162 drivers/iommu/intel-iommu.c drhd->devices_cnt, i, dev) drhd 4171 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 4174 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) drhd 4178 drivers/iommu/intel-iommu.c for_each_iommu(iommu, drhd) { drhd 4179 drivers/iommu/intel-iommu.c if (drhd->ignored) { drhd 4205 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 4208 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) { drhd 4218 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 4222 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) { drhd 4231 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) { drhd 4250 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) drhd 4258 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 4270 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) { drhd 4286 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) drhd 4673 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 4696 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) drhd 4748 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 4750 drivers/iommu/intel-iommu.c for_each_iommu(iommu, drhd) drhd 4872 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 4878 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) { drhd 4879 drivers/iommu/intel-iommu.c for_each_active_dev_scope(drhd->devices, drhd 4880 drivers/iommu/intel-iommu.c drhd->devices_cnt, i, dev) { drhd 4916 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 4967 drivers/iommu/intel-iommu.c for_each_iommu(iommu, drhd) drhd 5021 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) { drhd 5041 drivers/iommu/intel-iommu.c for_each_iommu(iommu, drhd) { drhd 5042 drivers/iommu/intel-iommu.c if (!drhd->ignored && !translation_pre_enabled(iommu)) drhd 5532 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 5537 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) { drhd 5550 drivers/iommu/intel-iommu.c struct dmar_drhd_unit *drhd; drhd 5555 drivers/iommu/intel-iommu.c for_each_active_iommu(iommu, drhd) { drhd 228 drivers/iommu/intel_irq_remapping.c struct dmar_drhd_unit *drhd; drhd 230 drivers/iommu/intel_irq_remapping.c drhd = dmar_find_matched_drhd_unit(dev); drhd 231 drivers/iommu/intel_irq_remapping.c if (!drhd) drhd 234 drivers/iommu/intel_irq_remapping.c return drhd->iommu; drhd 692 drivers/iommu/intel_irq_remapping.c struct dmar_drhd_unit *drhd; drhd 695 drivers/iommu/intel_irq_remapping.c for_each_iommu(iommu, drhd) { drhd 708 drivers/iommu/intel_irq_remapping.c struct dmar_drhd_unit *drhd; drhd 734 drivers/iommu/intel_irq_remapping.c for_each_iommu(iommu, drhd) drhd 747 drivers/iommu/intel_irq_remapping.c for_each_iommu(iommu, drhd) { drhd 759 drivers/iommu/intel_irq_remapping.c for_each_iommu(iommu, drhd) { drhd 779 drivers/iommu/intel_irq_remapping.c struct dmar_drhd_unit *drhd; drhd 794 drivers/iommu/intel_irq_remapping.c for_each_iommu(iommu, drhd) drhd 805 drivers/iommu/intel_irq_remapping.c struct dmar_drhd_unit *drhd; drhd 812 drivers/iommu/intel_irq_remapping.c for_each_iommu(iommu, drhd) { drhd 836 drivers/iommu/intel_irq_remapping.c struct acpi_dmar_hardware_unit *drhd) drhd 874 drivers/iommu/intel_irq_remapping.c scope->enumeration_id, drhd->address); drhd 881 drivers/iommu/intel_irq_remapping.c struct acpi_dmar_hardware_unit *drhd) drhd 919 drivers/iommu/intel_irq_remapping.c scope->enumeration_id, drhd->address, iommu->seq_id); drhd 928 drivers/iommu/intel_irq_remapping.c struct acpi_dmar_hardware_unit *drhd; drhd 932 drivers/iommu/intel_irq_remapping.c drhd = (struct acpi_dmar_hardware_unit *)header; drhd 933 drivers/iommu/intel_irq_remapping.c start = (void *)(drhd + 1); drhd 934 drivers/iommu/intel_irq_remapping.c end = ((void *)drhd) + header->length; drhd 939 drivers/iommu/intel_irq_remapping.c ret = ir_parse_one_ioapic_scope(scope, iommu, drhd); drhd 941 drivers/iommu/intel_irq_remapping.c ret = ir_parse_one_hpet_scope(scope, iommu, drhd); drhd 967 drivers/iommu/intel_irq_remapping.c struct dmar_drhd_unit *drhd; drhd 972 drivers/iommu/intel_irq_remapping.c for_each_iommu(iommu, drhd) { drhd 978 drivers/iommu/intel_irq_remapping.c ret = ir_parse_ioapic_hpet_scope(drhd->hdr, iommu); drhd 1018 drivers/iommu/intel_irq_remapping.c struct dmar_drhd_unit *drhd; drhd 1024 drivers/iommu/intel_irq_remapping.c for_each_iommu(iommu, drhd) { drhd 1040 drivers/iommu/intel_irq_remapping.c struct dmar_drhd_unit *drhd; drhd 1044 drivers/iommu/intel_irq_remapping.c for_each_iommu(iommu, drhd) drhd 1051 drivers/iommu/intel_irq_remapping.c for_each_iommu(iommu, drhd) { drhd 72 include/linux/dmar.h #define for_each_drhd_unit(drhd) \ drhd 73 include/linux/dmar.h list_for_each_entry_rcu(drhd, &dmar_drhd_units, list, \ drhd 76 include/linux/dmar.h #define for_each_active_drhd_unit(drhd) \ drhd 77 include/linux/dmar.h list_for_each_entry_rcu(drhd, &dmar_drhd_units, list, \ drhd 79 include/linux/dmar.h if (drhd->ignored) {} else drhd 81 include/linux/dmar.h #define for_each_active_iommu(i, drhd) \ drhd 82 include/linux/dmar.h list_for_each_entry_rcu(drhd, &dmar_drhd_units, list, \ drhd 84 include/linux/dmar.h if (i=drhd->iommu, drhd->ignored) {} else drhd 86 include/linux/dmar.h #define for_each_iommu(i, drhd) \ drhd 87 include/linux/dmar.h list_for_each_entry_rcu(drhd, &dmar_drhd_units, list, \ drhd 89 include/linux/dmar.h if (i=drhd->iommu, 0) {} else