Lines Matching refs:atsru
4088 struct dmar_atsr_unit *atsru; in dmar_find_atsr() local
4091 list_for_each_entry_rcu(atsru, &dmar_atsr_units, list) { in dmar_find_atsr()
4092 tmp = (struct acpi_dmar_atsr *)atsru->hdr; in dmar_find_atsr()
4098 return atsru; in dmar_find_atsr()
4107 struct dmar_atsr_unit *atsru; in dmar_parse_one_atsr() local
4113 atsru = dmar_find_atsr(atsr); in dmar_parse_one_atsr()
4114 if (atsru) in dmar_parse_one_atsr()
4117 atsru = kzalloc(sizeof(*atsru) + hdr->length, GFP_KERNEL); in dmar_parse_one_atsr()
4118 if (!atsru) in dmar_parse_one_atsr()
4126 atsru->hdr = (void *)(atsru + 1); in dmar_parse_one_atsr()
4127 memcpy(atsru->hdr, hdr, hdr->length); in dmar_parse_one_atsr()
4128 atsru->include_all = atsr->flags & 0x1; in dmar_parse_one_atsr()
4129 if (!atsru->include_all) { in dmar_parse_one_atsr()
4130 atsru->devices = dmar_alloc_dev_scope((void *)(atsr + 1), in dmar_parse_one_atsr()
4132 &atsru->devices_cnt); in dmar_parse_one_atsr()
4133 if (atsru->devices_cnt && atsru->devices == NULL) { in dmar_parse_one_atsr()
4134 kfree(atsru); in dmar_parse_one_atsr()
4139 list_add_rcu(&atsru->list, &dmar_atsr_units); in dmar_parse_one_atsr()
4144 static void intel_iommu_free_atsr(struct dmar_atsr_unit *atsru) in intel_iommu_free_atsr() argument
4146 dmar_free_dev_scope(&atsru->devices, &atsru->devices_cnt); in intel_iommu_free_atsr()
4147 kfree(atsru); in intel_iommu_free_atsr()
4153 struct dmar_atsr_unit *atsru; in dmar_release_one_atsr() local
4156 atsru = dmar_find_atsr(atsr); in dmar_release_one_atsr()
4157 if (atsru) { in dmar_release_one_atsr()
4158 list_del_rcu(&atsru->list); in dmar_release_one_atsr()
4160 intel_iommu_free_atsr(atsru); in dmar_release_one_atsr()
4171 struct dmar_atsr_unit *atsru; in dmar_check_one_atsr() local
4174 atsru = dmar_find_atsr(atsr); in dmar_check_one_atsr()
4175 if (!atsru) in dmar_check_one_atsr()
4178 if (!atsru->include_all && atsru->devices && atsru->devices_cnt) in dmar_check_one_atsr()
4179 for_each_active_dev_scope(atsru->devices, atsru->devices_cnt, in dmar_check_one_atsr()
4291 struct dmar_atsr_unit *atsru, *atsr_n; in intel_iommu_free_dmars() local
4299 list_for_each_entry_safe(atsru, atsr_n, &dmar_atsr_units, list) { in intel_iommu_free_dmars()
4300 list_del(&atsru->list); in intel_iommu_free_dmars()
4301 intel_iommu_free_atsr(atsru); in intel_iommu_free_dmars()
4312 struct dmar_atsr_unit *atsru; in dmar_find_matched_atsr_unit() local
4330 list_for_each_entry_rcu(atsru, &dmar_atsr_units, list) { in dmar_find_matched_atsr_unit()
4331 atsr = container_of(atsru->hdr, struct acpi_dmar_atsr, header); in dmar_find_matched_atsr_unit()
4335 for_each_dev_scope(atsru->devices, atsru->devices_cnt, i, tmp) in dmar_find_matched_atsr_unit()
4339 if (atsru->include_all) in dmar_find_matched_atsr_unit()
4353 struct dmar_atsr_unit *atsru; in dmar_iommu_notify_scope_dev() local
4376 list_for_each_entry(atsru, &dmar_atsr_units, list) { in dmar_iommu_notify_scope_dev()
4377 if (atsru->include_all) in dmar_iommu_notify_scope_dev()
4380 atsr = container_of(atsru->hdr, struct acpi_dmar_atsr, header); in dmar_iommu_notify_scope_dev()
4384 atsr->segment, atsru->devices, in dmar_iommu_notify_scope_dev()
4385 atsru->devices_cnt); in dmar_iommu_notify_scope_dev()
4392 atsru->devices, atsru->devices_cnt)) in dmar_iommu_notify_scope_dev()