Skip to content

Commit

Permalink
memory: tegra: Set BPMP msg flags to reset IPC channels
Browse files Browse the repository at this point in the history
Set the 'TEGRA_BPMP_MESSAGE_RESET' bit in newly added 'flags' field
of 'struct tegra_bpmp_message' to request for the reset of BPMP IPC
channels. This is used along with the 'suspended' check in BPMP driver
for handling early bandwidth requests due to the hotplug of CPU's
during system resume before the driver gets resumed.

Fixes: f41e144 ("cpufreq: tegra194: add OPP support and set bandwidth")
Co-developed-by: Sumit Gupta <sumitg@nvidia.com>
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
  • Loading branch information
thierryreding committed Oct 13, 2023
1 parent 364b40c commit f344675
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions drivers/memory/tegra/tegra234.c
Original file line number Diff line number Diff line change
Expand Up @@ -986,6 +986,10 @@ static int tegra234_mc_icc_set(struct icc_node *src, struct icc_node *dst)
msg.rx.data = &bwmgr_resp;
msg.rx.size = sizeof(bwmgr_resp);

if (pclient->bpmp_id >= TEGRA_ICC_BPMP_CPU_CLUSTER0 &&
pclient->bpmp_id <= TEGRA_ICC_BPMP_CPU_CLUSTER2)
msg.flags = TEGRA_BPMP_MESSAGE_RESET;

ret = tegra_bpmp_transfer(mc->bpmp, &msg);
if (ret < 0) {
dev_err(mc->dev, "BPMP transfer failed: %d\n", ret);
Expand Down

0 comments on commit f344675

Please sign in to comment.