Lines Matching refs:satcu
3404 struct dmar_satc_unit *satcu; in dmar_find_satc() local
3407 list_for_each_entry_rcu(satcu, &dmar_satc_units, list, in dmar_find_satc()
3409 tmp = (struct acpi_dmar_satc *)satcu->hdr; in dmar_find_satc()
3415 return satcu; in dmar_find_satc()
3424 struct dmar_satc_unit *satcu; in dmar_parse_one_satc() local
3430 satcu = dmar_find_satc(satc); in dmar_parse_one_satc()
3431 if (satcu) in dmar_parse_one_satc()
3434 satcu = kzalloc(sizeof(*satcu) + hdr->length, GFP_KERNEL); in dmar_parse_one_satc()
3435 if (!satcu) in dmar_parse_one_satc()
3438 satcu->hdr = (void *)(satcu + 1); in dmar_parse_one_satc()
3439 memcpy(satcu->hdr, hdr, hdr->length); in dmar_parse_one_satc()
3440 satcu->atc_required = satc->flags & 0x1; in dmar_parse_one_satc()
3441 satcu->devices = dmar_alloc_dev_scope((void *)(satc + 1), in dmar_parse_one_satc()
3443 &satcu->devices_cnt); in dmar_parse_one_satc()
3444 if (satcu->devices_cnt && !satcu->devices) { in dmar_parse_one_satc()
3445 kfree(satcu); in dmar_parse_one_satc()
3448 list_add_rcu(&satcu->list, &dmar_satc_units); in dmar_parse_one_satc()
3549 struct dmar_satc_unit *satcu, *satc_n; in intel_iommu_free_dmars() local
3561 list_for_each_entry_safe(satcu, satc_n, &dmar_satc_units, list) { in intel_iommu_free_dmars()
3562 list_del(&satcu->list); in intel_iommu_free_dmars()
3563 dmar_free_dev_scope(&satcu->devices, &satcu->devices_cnt); in intel_iommu_free_dmars()
3564 kfree(satcu); in intel_iommu_free_dmars()
3570 struct dmar_satc_unit *satcu; in dmar_find_matched_satc_unit() local
3578 list_for_each_entry_rcu(satcu, &dmar_satc_units, list) { in dmar_find_matched_satc_unit()
3579 satc = container_of(satcu->hdr, struct acpi_dmar_satc, header); in dmar_find_matched_satc_unit()
3582 for_each_dev_scope(satcu->devices, satcu->devices_cnt, i, tmp) in dmar_find_matched_satc_unit()
3586 satcu = NULL; in dmar_find_matched_satc_unit()
3589 return satcu; in dmar_find_matched_satc_unit()
3600 struct dmar_satc_unit *satcu; in dmar_ats_supported() local
3603 satcu = dmar_find_matched_satc_unit(dev); in dmar_ats_supported()
3604 if (satcu) in dmar_ats_supported()
3612 return !(satcu->atc_required && !sm_supported(iommu)); in dmar_ats_supported()
3653 struct dmar_satc_unit *satcu; in dmar_iommu_notify_scope_dev() local
3697 list_for_each_entry(satcu, &dmar_satc_units, list) { in dmar_iommu_notify_scope_dev()
3698 satc = container_of(satcu->hdr, struct acpi_dmar_satc, header); in dmar_iommu_notify_scope_dev()
3702 satc->segment, satcu->devices, in dmar_iommu_notify_scope_dev()
3703 satcu->devices_cnt); in dmar_iommu_notify_scope_dev()
3710 satcu->devices, satcu->devices_cnt)) in dmar_iommu_notify_scope_dev()