Lines Matching refs:atsru

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