diff options
Diffstat (limited to 'drivers/iommu/dmar.c')
-rw-r--r-- | drivers/iommu/dmar.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c index 4306885f48b1..60ab474bfff3 100644 --- a/drivers/iommu/dmar.c +++ b/drivers/iommu/dmar.c | |||
@@ -85,7 +85,7 @@ void *dmar_alloc_dev_scope(void *start, void *end, int *cnt) | |||
85 | *cnt = 0; | 85 | *cnt = 0; |
86 | while (start < end) { | 86 | while (start < end) { |
87 | scope = start; | 87 | scope = start; |
88 | if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_ACPI || | 88 | if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_NAMESPACE || |
89 | scope->entry_type == ACPI_DMAR_SCOPE_TYPE_ENDPOINT || | 89 | scope->entry_type == ACPI_DMAR_SCOPE_TYPE_ENDPOINT || |
90 | scope->entry_type == ACPI_DMAR_SCOPE_TYPE_BRIDGE) | 90 | scope->entry_type == ACPI_DMAR_SCOPE_TYPE_BRIDGE) |
91 | (*cnt)++; | 91 | (*cnt)++; |
@@ -381,7 +381,7 @@ static int __init dmar_parse_one_andd(struct acpi_dmar_header *header) | |||
381 | struct acpi_dmar_andd *andd = (void *)header; | 381 | struct acpi_dmar_andd *andd = (void *)header; |
382 | 382 | ||
383 | /* Check for NUL termination within the designated length */ | 383 | /* Check for NUL termination within the designated length */ |
384 | if (strnlen(andd->object_name, header->length - 8) == header->length - 8) { | 384 | if (strnlen(andd->device_name, header->length - 8) == header->length - 8) { |
385 | WARN_TAINT(1, TAINT_FIRMWARE_WORKAROUND, | 385 | WARN_TAINT(1, TAINT_FIRMWARE_WORKAROUND, |
386 | "Your BIOS is broken; ANDD object name is not NUL-terminated\n" | 386 | "Your BIOS is broken; ANDD object name is not NUL-terminated\n" |
387 | "BIOS vendor: %s; Ver: %s; Product Version: %s\n", | 387 | "BIOS vendor: %s; Ver: %s; Product Version: %s\n", |
@@ -391,7 +391,7 @@ static int __init dmar_parse_one_andd(struct acpi_dmar_header *header) | |||
391 | return -EINVAL; | 391 | return -EINVAL; |
392 | } | 392 | } |
393 | pr_info("ANDD device: %x name: %s\n", andd->device_number, | 393 | pr_info("ANDD device: %x name: %s\n", andd->device_number, |
394 | andd->object_name); | 394 | andd->device_name); |
395 | 395 | ||
396 | return 0; | 396 | return 0; |
397 | } | 397 | } |
@@ -449,17 +449,17 @@ dmar_table_print_dmar_entry(struct acpi_dmar_header *header) | |||
449 | (unsigned long long)rmrr->base_address, | 449 | (unsigned long long)rmrr->base_address, |
450 | (unsigned long long)rmrr->end_address); | 450 | (unsigned long long)rmrr->end_address); |
451 | break; | 451 | break; |
452 | case ACPI_DMAR_TYPE_ATSR: | 452 | case ACPI_DMAR_TYPE_ROOT_ATS: |
453 | atsr = container_of(header, struct acpi_dmar_atsr, header); | 453 | atsr = container_of(header, struct acpi_dmar_atsr, header); |
454 | pr_info("ATSR flags: %#x\n", atsr->flags); | 454 | pr_info("ATSR flags: %#x\n", atsr->flags); |
455 | break; | 455 | break; |
456 | case ACPI_DMAR_HARDWARE_AFFINITY: | 456 | case ACPI_DMAR_TYPE_HARDWARE_AFFINITY: |
457 | rhsa = container_of(header, struct acpi_dmar_rhsa, header); | 457 | rhsa = container_of(header, struct acpi_dmar_rhsa, header); |
458 | pr_info("RHSA base: %#016Lx proximity domain: %#x\n", | 458 | pr_info("RHSA base: %#016Lx proximity domain: %#x\n", |
459 | (unsigned long long)rhsa->base_address, | 459 | (unsigned long long)rhsa->base_address, |
460 | rhsa->proximity_domain); | 460 | rhsa->proximity_domain); |
461 | break; | 461 | break; |
462 | case ACPI_DMAR_TYPE_ANDD: | 462 | case ACPI_DMAR_TYPE_NAMESPACE: |
463 | /* We don't print this here because we need to sanity-check | 463 | /* We don't print this here because we need to sanity-check |
464 | it first. So print it in dmar_parse_one_andd() instead. */ | 464 | it first. So print it in dmar_parse_one_andd() instead. */ |
465 | break; | 465 | break; |
@@ -540,15 +540,15 @@ parse_dmar_table(void) | |||
540 | case ACPI_DMAR_TYPE_RESERVED_MEMORY: | 540 | case ACPI_DMAR_TYPE_RESERVED_MEMORY: |
541 | ret = dmar_parse_one_rmrr(entry_header); | 541 | ret = dmar_parse_one_rmrr(entry_header); |
542 | break; | 542 | break; |
543 | case ACPI_DMAR_TYPE_ATSR: | 543 | case ACPI_DMAR_TYPE_ROOT_ATS: |
544 | ret = dmar_parse_one_atsr(entry_header); | 544 | ret = dmar_parse_one_atsr(entry_header); |
545 | break; | 545 | break; |
546 | case ACPI_DMAR_HARDWARE_AFFINITY: | 546 | case ACPI_DMAR_TYPE_HARDWARE_AFFINITY: |
547 | #ifdef CONFIG_ACPI_NUMA | 547 | #ifdef CONFIG_ACPI_NUMA |
548 | ret = dmar_parse_one_rhsa(entry_header); | 548 | ret = dmar_parse_one_rhsa(entry_header); |
549 | #endif | 549 | #endif |
550 | break; | 550 | break; |
551 | case ACPI_DMAR_TYPE_ANDD: | 551 | case ACPI_DMAR_TYPE_NAMESPACE: |
552 | ret = dmar_parse_one_andd(entry_header); | 552 | ret = dmar_parse_one_andd(entry_header); |
553 | break; | 553 | break; |
554 | default: | 554 | default: |
@@ -632,7 +632,7 @@ static void __init dmar_acpi_insert_dev_scope(u8 device_number, | |||
632 | for (scope = (void *)(drhd + 1); | 632 | for (scope = (void *)(drhd + 1); |
633 | (unsigned long)scope < ((unsigned long)drhd) + drhd->header.length; | 633 | (unsigned long)scope < ((unsigned long)drhd) + drhd->header.length; |
634 | scope = ((void *)scope) + scope->length) { | 634 | scope = ((void *)scope) + scope->length) { |
635 | if (scope->entry_type != ACPI_DMAR_SCOPE_TYPE_ACPI) | 635 | if (scope->entry_type != ACPI_DMAR_SCOPE_TYPE_NAMESPACE) |
636 | continue; | 636 | continue; |
637 | if (scope->enumeration_id != device_number) | 637 | if (scope->enumeration_id != device_number) |
638 | continue; | 638 | continue; |
@@ -667,21 +667,21 @@ static int __init dmar_acpi_dev_scope_init(void) | |||
667 | for (andd = (void *)dmar_tbl + sizeof(struct acpi_table_dmar); | 667 | for (andd = (void *)dmar_tbl + sizeof(struct acpi_table_dmar); |
668 | ((unsigned long)andd) < ((unsigned long)dmar_tbl) + dmar_tbl->length; | 668 | ((unsigned long)andd) < ((unsigned long)dmar_tbl) + dmar_tbl->length; |
669 | andd = ((void *)andd) + andd->header.length) { | 669 | andd = ((void *)andd) + andd->header.length) { |
670 | if (andd->header.type == ACPI_DMAR_TYPE_ANDD) { | 670 | if (andd->header.type == ACPI_DMAR_TYPE_NAMESPACE) { |
671 | acpi_handle h; | 671 | acpi_handle h; |
672 | struct acpi_device *adev; | 672 | struct acpi_device *adev; |
673 | 673 | ||
674 | if (!ACPI_SUCCESS(acpi_get_handle(ACPI_ROOT_OBJECT, | 674 | if (!ACPI_SUCCESS(acpi_get_handle(ACPI_ROOT_OBJECT, |
675 | andd->object_name, | 675 | andd->device_name, |
676 | &h))) { | 676 | &h))) { |
677 | pr_err("Failed to find handle for ACPI object %s\n", | 677 | pr_err("Failed to find handle for ACPI object %s\n", |
678 | andd->object_name); | 678 | andd->device_name); |
679 | continue; | 679 | continue; |
680 | } | 680 | } |
681 | acpi_bus_get_device(h, &adev); | 681 | acpi_bus_get_device(h, &adev); |
682 | if (!adev) { | 682 | if (!adev) { |
683 | pr_err("Failed to get device for ACPI object %s\n", | 683 | pr_err("Failed to get device for ACPI object %s\n", |
684 | andd->object_name); | 684 | andd->device_name); |
685 | continue; | 685 | continue; |
686 | } | 686 | } |
687 | dmar_acpi_insert_dev_scope(andd->device_number, adev); | 687 | dmar_acpi_insert_dev_scope(andd->device_number, adev); |