Lines Matching refs:atsru

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