diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-08-05 16:50:12 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-08-05 16:50:12 -0400 |
commit | 8b80c0f187d8711fede71b7bd6fb80cb76bb8be9 (patch) | |
tree | 1f7582124a4dc42eded38668f393db16ddd7d658 /drivers/iommu | |
parent | 49c68fd448568e79598b159efc09a7864bc59ede (diff) | |
parent | 796ca778585d833023c18e1815b2e30a2d2f00fd (diff) |
Merge branch 'acpica'
* acpica:
ACPICA: Update version to 20140724.
ACPICA: ACPI 5.1: Update for PCCT table changes.
ACPICA/ARM: ACPI 5.1: Update for GTDT table changes.
ACPICA/ARM: ACPI 5.1: Update for MADT changes.
ACPICA/ARM: ACPI 5.1: Update for FADT changes.
ACPICA: ACPI 5.1: Support for the _CCA predifined name.
ACPICA: ACPI 5.1: New notify value for System Affinity Update.
ACPICA: ACPI 5.1: Support for the _DSD predefined name.
ACPICA: Debug object: Add current value of Timer() to debug line prefix.
ACPICA: acpihelp: Add UUID support, restructure some existing files.
ACPICA: Utilities: Fix local printf issue.
ACPICA: Tables: Update for DMAR table changes.
ACPICA: Remove some extraneous printf arguments.
ACPICA: Update for comments/formatting. No functional changes.
ACPICA: Disassembler: Add support for the ToUUID opererator (macro).
ACPICA: Remove a redundant cast to acpi_size for ACPI_OFFSET() macro.
ACPICA: Work around an ancient GCC bug.
Diffstat (limited to 'drivers/iommu')
-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 9a4f05e5b23f..bbe33a81015c 100644 --- a/drivers/iommu/dmar.c +++ b/drivers/iommu/dmar.c | |||
@@ -84,7 +84,7 @@ void *dmar_alloc_dev_scope(void *start, void *end, int *cnt) | |||
84 | *cnt = 0; | 84 | *cnt = 0; |
85 | while (start < end) { | 85 | while (start < end) { |
86 | scope = start; | 86 | scope = start; |
87 | if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_ACPI || | 87 | if (scope->entry_type == ACPI_DMAR_SCOPE_TYPE_NAMESPACE || |
88 | scope->entry_type == ACPI_DMAR_SCOPE_TYPE_ENDPOINT || | 88 | scope->entry_type == ACPI_DMAR_SCOPE_TYPE_ENDPOINT || |
89 | scope->entry_type == ACPI_DMAR_SCOPE_TYPE_BRIDGE) | 89 | scope->entry_type == ACPI_DMAR_SCOPE_TYPE_BRIDGE) |
90 | (*cnt)++; | 90 | (*cnt)++; |
@@ -380,7 +380,7 @@ static int __init dmar_parse_one_andd(struct acpi_dmar_header *header) | |||
380 | struct acpi_dmar_andd *andd = (void *)header; | 380 | struct acpi_dmar_andd *andd = (void *)header; |
381 | 381 | ||
382 | /* Check for NUL termination within the designated length */ | 382 | /* Check for NUL termination within the designated length */ |
383 | if (strnlen(andd->object_name, header->length - 8) == header->length - 8) { | 383 | if (strnlen(andd->device_name, header->length - 8) == header->length - 8) { |
384 | WARN_TAINT(1, TAINT_FIRMWARE_WORKAROUND, | 384 | WARN_TAINT(1, TAINT_FIRMWARE_WORKAROUND, |
385 | "Your BIOS is broken; ANDD object name is not NUL-terminated\n" | 385 | "Your BIOS is broken; ANDD object name is not NUL-terminated\n" |
386 | "BIOS vendor: %s; Ver: %s; Product Version: %s\n", | 386 | "BIOS vendor: %s; Ver: %s; Product Version: %s\n", |
@@ -390,7 +390,7 @@ static int __init dmar_parse_one_andd(struct acpi_dmar_header *header) | |||
390 | return -EINVAL; | 390 | return -EINVAL; |
391 | } | 391 | } |
392 | pr_info("ANDD device: %x name: %s\n", andd->device_number, | 392 | pr_info("ANDD device: %x name: %s\n", andd->device_number, |
393 | andd->object_name); | 393 | andd->device_name); |
394 | 394 | ||
395 | return 0; | 395 | return 0; |
396 | } | 396 | } |
@@ -448,17 +448,17 @@ dmar_table_print_dmar_entry(struct acpi_dmar_header *header) | |||
448 | (unsigned long long)rmrr->base_address, | 448 | (unsigned long long)rmrr->base_address, |
449 | (unsigned long long)rmrr->end_address); | 449 | (unsigned long long)rmrr->end_address); |
450 | break; | 450 | break; |
451 | case ACPI_DMAR_TYPE_ATSR: | 451 | case ACPI_DMAR_TYPE_ROOT_ATS: |
452 | atsr = container_of(header, struct acpi_dmar_atsr, header); | 452 | atsr = container_of(header, struct acpi_dmar_atsr, header); |
453 | pr_info("ATSR flags: %#x\n", atsr->flags); | 453 | pr_info("ATSR flags: %#x\n", atsr->flags); |
454 | break; | 454 | break; |
455 | case ACPI_DMAR_HARDWARE_AFFINITY: | 455 | case ACPI_DMAR_TYPE_HARDWARE_AFFINITY: |
456 | rhsa = container_of(header, struct acpi_dmar_rhsa, header); | 456 | rhsa = container_of(header, struct acpi_dmar_rhsa, header); |
457 | pr_info("RHSA base: %#016Lx proximity domain: %#x\n", | 457 | pr_info("RHSA base: %#016Lx proximity domain: %#x\n", |
458 | (unsigned long long)rhsa->base_address, | 458 | (unsigned long long)rhsa->base_address, |
459 | rhsa->proximity_domain); | 459 | rhsa->proximity_domain); |
460 | break; | 460 | break; |
461 | case ACPI_DMAR_TYPE_ANDD: | 461 | case ACPI_DMAR_TYPE_NAMESPACE: |
462 | /* We don't print this here because we need to sanity-check | 462 | /* We don't print this here because we need to sanity-check |
463 | it first. So print it in dmar_parse_one_andd() instead. */ | 463 | it first. So print it in dmar_parse_one_andd() instead. */ |
464 | break; | 464 | break; |
@@ -539,15 +539,15 @@ parse_dmar_table(void) | |||
539 | case ACPI_DMAR_TYPE_RESERVED_MEMORY: | 539 | case ACPI_DMAR_TYPE_RESERVED_MEMORY: |
540 | ret = dmar_parse_one_rmrr(entry_header); | 540 | ret = dmar_parse_one_rmrr(entry_header); |
541 | break; | 541 | break; |
542 | case ACPI_DMAR_TYPE_ATSR: | 542 | case ACPI_DMAR_TYPE_ROOT_ATS: |
543 | ret = dmar_parse_one_atsr(entry_header); | 543 | ret = dmar_parse_one_atsr(entry_header); |
544 | break; | 544 | break; |
545 | case ACPI_DMAR_HARDWARE_AFFINITY: | 545 | case ACPI_DMAR_TYPE_HARDWARE_AFFINITY: |
546 | #ifdef CONFIG_ACPI_NUMA | 546 | #ifdef CONFIG_ACPI_NUMA |
547 | ret = dmar_parse_one_rhsa(entry_header); | 547 | ret = dmar_parse_one_rhsa(entry_header); |
548 | #endif | 548 | #endif |
549 | break; | 549 | break; |
550 | case ACPI_DMAR_TYPE_ANDD: | 550 | case ACPI_DMAR_TYPE_NAMESPACE: |
551 | ret = dmar_parse_one_andd(entry_header); | 551 | ret = dmar_parse_one_andd(entry_header); |
552 | break; | 552 | break; |
553 | default: | 553 | default: |
@@ -631,7 +631,7 @@ static void __init dmar_acpi_insert_dev_scope(u8 device_number, | |||
631 | for (scope = (void *)(drhd + 1); | 631 | for (scope = (void *)(drhd + 1); |
632 | (unsigned long)scope < ((unsigned long)drhd) + drhd->header.length; | 632 | (unsigned long)scope < ((unsigned long)drhd) + drhd->header.length; |
633 | scope = ((void *)scope) + scope->length) { | 633 | scope = ((void *)scope) + scope->length) { |
634 | if (scope->entry_type != ACPI_DMAR_SCOPE_TYPE_ACPI) | 634 | if (scope->entry_type != ACPI_DMAR_SCOPE_TYPE_NAMESPACE) |
635 | continue; | 635 | continue; |
636 | if (scope->enumeration_id != device_number) | 636 | if (scope->enumeration_id != device_number) |
637 | continue; | 637 | continue; |
@@ -666,21 +666,21 @@ static int __init dmar_acpi_dev_scope_init(void) | |||
666 | for (andd = (void *)dmar_tbl + sizeof(struct acpi_table_dmar); | 666 | for (andd = (void *)dmar_tbl + sizeof(struct acpi_table_dmar); |
667 | ((unsigned long)andd) < ((unsigned long)dmar_tbl) + dmar_tbl->length; | 667 | ((unsigned long)andd) < ((unsigned long)dmar_tbl) + dmar_tbl->length; |
668 | andd = ((void *)andd) + andd->header.length) { | 668 | andd = ((void *)andd) + andd->header.length) { |
669 | if (andd->header.type == ACPI_DMAR_TYPE_ANDD) { | 669 | if (andd->header.type == ACPI_DMAR_TYPE_NAMESPACE) { |
670 | acpi_handle h; | 670 | acpi_handle h; |
671 | struct acpi_device *adev; | 671 | struct acpi_device *adev; |
672 | 672 | ||
673 | if (!ACPI_SUCCESS(acpi_get_handle(ACPI_ROOT_OBJECT, | 673 | if (!ACPI_SUCCESS(acpi_get_handle(ACPI_ROOT_OBJECT, |
674 | andd->object_name, | 674 | andd->device_name, |
675 | &h))) { | 675 | &h))) { |
676 | pr_err("Failed to find handle for ACPI object %s\n", | 676 | pr_err("Failed to find handle for ACPI object %s\n", |
677 | andd->object_name); | 677 | andd->device_name); |
678 | continue; | 678 | continue; |
679 | } | 679 | } |
680 | acpi_bus_get_device(h, &adev); | 680 | acpi_bus_get_device(h, &adev); |
681 | if (!adev) { | 681 | if (!adev) { |
682 | pr_err("Failed to get device for ACPI object %s\n", | 682 | pr_err("Failed to get device for ACPI object %s\n", |
683 | andd->object_name); | 683 | andd->device_name); |
684 | continue; | 684 | continue; |
685 | } | 685 | } |
686 | dmar_acpi_insert_dev_scope(andd->device_number, adev); | 686 | dmar_acpi_insert_dev_scope(andd->device_number, adev); |