Unverified Commit 998fcd00 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov Committed by Arnd Bergmann
Browse files

firmware/psci: Print a warning if PSCI doesn't accept PC mode



The function psci_pd_try_set_osi_mode() will print an error if enabling
OSI mode fails. To ease debugging PSCI issues print corresponding
message if switching to PC mode fails too.

Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: default avatarSudeep Holla <sudeep.holla@arm.com>
Reviewed-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20220926110249.666813-1-dmitry.baryshkov@linaro.org

'
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent f6f7d870
Loading
Loading
Loading
Loading
+1 −3
Original line number Original line Diff line number Diff line
@@ -124,10 +124,8 @@ static bool psci_pd_try_set_osi_mode(void)
		return false;
		return false;


	ret = psci_set_osi_mode(true);
	ret = psci_set_osi_mode(true);
	if (ret) {
	if (ret)
		pr_warn("failed to enable OSI mode: %d\n", ret);
		return false;
		return false;
	}


	return true;
	return true;
}
}
+2 −0
Original line number Original line Diff line number Diff line
@@ -163,6 +163,8 @@ int psci_set_osi_mode(bool enable)
			PSCI_1_0_SUSPEND_MODE_PC;
			PSCI_1_0_SUSPEND_MODE_PC;


	err = invoke_psci_fn(PSCI_1_0_FN_SET_SUSPEND_MODE, suspend_mode, 0, 0);
	err = invoke_psci_fn(PSCI_1_0_FN_SET_SUSPEND_MODE, suspend_mode, 0, 0);
	if (err < 0)
		pr_warn("failed to set %s mode: %d\n", enable ? "OSI" : "PC", err);
	return psci_to_linux_errno(err);
	return psci_to_linux_errno(err);
}
}