mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 17:08:10 +00:00
Merge branch 'for-next/acpi' into for-next/core
* for-next/acpi: arm64: acpi: Honour firmware_signature field of FACS, if it exists ACPICA: Detect FACS even for hardware reduced platforms
This commit is contained in:
commit
b2b7cc6dd0
3 changed files with 24 additions and 23 deletions
|
@ -26,6 +26,7 @@
|
|||
#include <linux/libfdt.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/suspend.h>
|
||||
#include <linux/pgtable.h>
|
||||
|
||||
#include <acpi/ghes.h>
|
||||
|
@ -227,6 +228,15 @@ void __init acpi_boot_table_init(void)
|
|||
if (earlycon_acpi_spcr_enable)
|
||||
early_init_dt_scan_chosen_stdout();
|
||||
} else {
|
||||
#ifdef CONFIG_HIBERNATION
|
||||
struct acpi_table_header *facs = NULL;
|
||||
acpi_get_table(ACPI_SIG_FACS, 1, &facs);
|
||||
if (facs) {
|
||||
swsusp_hardware_signature =
|
||||
((struct acpi_table_facs *)facs)->hardware_signature;
|
||||
acpi_put_table(facs);
|
||||
}
|
||||
#endif
|
||||
acpi_parse_spcr(earlycon_acpi_spcr_enable, true);
|
||||
if (IS_ENABLED(CONFIG_ACPI_BGRT))
|
||||
acpi_table_parse(ACPI_SIG_BGRT, acpi_parse_bgrt);
|
||||
|
|
|
@ -315,23 +315,19 @@ void acpi_tb_parse_fadt(void)
|
|||
ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL,
|
||||
NULL, FALSE, TRUE, &acpi_gbl_dsdt_index);
|
||||
|
||||
/* If Hardware Reduced flag is set, there is no FACS */
|
||||
|
||||
if (!acpi_gbl_reduced_hardware) {
|
||||
if (acpi_gbl_FADT.facs) {
|
||||
acpi_tb_install_standard_table((acpi_physical_address)
|
||||
acpi_gbl_FADT.facs,
|
||||
ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL,
|
||||
NULL, FALSE, TRUE,
|
||||
&acpi_gbl_facs_index);
|
||||
}
|
||||
if (acpi_gbl_FADT.Xfacs) {
|
||||
acpi_tb_install_standard_table((acpi_physical_address)
|
||||
acpi_gbl_FADT.Xfacs,
|
||||
ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL,
|
||||
NULL, FALSE, TRUE,
|
||||
&acpi_gbl_xfacs_index);
|
||||
}
|
||||
if (acpi_gbl_FADT.facs) {
|
||||
acpi_tb_install_standard_table((acpi_physical_address)
|
||||
acpi_gbl_FADT.facs,
|
||||
ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL,
|
||||
NULL, FALSE, TRUE,
|
||||
&acpi_gbl_facs_index);
|
||||
}
|
||||
if (acpi_gbl_FADT.Xfacs) {
|
||||
acpi_tb_install_standard_table((acpi_physical_address)
|
||||
acpi_gbl_FADT.Xfacs,
|
||||
ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL,
|
||||
NULL, FALSE, TRUE,
|
||||
&acpi_gbl_xfacs_index);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -36,12 +36,7 @@ acpi_status acpi_tb_initialize_facs(void)
|
|||
{
|
||||
struct acpi_table_facs *facs;
|
||||
|
||||
/* If Hardware Reduced flag is set, there is no FACS */
|
||||
|
||||
if (acpi_gbl_reduced_hardware) {
|
||||
acpi_gbl_FACS = NULL;
|
||||
return (AE_OK);
|
||||
} else if (acpi_gbl_FADT.Xfacs &&
|
||||
if (acpi_gbl_FADT.Xfacs &&
|
||||
(!acpi_gbl_FADT.facs
|
||||
|| !acpi_gbl_use32_bit_facs_addresses)) {
|
||||
(void)acpi_get_table_by_index(acpi_gbl_xfacs_index,
|
||||
|
|
Loading…
Reference in a new issue