* [PATCH v3 0/2] S3 wakeup support for hardware reduced model
@ 2024-08-27 2:58 Jiaqing Zhao
2024-08-27 2:58 ` [PATCH v3 1/2] ACPICA: Detect FACS in reduced hardware build Jiaqing Zhao
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Jiaqing Zhao @ 2024-08-27 2:58 UTC (permalink / raw)
To: Robert Moore, Rafael J. Wysocki, Len Brown, linux-acpi, acpica-devel
Cc: linux-kernel, Jiaqing Zhao
S3 wakeup requires waking vector in FACS table, which is typically set
by OS. This patchset enables FACS table support and allows setting
waking vector in "Hardware-reduced ACPI support only" builds
(CONFIG_ACPI_REDUCED_HARDWARE_ONLY=y).
Link: https://github.com/acpica/acpica/pull/960
Link: https://github.com/acpica/acpica/commit/ee53ed6b5452612bb44af542b68d605f8b2b1104
v2->v3:
* Remove extra code style changes to align with original ACPICA commit.
v1->v2:
* Not removing acpi_hw_set_firmware_waking_vector() declaration in
hwxfsleep.c
* Change was merged in ACPICA project, add links to it.
Jiaqing Zhao (2):
ACPICA: Detect FACS in reduced hardware build
ACPICA: Allow setting waking vector on reduced hardware platforms
drivers/acpi/acpica/acglobal.h | 6 +-----
drivers/acpi/acpica/hwxfsleep.c | 15 ++++++---------
drivers/acpi/acpica/tbutils.c | 2 --
drivers/acpi/acpica/utxfinit.c | 24 ++++++++++++------------
include/acpi/acconfig.h | 1 -
include/acpi/acpixf.h | 8 ++++----
6 files changed, 23 insertions(+), 33 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v3 1/2] ACPICA: Detect FACS in reduced hardware build
2024-08-27 2:58 [PATCH v3 0/2] S3 wakeup support for hardware reduced model Jiaqing Zhao
@ 2024-08-27 2:58 ` Jiaqing Zhao
2024-08-27 2:58 ` [PATCH v3 2/2] ACPICA: Allow setting waking vector on reduced hardware platforms Jiaqing Zhao
2024-08-29 12:44 ` [PATCH v3 0/2] S3 wakeup support for hardware reduced model Rafael J. Wysocki
2 siblings, 0 replies; 4+ messages in thread
From: Jiaqing Zhao @ 2024-08-27 2:58 UTC (permalink / raw)
To: Robert Moore, Rafael J. Wysocki, Len Brown, linux-acpi, acpica-devel
Cc: linux-kernel, Jiaqing Zhao
According to Section 5.2.10 of ACPI Specification, FACS is optional
in reduced hardware model. Enable the detection for "Hardware-reduced
ACPI support only" build (CONFIG_ACPI_REDUCED_HARDWARE_ONLY=y) also.
Link: https://github.com/acpica/acpica/commit/ee53ed6b5452612bb44af542b68d605f8b2b1104
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
---
drivers/acpi/acpica/acglobal.h | 6 +-----
drivers/acpi/acpica/tbutils.c | 2 --
drivers/acpi/acpica/utxfinit.c | 24 ++++++++++++------------
include/acpi/acconfig.h | 1 -
4 files changed, 13 insertions(+), 20 deletions(-)
diff --git a/drivers/acpi/acpica/acglobal.h b/drivers/acpi/acpica/acglobal.h
index f4c90fc99be2..309ce8efb4f6 100644
--- a/drivers/acpi/acpica/acglobal.h
+++ b/drivers/acpi/acpica/acglobal.h
@@ -29,11 +29,7 @@ ACPI_INIT_GLOBAL(u32, acpi_gbl_dsdt_index, ACPI_INVALID_TABLE_INDEX);
ACPI_INIT_GLOBAL(u32, acpi_gbl_facs_index, ACPI_INVALID_TABLE_INDEX);
ACPI_INIT_GLOBAL(u32, acpi_gbl_xfacs_index, ACPI_INVALID_TABLE_INDEX);
ACPI_INIT_GLOBAL(u32, acpi_gbl_fadt_index, ACPI_INVALID_TABLE_INDEX);
-
-#if (!ACPI_REDUCED_HARDWARE)
-ACPI_GLOBAL(struct acpi_table_facs *, acpi_gbl_FACS);
-
-#endif /* !ACPI_REDUCED_HARDWARE */
+ACPI_INIT_GLOBAL(struct acpi_table_facs *, acpi_gbl_FACS, NULL);
/* These addresses are calculated from the FADT Event Block addresses */
diff --git a/drivers/acpi/acpica/tbutils.c b/drivers/acpi/acpica/tbutils.c
index 15fa68a5ea6e..dad7425fce3f 100644
--- a/drivers/acpi/acpica/tbutils.c
+++ b/drivers/acpi/acpica/tbutils.c
@@ -18,7 +18,6 @@ ACPI_MODULE_NAME("tbutils")
static acpi_physical_address
acpi_tb_get_root_table_entry(u8 *table_entry, u32 table_entry_size);
-#if (!ACPI_REDUCED_HARDWARE)
/*******************************************************************************
*
* FUNCTION: acpi_tb_initialize_facs
@@ -56,7 +55,6 @@ acpi_status acpi_tb_initialize_facs(void)
return (AE_OK);
}
-#endif /* !ACPI_REDUCED_HARDWARE */
/*******************************************************************************
*
diff --git a/drivers/acpi/acpica/utxfinit.c b/drivers/acpi/acpica/utxfinit.c
index 1915bec2b279..70ae0afa7939 100644
--- a/drivers/acpi/acpica/utxfinit.c
+++ b/drivers/acpi/acpica/utxfinit.c
@@ -120,6 +120,18 @@ acpi_status ACPI_INIT_FUNCTION acpi_enable_subsystem(u32 flags)
*/
acpi_gbl_early_initialization = FALSE;
+ /*
+ * Obtain a permanent mapping for the FACS. This is required for the
+ * Global Lock and the Firmware Waking Vector
+ */
+ if (!(flags & ACPI_NO_FACS_INIT)) {
+ status = acpi_tb_initialize_facs();
+ if (ACPI_FAILURE(status)) {
+ ACPI_WARNING((AE_INFO, "Could not map the FACS table"));
+ return_ACPI_STATUS(status);
+ }
+ }
+
#if (!ACPI_REDUCED_HARDWARE)
/* Enable ACPI mode */
@@ -137,18 +149,6 @@ acpi_status ACPI_INIT_FUNCTION acpi_enable_subsystem(u32 flags)
}
}
- /*
- * Obtain a permanent mapping for the FACS. This is required for the
- * Global Lock and the Firmware Waking Vector
- */
- if (!(flags & ACPI_NO_FACS_INIT)) {
- status = acpi_tb_initialize_facs();
- if (ACPI_FAILURE(status)) {
- ACPI_WARNING((AE_INFO, "Could not map the FACS table"));
- return_ACPI_STATUS(status);
- }
- }
-
/*
* Initialize ACPI Event handling (Fixed and General Purpose)
*
diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h
index d768d9c568cf..2da5f4a6e814 100644
--- a/include/acpi/acconfig.h
+++ b/include/acpi/acconfig.h
@@ -67,7 +67,6 @@
* General Purpose Events (GPEs)
* Global Lock
* ACPI PM timer
- * FACS table (Waking vectors and Global Lock)
*/
#ifndef ACPI_REDUCED_HARDWARE
#define ACPI_REDUCED_HARDWARE FALSE
--
2.43.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v3 2/2] ACPICA: Allow setting waking vector on reduced hardware platforms
2024-08-27 2:58 [PATCH v3 0/2] S3 wakeup support for hardware reduced model Jiaqing Zhao
2024-08-27 2:58 ` [PATCH v3 1/2] ACPICA: Detect FACS in reduced hardware build Jiaqing Zhao
@ 2024-08-27 2:58 ` Jiaqing Zhao
2024-08-29 12:44 ` [PATCH v3 0/2] S3 wakeup support for hardware reduced model Rafael J. Wysocki
2 siblings, 0 replies; 4+ messages in thread
From: Jiaqing Zhao @ 2024-08-27 2:58 UTC (permalink / raw)
To: Robert Moore, Rafael J. Wysocki, Len Brown, linux-acpi, acpica-devel
Cc: linux-kernel, Jiaqing Zhao
Allow setting waking vector in FACS table on reduced hardware platforms
to support S3 wakeup.
Link: https://github.com/acpica/acpica/commit/ee53ed6b5452612bb44af542b68d605f8b2b1104
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
---
drivers/acpi/acpica/hwxfsleep.c | 15 ++++++---------
include/acpi/acpixf.h | 8 ++++----
2 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/drivers/acpi/acpica/hwxfsleep.c b/drivers/acpi/acpica/hwxfsleep.c
index 36ea48f64110..8dbf83aeb455 100644
--- a/drivers/acpi/acpica/hwxfsleep.c
+++ b/drivers/acpi/acpica/hwxfsleep.c
@@ -16,20 +16,11 @@
ACPI_MODULE_NAME("hwxfsleep")
/* Local prototypes */
-#if (!ACPI_REDUCED_HARDWARE)
static acpi_status
acpi_hw_set_firmware_waking_vector(struct acpi_table_facs *facs,
acpi_physical_address physical_address,
acpi_physical_address physical_address64);
-#endif
-
-/*
- * These functions are removed for the ACPI_REDUCED_HARDWARE case:
- * acpi_set_firmware_waking_vector
- * acpi_enter_sleep_state_s4bios
- */
-#if (!ACPI_REDUCED_HARDWARE)
/*******************************************************************************
*
* FUNCTION: acpi_hw_set_firmware_waking_vector
@@ -115,6 +106,12 @@ acpi_set_firmware_waking_vector(acpi_physical_address physical_address,
ACPI_EXPORT_SYMBOL(acpi_set_firmware_waking_vector)
+/*
+ * These functions are removed for the ACPI_REDUCED_HARDWARE case:
+ * acpi_enter_sleep_state_s4bios
+ */
+
+#if (!ACPI_REDUCED_HARDWARE)
/*******************************************************************************
*
* FUNCTION: acpi_enter_sleep_state_s4bios
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h
index 80dc36f9d527..99bb45a46600 100644
--- a/include/acpi/acpixf.h
+++ b/include/acpi/acpixf.h
@@ -881,10 +881,10 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status
acpi_leave_sleep_state_prep(u8 sleep_state))
ACPI_EXTERNAL_RETURN_STATUS(acpi_status acpi_leave_sleep_state(u8 sleep_state))
-ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
- acpi_set_firmware_waking_vector
- (acpi_physical_address physical_address,
- acpi_physical_address physical_address64))
+ACPI_EXTERNAL_RETURN_STATUS(acpi_status
+ acpi_set_firmware_waking_vector
+ (acpi_physical_address physical_address,
+ acpi_physical_address physical_address64))
/*
* ACPI Timer interfaces
*/
--
2.43.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3 0/2] S3 wakeup support for hardware reduced model
2024-08-27 2:58 [PATCH v3 0/2] S3 wakeup support for hardware reduced model Jiaqing Zhao
2024-08-27 2:58 ` [PATCH v3 1/2] ACPICA: Detect FACS in reduced hardware build Jiaqing Zhao
2024-08-27 2:58 ` [PATCH v3 2/2] ACPICA: Allow setting waking vector on reduced hardware platforms Jiaqing Zhao
@ 2024-08-29 12:44 ` Rafael J. Wysocki
2 siblings, 0 replies; 4+ messages in thread
From: Rafael J. Wysocki @ 2024-08-29 12:44 UTC (permalink / raw)
To: Jiaqing Zhao
Cc: Robert Moore, Rafael J. Wysocki, Len Brown, linux-acpi,
acpica-devel, linux-kernel
On Tue, Aug 27, 2024 at 4:58 AM Jiaqing Zhao
<jiaqing.zhao@linux.intel.com> wrote:
>
> S3 wakeup requires waking vector in FACS table, which is typically set
> by OS. This patchset enables FACS table support and allows setting
> waking vector in "Hardware-reduced ACPI support only" builds
> (CONFIG_ACPI_REDUCED_HARDWARE_ONLY=y).
>
> Link: https://github.com/acpica/acpica/pull/960
> Link: https://github.com/acpica/acpica/commit/ee53ed6b5452612bb44af542b68d605f8b2b1104
>
> v2->v3:
> * Remove extra code style changes to align with original ACPICA commit.
> v1->v2:
> * Not removing acpi_hw_set_firmware_waking_vector() declaration in
> hwxfsleep.c
> * Change was merged in ACPICA project, add links to it.
>
> Jiaqing Zhao (2):
> ACPICA: Detect FACS in reduced hardware build
> ACPICA: Allow setting waking vector on reduced hardware platforms
>
> drivers/acpi/acpica/acglobal.h | 6 +-----
> drivers/acpi/acpica/hwxfsleep.c | 15 ++++++---------
> drivers/acpi/acpica/tbutils.c | 2 --
> drivers/acpi/acpica/utxfinit.c | 24 ++++++++++++------------
> include/acpi/acconfig.h | 1 -
> include/acpi/acpixf.h | 8 ++++----
> 6 files changed, 23 insertions(+), 33 deletions(-)
>
> --
Both patches applied as 6.12 material, thanks!
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-08-29 12:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-08-27 2:58 [PATCH v3 0/2] S3 wakeup support for hardware reduced model Jiaqing Zhao
2024-08-27 2:58 ` [PATCH v3 1/2] ACPICA: Detect FACS in reduced hardware build Jiaqing Zhao
2024-08-27 2:58 ` [PATCH v3 2/2] ACPICA: Allow setting waking vector on reduced hardware platforms Jiaqing Zhao
2024-08-29 12:44 ` [PATCH v3 0/2] S3 wakeup support for hardware reduced model Rafael J. Wysocki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®