Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

memory: tegra: Set BPMP msg flags to reset IPC channels

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: f41e1442ac5b ("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>

+4
+4
drivers/memory/tegra/tegra234.c
··· 986 986 msg.rx.data = &bwmgr_resp; 987 987 msg.rx.size = sizeof(bwmgr_resp); 988 988 989 + if (pclient->bpmp_id >= TEGRA_ICC_BPMP_CPU_CLUSTER0 && 990 + pclient->bpmp_id <= TEGRA_ICC_BPMP_CPU_CLUSTER2) 991 + msg.flags = TEGRA_BPMP_MESSAGE_RESET; 992 + 989 993 ret = tegra_bpmp_transfer(mc->bpmp, &msg); 990 994 if (ret < 0) { 991 995 dev_err(mc->dev, "BPMP transfer failed: %d\n", ret);