Commit f344675a authored by Thierry Reding's avatar Thierry Reding
Browse files

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: f41e1442 ("cpufreq: tegra194: add OPP support and set bandwidth")
Co-developed-by: default avatarSumit Gupta <sumitg@nvidia.com>
Signed-off-by: default avatarSumit Gupta <sumitg@nvidia.com>
Acked-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 364b40c6
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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);