Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b029948 authored by Maulik Shah's avatar Maulik Shah
Browse files

soc: qcom: rpmh-rsc: Correctly handle zero active TCS for solver mode



If we made an active request on a RSC that does not have a dedicated TCS
for active state use, then re-purposed wake TCSes should be checked for not
busy before setting solver mode.

Change-Id: I8a493f4ac15d31df5b1963e5ae0d5d9966b482cc
Signed-off-by: default avatarMaulik Shah <mkshah@codeaurora.org>
parent c77acc02
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -561,6 +561,14 @@ void rpmh_rsc_mode_solver_set(struct rsc_drv *drv, bool enable)
	int m;
	struct tcs_group *tcs = get_tcs_of_type(drv, ACTIVE_TCS);

	/*
	 * If we made an active request on a RSC that does not have a
	 * dedicated TCS for active state use, then re-purposed wake TCSes
	 * should be checked for not busy, because we used wake TCSes for
	 * active requests in this case.
	 */
	if (!tcs->num_tcs)
		tcs = get_tcs_of_type(drv, WAKE_TCS);
again:
	spin_lock(&drv->lock);
	for (m = tcs->offset; m < tcs->offset + tcs->num_tcs; m++) {