Lines Matching refs:atsru

3124 	struct dmar_atsr_unit *atsru;  in dmar_find_atsr()  local
3127 list_for_each_entry_rcu(atsru, &dmar_atsr_units, list, in dmar_find_atsr()
3129 tmp = (struct acpi_dmar_atsr *)atsru->hdr; in dmar_find_atsr()
3135 return atsru; in dmar_find_atsr()
3144 struct dmar_atsr_unit *atsru; in dmar_parse_one_atsr() local
3150 atsru = dmar_find_atsr(atsr); in dmar_parse_one_atsr()
3151 if (atsru) in dmar_parse_one_atsr()
3154 atsru = kzalloc(sizeof(*atsru) + hdr->length, GFP_KERNEL); in dmar_parse_one_atsr()
3155 if (!atsru) in dmar_parse_one_atsr()
3163 atsru->hdr = (void *)(atsru + 1); in dmar_parse_one_atsr()
3164 memcpy(atsru->hdr, hdr, hdr->length); in dmar_parse_one_atsr()
3165 atsru->include_all = atsr->flags & 0x1; in dmar_parse_one_atsr()
3166 if (!atsru->include_all) { in dmar_parse_one_atsr()
3167 atsru->devices = dmar_alloc_dev_scope((void *)(atsr + 1), in dmar_parse_one_atsr()
3169 &atsru->devices_cnt); in dmar_parse_one_atsr()
3170 if (atsru->devices_cnt && atsru->devices == NULL) { in dmar_parse_one_atsr()
3171 kfree(atsru); in dmar_parse_one_atsr()
3176 list_add_rcu(&atsru->list, &dmar_atsr_units); in dmar_parse_one_atsr()
3181 static void intel_iommu_free_atsr(struct dmar_atsr_unit *atsru) in intel_iommu_free_atsr() argument
3183 dmar_free_dev_scope(&atsru->devices, &atsru->devices_cnt); in intel_iommu_free_atsr()
3184 kfree(atsru); in intel_iommu_free_atsr()
3190 struct dmar_atsr_unit *atsru; in dmar_release_one_atsr() local
3193 atsru = dmar_find_atsr(atsr); in dmar_release_one_atsr()
3194 if (atsru) { in dmar_release_one_atsr()
3195 list_del_rcu(&atsru->list); in dmar_release_one_atsr()
3197 intel_iommu_free_atsr(atsru); in dmar_release_one_atsr()
3208 struct dmar_atsr_unit *atsru; in dmar_check_one_atsr() local
3211 atsru = dmar_find_atsr(atsr); in dmar_check_one_atsr()
3212 if (!atsru) in dmar_check_one_atsr()
3215 if (!atsru->include_all && atsru->devices && atsru->devices_cnt) { in dmar_check_one_atsr()
3216 for_each_active_dev_scope(atsru->devices, atsru->devices_cnt, in dmar_check_one_atsr()
3370 struct dmar_atsr_unit *atsru, *atsr_n; in intel_iommu_free_dmars() local
3379 list_for_each_entry_safe(atsru, atsr_n, &dmar_atsr_units, list) { in intel_iommu_free_dmars()
3380 list_del(&atsru->list); in intel_iommu_free_dmars()
3381 intel_iommu_free_atsr(atsru); in intel_iommu_free_dmars()
3421 struct dmar_atsr_unit *atsru; in dmar_ats_supported() local
3451 list_for_each_entry_rcu(atsru, &dmar_atsr_units, list) { in dmar_ats_supported()
3452 atsr = container_of(atsru->hdr, struct acpi_dmar_atsr, header); in dmar_ats_supported()
3456 for_each_dev_scope(atsru->devices, atsru->devices_cnt, i, tmp) in dmar_ats_supported()
3460 if (atsru->include_all) in dmar_ats_supported()
3474 struct dmar_atsr_unit *atsru; in dmar_iommu_notify_scope_dev() local
3499 list_for_each_entry(atsru, &dmar_atsr_units, list) { in dmar_iommu_notify_scope_dev()
3500 if (atsru->include_all) in dmar_iommu_notify_scope_dev()
3503 atsr = container_of(atsru->hdr, struct acpi_dmar_atsr, header); in dmar_iommu_notify_scope_dev()
3507 atsr->segment, atsru->devices, in dmar_iommu_notify_scope_dev()
3508 atsru->devices_cnt); in dmar_iommu_notify_scope_dev()
3515 atsru->devices, atsru->devices_cnt)) in dmar_iommu_notify_scope_dev()