summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWai-Hong Tam <waihong@google.com>2020-09-28 17:41:06 -0700
committerCommit Bot <commit-bot@chromium.org>2020-09-30 03:28:18 +0000
commit16787760844b62aa1e1d40cc8e9b7d72ce046dc1 (patch)
tree4b126374cb78efaa1fd6376fce2205aa139a524c
parent71ada9f16038b6e2fd16cb63db0792de503b8acc (diff)
downloadchrome-ec-16787760844b62aa1e1d40cc8e9b7d72ce046dc1.tar.gz
charge_state_v2: Move the first battery_get_params to HOOK_INIT
Other tasks read the params like state_of_charge at the beginning of their tasks. In the existing code, the first battery_get_params is called at the beginning of the charger task. It is not guaranteed the battery params are ready. This change moves it to the HOOK_INIT. BRANCH=None BUG=b:169453974 TEST=Cut off the battery, checked the first boot has PD-enabled, which uses the battery state_of_charge param to make the decision. Change-Id: Ie7bd31ee71fb3d1ea47a31910f0dfa7ac93cbcef Signed-off-by: Wai-Hong Tam <waihong@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2436760 Tested-by: Nitin Kolluru <nkolluru@google.com> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
-rw-r--r--common/charge_state_v2.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/common/charge_state_v2.c b/common/charge_state_v2.c
index 7d6001bf4f..2bdac84634 100644
--- a/common/charge_state_v2.c
+++ b/common/charge_state_v2.c
@@ -1601,6 +1601,11 @@ void charger_init(void)
/* Manual voltage/current set to off */
manual_voltage = -1;
manual_current = -1;
+ /*
+ * Other tasks read the params like state_of_charge at the beginning of
+ * their tasks. Make them ready first.
+ */
+ battery_get_params(&curr.batt);
}
DECLARE_HOOK(HOOK_INIT, charger_init, HOOK_PRIO_DEFAULT);
@@ -1681,7 +1686,6 @@ void charger_task(void *u)
* then use max input current limit so that we can pull as much power
* as needed.
*/
- battery_get_params(&curr.batt);
prev_bp = BP_NOT_INIT;
curr.desired_input_current = get_desired_input_current(
curr.batt.is_present, info);