aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iommu/dmar.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iommu/dmar.c')
-rw-r--r--drivers/iommu/dmar.c28
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);