summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-01-09 01:32:06 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-01-09 01:32:06 -0800
commit36d6426c995f802fd2a9959abdb0f9361e306bd4 (patch)
treead063cf4c329d6adb2d0a66ddd1da23d342e1e8b
parent1e5b699f08428b9437b2a54a5d682f64a3418265 (diff)
parentfe9b8816f083a503786f81ae53ae69c6919b88d5 (diff)
Merge "qpnp-fg-gen3: show 0 time to full at 100% SOC"
-rw-r--r--drivers/power/qcom-charger/qpnp-fg-gen3.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/power/qcom-charger/qpnp-fg-gen3.c b/drivers/power/qcom-charger/qpnp-fg-gen3.c
index 02f5ea06e22d..8523efa1a4ab 100644
--- a/drivers/power/qcom-charger/qpnp-fg-gen3.c
+++ b/drivers/power/qcom-charger/qpnp-fg-gen3.c
@@ -2301,7 +2301,14 @@ static int fg_get_time_to_full(struct fg_chip *chip, int *val)
return -ENODATA;
}
- if (chip->charge_status == POWER_SUPPLY_STATUS_FULL) {
+ rc = fg_get_prop_capacity(chip, &msoc);
+ if (rc < 0) {
+ pr_err("failed to get msoc rc=%d\n", rc);
+ return rc;
+ }
+ fg_dbg(chip, FG_TTF, "msoc=%d\n", msoc);
+
+ if (msoc >= 100) {
*val = 0;
return 0;
}
@@ -2364,13 +2371,6 @@ static int fg_get_time_to_full(struct fg_chip *chip, int *val)
act_cap_uah *= MILLI_UNIT;
fg_dbg(chip, FG_TTF, "actual_capacity_uah=%d\n", act_cap_uah);
- rc = fg_get_prop_capacity(chip, &msoc);
- if (rc < 0) {
- pr_err("failed to get msoc rc=%d\n", rc);
- return rc;
- }
- fg_dbg(chip, FG_TTF, "msoc=%d\n", msoc);
-
rc = fg_get_sram_prop(chip, FG_SRAM_FULL_SOC, &full_soc);
if (rc < 0) {
pr_err("failed to get full soc rc=%d\n", rc);
@@ -2410,7 +2410,7 @@ skip_cc_estimate:
fg_dbg(chip, FG_TTF, "t_predicted_cc=%lld\n", t_predicted_cc);
/* CV estimate starts here */
- if (chip->charge_type == POWER_SUPPLY_CHARGE_TYPE_TAPER)
+ if (chip->charge_type >= POWER_SUPPLY_CHARGE_TYPE_TAPER)
ln_val = ibatt_avg / abs(chip->dt.sys_term_curr_ma);
else
ln_val = i_cc2cv / abs(chip->dt.sys_term_curr_ma);