From: "Mario Limonciello (AMD)" <superm1@kernel.org>
To: Alex Deucher <alexander.deucher@amd.com>,
"Rafael J . Wysocki" <rafael@kernel.org>
Cc: Samuel Zhang <guoqing.zhang@amd.com>,
amd-gfx@lists.freedesktop.org (open list:RADEON and AMDGPU DRM
DRIVERS),
linux-pm@vger.kernel.org (open list:HIBERNATION (aka Software
Suspend, aka swsusp)), Mario Limonciello <superm1@kernel.org>,
Ionut Nechita <ionut_n2001@yahoo.com>
Subject: [PATCH 2/3] PM: hibernate: Add pm_hibernation_mode_is_suspend()
Date: Wed, 24 Sep 2025 15:52:10 -0500 [thread overview]
Message-ID: <20250924205211.1059571-3-superm1@kernel.org> (raw)
In-Reply-To: <20250924205211.1059571-1-superm1@kernel.org>
Some drivers have different flows for hibernation and suspend. If
the driver opportunistically will skip thaw() then it needs a hint
to know what is happening after the hibernate.
Introduce a new symbol pm_hibernation_mode_is_suspend() that drivers
can call to determine if suspending the system for this purpose.
Tested-by: Ionut Nechita <ionut_n2001@yahoo.com>
Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
---
include/linux/suspend.h | 2 ++
kernel/power/hibernate.c | 9 +++++++++
2 files changed, 11 insertions(+)
diff --git a/include/linux/suspend.h b/include/linux/suspend.h
index 317ae31e89b3..4b11efd68729 100644
--- a/include/linux/suspend.h
+++ b/include/linux/suspend.h
@@ -479,6 +479,7 @@ extern void unlock_system_sleep(unsigned int);
extern bool pm_sleep_transition_in_progress(void);
bool pm_hibernate_is_recovering(void);
+bool pm_hibernation_mode_is_suspend(void);
#else /* !CONFIG_PM_SLEEP */
@@ -513,6 +514,7 @@ static inline void unlock_system_sleep(unsigned int flags) {}
static inline bool pm_sleep_transition_in_progress(void) { return false; }
static inline bool pm_hibernate_is_recovering(void) { return false; }
+static inline bool pm_hibernation_mode_is_suspend(void) { return false; }
#endif /* !CONFIG_PM_SLEEP */
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
index 1defe8081e64..a991a1362d77 100644
--- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c
@@ -80,6 +80,15 @@ static const struct platform_hibernation_ops *hibernation_ops;
static atomic_t hibernate_atomic = ATOMIC_INIT(1);
+/**
+ * pm_hibernation_mode_is_suspend - Check if hibernation has been set to suspend
+ */
+bool pm_hibernation_mode_is_suspend(void)
+{
+ return hibernation_mode == HIBERNATION_SUSPEND;
+}
+EXPORT_SYMBOL_GPL(pm_hibernation_mode_is_suspend);
+
bool hibernate_acquire(void)
{
return atomic_add_unless(&hibernate_atomic, -1, 0);
--
2.51.0
next prev parent reply other threads:[~2025-09-24 20:52 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-24 20:52 [PATCH 0/3] Fixes for hybrid sleep Mario Limonciello (AMD)
2025-09-24 20:52 ` [PATCH 1/3] PM: hibernate: Fix hybrid-sleep Mario Limonciello (AMD)
2025-09-25 15:30 ` kernel test robot
2025-09-24 20:52 ` Mario Limonciello (AMD) [this message]
2025-09-25 15:30 ` [PATCH 2/3] PM: hibernate: Add pm_hibernation_mode_is_suspend() kernel test robot
2025-09-24 20:52 ` [PATCH 3/3] drm/amd: Fix hybrid sleep Mario Limonciello (AMD)
2025-09-24 21:05 ` Deucher, Alexander
2025-09-25 13:56 ` [PATCH 0/3] Fixes for " Kenneth Crudup
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250924205211.1059571-3-superm1@kernel.org \
--to=superm1@kernel.org \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=guoqing.zhang@amd.com \
--cc=ionut_n2001@yahoo.com \
--cc=linux-pm@vger.kernel.org \
--cc=rafael@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.