[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230327-tegra-pmic-reboot-v3-0-3c0ee3567e14@skidata.com>
Date: Mon, 27 Mar 2023 15:57:42 +0200
From: Benjamin Bara <bbara93@...il.com>
To: Wolfram Sang <wsa@...nel.org>, Lee Jones <lee@...nel.org>,
rafael.j.wysocki@...el.com
Cc: dmitry.osipenko@...labora.com, jonathanh@...dia.com,
richard.leitner@...ux.dev, treding@...dia.com,
linux-kernel@...r.kernel.org, linux-i2c@...r.kernel.org,
linux-tegra@...r.kernel.org,
Benjamin Bara <benjamin.bara@...data.com>,
stable@...r.kernel.org
Subject: [PATCH v3 0/4] mfd: tps6586x: register restart handler
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@...data.com>
Powered by blists - more mailing lists