linux-tegra.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/4] mfd: tps6586x: register restart handler
@ 2023-03-27 13:57 Benjamin Bara
  2023-03-27 13:57 ` [PATCH v3 1/4] kernel/reboot: emergency_restart: set correct system_state Benjamin Bara
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Benjamin Bara @ 2023-03-27 13:57 UTC (permalink / raw)
  To: Wolfram Sang, Lee Jones, rafael.j.wysocki
  Cc: dmitry.osipenko, jonathanh, richard.leitner, treding,
	linux-kernel, linux-i2c, linux-tegra, Benjamin Bara, stable

Hi!

The Tegra20 requires an enabled VDE power domain during startup.
As the VDE is currently not used, it is disabled during runtime.
Since [1], 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 on
tegra20-based boards.

During panic(), preemption is disabled.
This should be correctly detected by i2c_in_atomic_xfer_mode() to use
atomic i2c xfer in this late stage. This avoids warnings regarding
"Voluntary context switch within RCU".

[1] 8f0c714ad9be1ef774c98e8819a7a571451cb019
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/

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 | 43 +++++++++++++++++++++++++++++++++++--------
 kernel/reboot.c        |  1 +
 3 files changed, 37 insertions(+), 9 deletions(-)
---
base-commit: 197b6b60ae7bc51dd0814953c562833143b292aa
change-id: 20230327-tegra-pmic-reboot-4175ff814a4b

Best regards,
-- 
Benjamin Bara <benjamin.bara@skidata.com>


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2023-04-04 14:07 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-27 13:57 [PATCH v3 0/4] mfd: tps6586x: register restart handler Benjamin Bara
2023-03-27 13:57 ` [PATCH v3 1/4] kernel/reboot: emergency_restart: set correct system_state Benjamin Bara
2023-03-27 13:57 ` [PATCH v3 2/4] i2c: core: run atomic i2c xfer when !preemptible Benjamin Bara
2023-03-27 14:54   ` Wolfram Sang
2023-03-27 16:23     ` Benjamin Bara
2023-03-29 19:50       ` Wolfram Sang
2023-04-02 10:04         ` Benjamin Bara
2023-04-04  8:22           ` Peter Zijlstra
2023-04-04 14:06             ` Benjamin Bara
2023-03-27 13:57 ` [PATCH v3 3/4] mfd: tps6586x: use devm-based power off handler Benjamin Bara
2023-04-02 22:28   ` Dmitry Osipenko
2023-03-27 13:57 ` [PATCH v3 4/4] mfd: tps6586x: register restart handler Benjamin Bara
2023-04-02 22:30   ` Dmitry Osipenko
2023-04-03  6:50     ` Benjamin Bara
2023-04-03 15:44       ` Dmitry Osipenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).