From: Oleksij Rempel <o.rempel@pengutronix.de>
To: Sebastian Reichel <sre@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Cc: "Oleksij Rempel" <o.rempel@pengutronix.de>,
kernel@pengutronix.de, linux-kernel@vger.kernel.org,
"Liam Girdwood" <lgirdwood@gmail.com>,
"Mark Brown" <broonie@kernel.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Daniel Lezcano" <daniel.lezcano@linaro.org>,
"Zhang Rui" <rui.zhang@intel.com>,
"Lukasz Luba" <lukasz.luba@arm.com>,
linux-pm@vger.kernel.org, devicetree@vger.kernel.org,
"Søren Andersen" <san@skov.dk>
Subject: [RFC PATCH v1 0/8] Introduction of PSCR Framework and Related Components
Date: Wed, 24 Jan 2024 13:21:56 +0100 [thread overview]
Message-ID: <20240124122204.730370-1-o.rempel@pengutronix.de> (raw)
changes v2:
- rename the framework from PSCR to PSCRR (last R is for Recorder)
- extend power on reason header and use it to show detected reason on
system start and in sysfs.
- remove "unknow" reason
- rebase on top of v6.8-rc1
- yaml fixes
- zero reason state on boot
Hello all,
This patch series introduces the Power State Change Reasons (PSCR)
tracking framework and its related components into the kernel. The PSCR
framework is designed for systems where traditional methods of storing
power state change reasons, like PMICs or watchdogs, are inadequate. It
provides a structured way to store reasons for system shutdowns and
reboots, such as under-voltage or software-triggered events, in
non-volatile hardware storage.
These changes are critical for systems requiring detailed postmortem
analysis and where immediate power-down scenarios limit traditional
storage options. The framework also assists bootloaders and early-stage
system components in making informed recovery decisions.
Oleksij Rempel (8):
power: Extend power_on_reason.h for upcoming PSCRR framework
dt-bindings: power: reset: add generic PSCRR binding trackers
power: reset: Introduce PSCR Recording Framework for Non-Volatile
Storage
dt-bindings: power: reset: add bindings for NVMEM hardware storing
PSCR Data
nvmem: provide consumer access to cell size metrics
power: reset: add PSCR NVMEM Driver for Recording Power State Change
Reasons
regulator: set Power State Change Reason before
hw_protection_shutdown()
thermal: core: Record PSCR before hw_protection_shutdown()
.../bindings/power/reset/pscrr-nvmem.yaml | 53 +++
.../bindings/power/reset/pscrr.yaml | 44 +++
drivers/nvmem/core.c | 25 ++
drivers/power/reset/Kconfig | 30 ++
drivers/power/reset/Makefile | 2 +
drivers/power/reset/pscrr-nvmem.c | 121 ++++++
drivers/power/reset/pscrr.c | 353 ++++++++++++++++++
drivers/regulator/core.c | 6 +
drivers/thermal/thermal_core.c | 3 +
include/linux/nvmem-consumer.h | 7 +
include/linux/power/power_on_reason.h | 3 +
include/linux/pscrr.h | 73 ++++
12 files changed, 720 insertions(+)
create mode 100644 Documentation/devicetree/bindings/power/reset/pscrr-nvmem.yaml
create mode 100644 Documentation/devicetree/bindings/power/reset/pscrr.yaml
create mode 100644 drivers/power/reset/pscrr-nvmem.c
create mode 100644 drivers/power/reset/pscrr.c
create mode 100644 include/linux/pscrr.h
--
2.39.2
next reply other threads:[~2024-01-24 12:22 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-24 12:21 Oleksij Rempel [this message]
2024-01-24 12:21 ` [PATCH v2 1/8] power: Extend power_on_reason.h for upcoming PSCRR framework Oleksij Rempel
2024-01-24 12:21 ` [PATCH v2 2/8] dt-bindings: power: reset: add generic PSCRR binding trackers Oleksij Rempel
2024-01-25 10:54 ` Krzysztof Kozlowski
2024-01-24 12:21 ` [PATCH v2 3/8] power: reset: Introduce PSCR Recording Framework for Non-Volatile Storage Oleksij Rempel
2024-01-28 9:05 ` kernel test robot
2024-01-24 12:22 ` [PATCH v2 4/8] dt-bindings: power: reset: add bindings for NVMEM hardware storing PSCR Data Oleksij Rempel
2024-01-25 10:57 ` Krzysztof Kozlowski
2024-01-25 17:11 ` Oleksij Rempel
2024-01-26 9:03 ` Krzysztof Kozlowski
2024-01-26 16:51 ` Oleksij Rempel
2024-01-29 7:43 ` Krzysztof Kozlowski
2024-01-24 12:22 ` [PATCH v2 5/8] nvmem: provide consumer access to cell size metrics Oleksij Rempel
2024-01-24 12:22 ` [PATCH v2 6/8] power: reset: add PSCR NVMEM Driver for Recording Power State Change Reasons Oleksij Rempel
2024-01-28 6:38 ` kernel test robot
2024-01-24 12:22 ` [PATCH v2 7/8] regulator: set Power State Change Reason before hw_protection_shutdown() Oleksij Rempel
2024-01-24 12:22 ` [PATCH v2 8/8] thermal: core: Record PSCR " Oleksij Rempel
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=20240124122204.730370-1-o.rempel@pengutronix.de \
--to=o.rempel@pengutronix.de \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=daniel.lezcano@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=kernel@pengutronix.de \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=lukasz.luba@arm.com \
--cc=rafael@kernel.org \
--cc=robh+dt@kernel.org \
--cc=rui.zhang@intel.com \
--cc=san@skov.dk \
--cc=sre@kernel.org \
--cc=srinivas.kandagatla@linaro.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.