Lines Matching refs:scope
83 struct acpi_dmar_device_scope *scope;
87 scope = start;
88 if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_NAMESPACE ||
89 scope->entry_type == ACPI_DMAR_SCOPE_TYPE_ENDPOINT ||
90 scope->entry_type == ACPI_DMAR_SCOPE_TYPE_BRIDGE)
92 else if (scope->entry_type != ACPI_DMAR_SCOPE_TYPE_IOAPIC &&
93 scope->entry_type != ACPI_DMAR_SCOPE_TYPE_HPET) {
94 pr_warn("Unsupported device scope\n");
96 start += scope->length;
221 struct acpi_dmar_device_scope *scope;
227 for (; start < end; start += scope->length) {
228 scope = start;
229 if (scope->entry_type != ACPI_DMAR_SCOPE_TYPE_ENDPOINT &&
230 scope->entry_type != ACPI_DMAR_SCOPE_TYPE_BRIDGE)
233 path = (struct acpi_dmar_pci_path *)(scope + 1);
234 level = (scope->length - sizeof(*scope)) / sizeof(*path);
235 if (!dmar_match_pci_path(info, scope->bus, path, level))
239 * We expect devices with endpoint scope to have normal PCI
240 * headers, and devices with bridge scope to have bridge PCI
242 * DMAR table with bridge scope, even though they have a
247 if ((scope->entry_type == ACPI_DMAR_SCOPE_TYPE_ENDPOINT &&
249 (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_BRIDGE &&
252 pr_warn("Device scope type does not match for %s\n",
732 struct acpi_dmar_device_scope *scope;
742 for (scope = (void *)(drhd + 1);
743 (unsigned long)scope < ((unsigned long)drhd) + drhd->header.length;
744 scope = ((void *)scope) + scope->length) {
745 if (scope->entry_type != ACPI_DMAR_SCOPE_TYPE_NAMESPACE)
747 if (scope->enumeration_id != device_number)
750 path = (void *)(scope + 1);
753 scope->bus, path->device, path->function);
756 dmaru->devices[i].bus = scope->bus;
766 pr_warn("No IOMMU scope found for ANDD enumeration ID %d (%s)\n",