From: Benjamin Bara <bbara93@gmail.com>
To: Wolfram Sang <wsa@kernel.org>, Lee Jones <lee@kernel.org>,
rafael.j.wysocki@intel.com
Cc: dmitry.osipenko@collabora.com, peterz@infradead.org,
jonathanh@nvidia.com, richard.leitner@linux.dev,
treding@nvidia.com, linux-kernel@vger.kernel.org,
linux-i2c@vger.kernel.org, linux-tegra@vger.kernel.org,
Benjamin Bara <benjamin.bara@skidata.com>,
stable@vger.kernel.org
Subject: [PATCH v4 0/4] mfd: tps6586x: register restart handler
Date: Thu, 13 Apr 2023 09:46:38 +0200 [thread overview]
Message-ID: <20230327-tegra-pmic-reboot-v4-0-b24af219fb47@skidata.com> (raw)
Hi!
The Tegra20 requires an enabled VDE power domain during startup. As the
VDE is currently not used, it is disabled during runtime.
Since 8f0c714ad9be, there is a workaround for the "normal restart path"
which enables the VDE before doing PMC's warm reboot. This workaround is
not executed in the "emergency restart path", leading to a hang-up
during start.
This series implements and registers a new pmic-based restart handler
for boards with tps6586x. This cold reboot ensures that the VDE power
domain is enabled during startup on tegra20-based boards.
Since bae1d3a05a8b, i2c transfers are non-atomic while preemption is
disabled (which is e.g. done during panic()). This could lead to
warnings ("Voluntary context switch within RCU") in i2c-based restart
handlers during emergency restart. The state of preemption should be
detected by i2c_in_atomic_xfer_mode() to use atomic i2c xfer when
required. Beside the new system_state check, the check is the same as
the one pre v5.2.
v3: https://lore.kernel.org/r/20230327-tegra-pmic-reboot-v3-0-3c0ee3567e14@skidata.com
v2: https://lore.kernel.org/all/20230320220345.1463687-1-bbara93@gmail.com/
system_state: https://lore.kernel.org/all/20230320213230.1459532-1-bbara93@gmail.com/
v1: https://lore.kernel.org/all/20230316164703.1157813-1-bbara93@gmail.com/
v4:
- 1,2: add "Fixes" and adapt commit messages
- 4: reduce delay after requesting the restart (as suggested by Dmitry)
v3:
- bring system_state back in this series
- do atomic i2c xfer if not preemptible (as suggested by Dmitry)
- fix style issues mentioned by Dmitry
- add cc stable as suggested by Dmitry
- add explanation why this is needed for Jon
v2:
- use devm-based restart handler
- convert the existing power_off handler to a devm-based handler
- handle system_state in extra series
---
Benjamin Bara (4):
kernel/reboot: emergency_restart: set correct system_state
i2c: core: run atomic i2c xfer when !preemptible
mfd: tps6586x: use devm-based power off handler
mfd: tps6586x: register restart handler
drivers/i2c/i2c-core.h | 2 +-
drivers/mfd/tps6586x.c | 45 +++++++++++++++++++++++++++++++++++++--------
kernel/reboot.c | 1 +
3 files changed, 39 insertions(+), 9 deletions(-)
---
base-commit: 197b6b60ae7bc51dd0814953c562833143b292aa
change-id: 20230327-tegra-pmic-reboot-4175ff814a4b
Best regards,
--
Benjamin Bara <benjamin.bara@skidata.com>
next reply other threads:[~2023-04-13 7:47 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-13 7:46 Benjamin Bara [this message]
2023-04-13 7:46 ` [PATCH v4 1/4] kernel/reboot: emergency_restart: set correct system_state Benjamin Bara
2023-04-13 7:46 ` [PATCH v4 2/4] i2c: core: run atomic i2c xfer when !preemptible Benjamin Bara
2023-04-13 19:51 ` Wolfram Sang
2023-04-13 7:46 ` [PATCH v4 3/4] mfd: tps6586x: use devm-based power off handler Benjamin Bara
2023-04-13 20:36 ` Dmitry Osipenko
2023-04-14 6:15 ` Benjamin Bara
2023-04-24 10:42 ` Dmitry Osipenko
2023-04-24 12:07 ` Benjamin Bara
2023-04-13 7:46 ` [PATCH v4 4/4] mfd: tps6586x: register restart handler Benjamin Bara
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=20230327-tegra-pmic-reboot-v4-0-b24af219fb47@skidata.com \
--to=bbara93@gmail.com \
--cc=benjamin.bara@skidata.com \
--cc=dmitry.osipenko@collabora.com \
--cc=jonathanh@nvidia.com \
--cc=lee@kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=rafael.j.wysocki@intel.com \
--cc=richard.leitner@linux.dev \
--cc=stable@vger.kernel.org \
--cc=treding@nvidia.com \
--cc=wsa@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.