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

Commit 16171c70 authored by Kavya Nunna's avatar Kavya Nunna
Browse files

power: smblite: Fix ICL vote value for die temp regulation



Currently, there is a vote for icl even when SW_THERMAL
REGULATION voter is not active which leads to icl to stuck
at 200ma. Fix it by voting only when SW_THERMAL_REGULATION_VOTER
is active.

Change-Id: I9b2966e8c5ddf06db6feccc532da032bf4a51637
Signed-off-by: default avatarKavya Nunna <knunna@codeaurora.org>
parent 757f1d14
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -2972,9 +2972,6 @@ static void smblite_lib_thermal_regulation_work(struct work_struct *work)

	/* check if DIE_TEMP is below LB */
	if (!(stat & DIE_TEMP_MASK)) {
		icl_ua += THERM_REGULATION_STEP_UA;
		vote(chg->usb_icl_votable, SW_THERM_REGULATION_VOTER,
				true, icl_ua);

		/*
		 * Check if we need further increments:
@@ -2983,9 +2980,13 @@ static void smblite_lib_thermal_regulation_work(struct work_struct *work)
		 * ICL then remove vote and exit work.
		 */
		if (!strcmp(get_effective_client(chg->usb_icl_votable),
				SW_THERM_REGULATION_VOTER))
				SW_THERM_REGULATION_VOTER)) {
			icl_ua += THERM_REGULATION_STEP_UA;
			vote(chg->usb_icl_votable, SW_THERM_REGULATION_VOTER,
					true, icl_ua);
			goto reschedule;
		}
	}

exit:
	smblite_lib_dbg(chg, PR_MISC,