Lines Matching refs:atsru
4393 struct dmar_atsr_unit *atsru; in dmar_find_atsr() local
4396 list_for_each_entry_rcu(atsru, &dmar_atsr_units, list, in dmar_find_atsr()
4398 tmp = (struct acpi_dmar_atsr *)atsru->hdr; in dmar_find_atsr()
4404 return atsru; in dmar_find_atsr()
4413 struct dmar_atsr_unit *atsru; in dmar_parse_one_atsr() local
4419 atsru = dmar_find_atsr(atsr); in dmar_parse_one_atsr()
4420 if (atsru) in dmar_parse_one_atsr()
4423 atsru = kzalloc(sizeof(*atsru) + hdr->length, GFP_KERNEL); in dmar_parse_one_atsr()
4424 if (!atsru) in dmar_parse_one_atsr()
4432 atsru->hdr = (void *)(atsru + 1); in dmar_parse_one_atsr()
4433 memcpy(atsru->hdr, hdr, hdr->length); in dmar_parse_one_atsr()
4434 atsru->include_all = atsr->flags & 0x1; in dmar_parse_one_atsr()
4435 if (!atsru->include_all) { in dmar_parse_one_atsr()
4436 atsru->devices = dmar_alloc_dev_scope((void *)(atsr + 1), in dmar_parse_one_atsr()
4438 &atsru->devices_cnt); in dmar_parse_one_atsr()
4439 if (atsru->devices_cnt && atsru->devices == NULL) { in dmar_parse_one_atsr()
4440 kfree(atsru); in dmar_parse_one_atsr()
4445 list_add_rcu(&atsru->list, &dmar_atsr_units); in dmar_parse_one_atsr()
4450 static void intel_iommu_free_atsr(struct dmar_atsr_unit *atsru) in intel_iommu_free_atsr() argument
4452 dmar_free_dev_scope(&atsru->devices, &atsru->devices_cnt); in intel_iommu_free_atsr()
4453 kfree(atsru); in intel_iommu_free_atsr()
4459 struct dmar_atsr_unit *atsru; in dmar_release_one_atsr() local
4462 atsru = dmar_find_atsr(atsr); in dmar_release_one_atsr()
4463 if (atsru) { in dmar_release_one_atsr()
4464 list_del_rcu(&atsru->list); in dmar_release_one_atsr()
4466 intel_iommu_free_atsr(atsru); in dmar_release_one_atsr()
4477 struct dmar_atsr_unit *atsru; in dmar_check_one_atsr() local
4480 atsru = dmar_find_atsr(atsr); in dmar_check_one_atsr()
4481 if (!atsru) in dmar_check_one_atsr()
4484 if (!atsru->include_all && atsru->devices && atsru->devices_cnt) { in dmar_check_one_atsr()
4485 for_each_active_dev_scope(atsru->devices, atsru->devices_cnt, in dmar_check_one_atsr()
4593 struct dmar_atsr_unit *atsru, *atsr_n; in intel_iommu_free_dmars() local
4601 list_for_each_entry_safe(atsru, atsr_n, &dmar_atsr_units, list) { in intel_iommu_free_dmars()
4602 list_del(&atsru->list); in intel_iommu_free_dmars()
4603 intel_iommu_free_atsr(atsru); in intel_iommu_free_dmars()
4614 struct dmar_atsr_unit *atsru; in dmar_find_matched_atsr_unit() local
4632 list_for_each_entry_rcu(atsru, &dmar_atsr_units, list) { in dmar_find_matched_atsr_unit()
4633 atsr = container_of(atsru->hdr, struct acpi_dmar_atsr, header); in dmar_find_matched_atsr_unit()
4637 for_each_dev_scope(atsru->devices, atsru->devices_cnt, i, tmp) in dmar_find_matched_atsr_unit()
4641 if (atsru->include_all) in dmar_find_matched_atsr_unit()
4655 struct dmar_atsr_unit *atsru; in dmar_iommu_notify_scope_dev() local
4678 list_for_each_entry(atsru, &dmar_atsr_units, list) { in dmar_iommu_notify_scope_dev()
4679 if (atsru->include_all) in dmar_iommu_notify_scope_dev()
4682 atsr = container_of(atsru->hdr, struct acpi_dmar_atsr, header); in dmar_iommu_notify_scope_dev()
4686 atsr->segment, atsru->devices, in dmar_iommu_notify_scope_dev()
4687 atsru->devices_cnt); in dmar_iommu_notify_scope_dev()
4694 atsru->devices, atsru->devices_cnt)) in dmar_iommu_notify_scope_dev()