diff options
| author | John Garry <john.garry@huawei.com> | 2019-02-07 11:14:21 -0500 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2019-02-07 17:16:08 -0500 |
| commit | 6cafe700b08cfd261a279b9e5ed99f3a346fe3b0 (patch) | |
| tree | 92b7e05bac5867fe4e71df7bfaf835dffba8dbf1 | |
| parent | 98a455d91e7116ca417bc37da6aa2dd633206a6f (diff) | |
ACPI/PPTT: Add acpi_pptt_warn_missing() to consolidate logs
For a system using ACPI-based FW without a PPTT, we may get many warnings
about the lack of a PPTT, as shown:
root@(none)$ dmesg | grep -i pptt
[ 0.010125] ACPI PPTT: No PPTT table found, cpu topology may be inaccurate
[ 7.138339] ACPI PPTT: No PPTT table found, cache topology may be inaccurate
[ 7.145368] ACPI PPTT: No PPTT table found, cache topology may be inaccurate
These logs are generated with pr_warn_once(), so the intention was for a
single log, but the logs overlap, so consolidate them.
Signed-off-by: John Garry <john.garry@huawei.com>
Reviewed-by: Jeremy Linton <jeremy.linton@arm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
| -rw-r--r-- | drivers/acpi/pptt.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/acpi/pptt.c b/drivers/acpi/pptt.c index da031b1df6f5..ad31c50de3be 100644 --- a/drivers/acpi/pptt.c +++ b/drivers/acpi/pptt.c | |||
| @@ -451,6 +451,11 @@ static struct acpi_pptt_processor *acpi_find_processor_package_id(struct acpi_ta | |||
| 451 | return cpu; | 451 | return cpu; |
| 452 | } | 452 | } |
| 453 | 453 | ||
| 454 | static void acpi_pptt_warn_missing(void) | ||
| 455 | { | ||
| 456 | pr_warn_once("No PPTT table found, cpu and cache topology may be inaccurate\n"); | ||
| 457 | } | ||
| 458 | |||
| 454 | /** | 459 | /** |
| 455 | * topology_get_acpi_cpu_tag() - Find a unique topology value for a feature | 460 | * topology_get_acpi_cpu_tag() - Find a unique topology value for a feature |
| 456 | * @table: Pointer to the head of the PPTT table | 461 | * @table: Pointer to the head of the PPTT table |
| @@ -498,7 +503,7 @@ static int find_acpi_cpu_topology_tag(unsigned int cpu, int level, int flag) | |||
| 498 | 503 | ||
| 499 | status = acpi_get_table(ACPI_SIG_PPTT, 0, &table); | 504 | status = acpi_get_table(ACPI_SIG_PPTT, 0, &table); |
| 500 | if (ACPI_FAILURE(status)) { | 505 | if (ACPI_FAILURE(status)) { |
| 501 | pr_warn_once("No PPTT table found, cpu topology may be inaccurate\n"); | 506 | acpi_pptt_warn_missing(); |
| 502 | return -ENOENT; | 507 | return -ENOENT; |
| 503 | } | 508 | } |
| 504 | retval = topology_get_acpi_cpu_tag(table, cpu, level, flag); | 509 | retval = topology_get_acpi_cpu_tag(table, cpu, level, flag); |
| @@ -531,7 +536,7 @@ int acpi_find_last_cache_level(unsigned int cpu) | |||
| 531 | acpi_cpu_id = get_acpi_id_for_cpu(cpu); | 536 | acpi_cpu_id = get_acpi_id_for_cpu(cpu); |
| 532 | status = acpi_get_table(ACPI_SIG_PPTT, 0, &table); | 537 | status = acpi_get_table(ACPI_SIG_PPTT, 0, &table); |
| 533 | if (ACPI_FAILURE(status)) { | 538 | if (ACPI_FAILURE(status)) { |
| 534 | pr_warn_once("No PPTT table found, cache topology may be inaccurate\n"); | 539 | acpi_pptt_warn_missing(); |
| 535 | } else { | 540 | } else { |
| 536 | number_of_levels = acpi_find_cache_levels(table, acpi_cpu_id); | 541 | number_of_levels = acpi_find_cache_levels(table, acpi_cpu_id); |
| 537 | acpi_put_table(table); | 542 | acpi_put_table(table); |
| @@ -563,7 +568,7 @@ int cache_setup_acpi(unsigned int cpu) | |||
| 563 | 568 | ||
| 564 | status = acpi_get_table(ACPI_SIG_PPTT, 0, &table); | 569 | status = acpi_get_table(ACPI_SIG_PPTT, 0, &table); |
| 565 | if (ACPI_FAILURE(status)) { | 570 | if (ACPI_FAILURE(status)) { |
| 566 | pr_warn_once("No PPTT table found, cache topology may be inaccurate\n"); | 571 | acpi_pptt_warn_missing(); |
| 567 | return -ENOENT; | 572 | return -ENOENT; |
| 568 | } | 573 | } |
| 569 | 574 | ||
| @@ -617,7 +622,7 @@ int find_acpi_cpu_cache_topology(unsigned int cpu, int level) | |||
| 617 | 622 | ||
| 618 | status = acpi_get_table(ACPI_SIG_PPTT, 0, &table); | 623 | status = acpi_get_table(ACPI_SIG_PPTT, 0, &table); |
| 619 | if (ACPI_FAILURE(status)) { | 624 | if (ACPI_FAILURE(status)) { |
| 620 | pr_warn_once("No PPTT table found, topology may be inaccurate\n"); | 625 | acpi_pptt_warn_missing(); |
| 621 | return -ENOENT; | 626 | return -ENOENT; |
| 622 | } | 627 | } |
| 623 | 628 | ||
