Lines Matching refs:atsru

3708 	struct dmar_atsr_unit *atsru;  in dmar_find_atsr()  local
3711 list_for_each_entry_rcu(atsru, &dmar_atsr_units, list) { in dmar_find_atsr()
3712 tmp = (struct acpi_dmar_atsr *)atsru->hdr; in dmar_find_atsr()
3718 return atsru; in dmar_find_atsr()
3727 struct dmar_atsr_unit *atsru; in dmar_parse_one_atsr() local
3733 atsru = dmar_find_atsr(atsr); in dmar_parse_one_atsr()
3734 if (atsru) in dmar_parse_one_atsr()
3737 atsru = kzalloc(sizeof(*atsru) + hdr->length, GFP_KERNEL); in dmar_parse_one_atsr()
3738 if (!atsru) in dmar_parse_one_atsr()
3746 atsru->hdr = (void *)(atsru + 1); in dmar_parse_one_atsr()
3747 memcpy(atsru->hdr, hdr, hdr->length); in dmar_parse_one_atsr()
3748 atsru->include_all = atsr->flags & 0x1; in dmar_parse_one_atsr()
3749 if (!atsru->include_all) { in dmar_parse_one_atsr()
3750 atsru->devices = dmar_alloc_dev_scope((void *)(atsr + 1), in dmar_parse_one_atsr()
3752 &atsru->devices_cnt); in dmar_parse_one_atsr()
3753 if (atsru->devices_cnt && atsru->devices == NULL) { in dmar_parse_one_atsr()
3754 kfree(atsru); in dmar_parse_one_atsr()
3759 list_add_rcu(&atsru->list, &dmar_atsr_units); in dmar_parse_one_atsr()
3764 static void intel_iommu_free_atsr(struct dmar_atsr_unit *atsru) in intel_iommu_free_atsr() argument
3766 dmar_free_dev_scope(&atsru->devices, &atsru->devices_cnt); in intel_iommu_free_atsr()
3767 kfree(atsru); in intel_iommu_free_atsr()
3773 struct dmar_atsr_unit *atsru; in dmar_release_one_atsr() local
3776 atsru = dmar_find_atsr(atsr); in dmar_release_one_atsr()
3777 if (atsru) { in dmar_release_one_atsr()
3778 list_del_rcu(&atsru->list); in dmar_release_one_atsr()
3780 intel_iommu_free_atsr(atsru); in dmar_release_one_atsr()
3791 struct dmar_atsr_unit *atsru; in dmar_check_one_atsr() local
3794 atsru = dmar_find_atsr(atsr); in dmar_check_one_atsr()
3795 if (!atsru) in dmar_check_one_atsr()
3798 if (!atsru->include_all && atsru->devices && atsru->devices_cnt) in dmar_check_one_atsr()
3799 for_each_active_dev_scope(atsru->devices, atsru->devices_cnt, in dmar_check_one_atsr()
3905 struct dmar_atsr_unit *atsru, *atsr_n; in intel_iommu_free_dmars() local
3913 list_for_each_entry_safe(atsru, atsr_n, &dmar_atsr_units, list) { in intel_iommu_free_dmars()
3914 list_del(&atsru->list); in intel_iommu_free_dmars()
3915 intel_iommu_free_atsr(atsru); in intel_iommu_free_dmars()
3926 struct dmar_atsr_unit *atsru; in dmar_find_matched_atsr_unit() local
3944 list_for_each_entry_rcu(atsru, &dmar_atsr_units, list) { in dmar_find_matched_atsr_unit()
3945 atsr = container_of(atsru->hdr, struct acpi_dmar_atsr, header); in dmar_find_matched_atsr_unit()
3949 for_each_dev_scope(atsru->devices, atsru->devices_cnt, i, tmp) in dmar_find_matched_atsr_unit()
3953 if (atsru->include_all) in dmar_find_matched_atsr_unit()
3967 struct dmar_atsr_unit *atsru; in dmar_iommu_notify_scope_dev() local
3990 list_for_each_entry(atsru, &dmar_atsr_units, list) { in dmar_iommu_notify_scope_dev()
3991 if (atsru->include_all) in dmar_iommu_notify_scope_dev()
3994 atsr = container_of(atsru->hdr, struct acpi_dmar_atsr, header); in dmar_iommu_notify_scope_dev()
3998 atsr->segment, atsru->devices, in dmar_iommu_notify_scope_dev()
3999 atsru->devices_cnt); in dmar_iommu_notify_scope_dev()
4006 atsru->devices, atsru->devices_cnt)) in dmar_iommu_notify_scope_dev()