Lines Matching refs:dmaru
177 struct dmar_drhd_unit *dmaru; in dmar_parse_one_drhd() local
181 dmaru = kzalloc(sizeof(*dmaru), GFP_KERNEL); in dmar_parse_one_drhd()
182 if (!dmaru) in dmar_parse_one_drhd()
185 dmaru->hdr = header; in dmar_parse_one_drhd()
186 dmaru->reg_base_addr = drhd->address; in dmar_parse_one_drhd()
187 dmaru->segment = drhd->segment; in dmar_parse_one_drhd()
188 dmaru->include_all = drhd->flags & 0x1; /* BIT0: INCLUDE_ALL */ in dmar_parse_one_drhd()
190 ret = alloc_iommu(dmaru); in dmar_parse_one_drhd()
192 kfree(dmaru); in dmar_parse_one_drhd()
195 dmar_register_drhd_unit(dmaru); in dmar_parse_one_drhd()
199 static int __init dmar_parse_dev(struct dmar_drhd_unit *dmaru) in dmar_parse_dev() argument
204 drhd = (struct acpi_dmar_hardware_unit *) dmaru->hdr; in dmar_parse_dev()
206 if (dmaru->include_all) in dmar_parse_dev()
211 &dmaru->devices_cnt, &dmaru->devices, in dmar_parse_dev()
214 list_del(&dmaru->list); in dmar_parse_dev()
215 kfree(dmaru); in dmar_parse_dev()
536 struct dmar_drhd_unit *dmaru = NULL; in dmar_find_matched_drhd_unit() local
541 list_for_each_entry(dmaru, &dmar_drhd_units, list) { in dmar_find_matched_drhd_unit()
542 drhd = container_of(dmaru->hdr, in dmar_find_matched_drhd_unit()
546 if (dmaru->include_all && in dmar_find_matched_drhd_unit()
548 return dmaru; in dmar_find_matched_drhd_unit()
550 if (dmar_pci_device_match(dmaru->devices, in dmar_find_matched_drhd_unit()
551 dmaru->devices_cnt, dev)) in dmar_find_matched_drhd_unit()
552 return dmaru; in dmar_find_matched_drhd_unit()