Messages in this thread | | | Date | Thu, 12 Oct 2023 13:01:20 +0200 | From | Thierry Reding <> | Subject | Re: [Patch v2 1/2] firmware: tegra: add suspend hook and reset BPMP IPC early on resume |
| |
On Mon, Oct 09, 2023 at 03:35:56PM +0530, Sumit Gupta wrote: > Add suspend hook and a 'suspended' field in the 'struct tegra_bpmp' > to mark if BPMP is suspended. Also, add a 'flags' field in the > 'struct tegra_bpmp_message' whose 'TEGRA_BPMP_MESSAGE_RESET' bit > can be set from the Tegra MC driver to signal that the reset of BPMP > IPC channels is required before sending MRQ to the BPMP FW. > Together both the fields allow us to handle any requests that might > be sent too soon as they can cause hang during system resume. > One case where we see BPMP requests being sent before the BPMP driver > has resumed is the memory bandwidth requests which are triggered by > onlining the CPUs during system resume. The CPUs are onlined before > the BPMP has resumed and we need to reset the BPMP IPC channels to > handle these requests. > The additional check for 'flags' is done to avoid any un-intended BPMP > IPC reset if the tegra_bpmp_transfer*() API gets called during suspend > sequence after the BPMP driver is suspended. > > Fixes: f41e1442ac5b ("cpufreq: tegra194: add OPP support and set bandwidth") > Co-developed-by: Thierry Reding <treding@nvidia.com> > Signed-off-by: Thierry Reding <treding@nvidia.com> > Signed-off-by: Sumit Gupta <sumitg@nvidia.com> > --- > drivers/firmware/tegra/bpmp.c | 30 ++++++++++++++++++++++++++++++ > include/soc/tegra/bpmp.h | 6 ++++++ > 2 files changed, 36 insertions(+)
Krzysztof,
if you want to pick these up instead of me taking them through the Tegra tree:
Acked-by: Thierry Reding <treding@nvidia.com> [unhandled content-type:application/pgp-signature] | |