Merge "power: qpnp-fg-gen3: Use msoc for recharge-soc comparison"

This commit is contained in:
Linux Build Service Account 2017-07-30 19:58:03 -07:00 committed by Gerrit - the friendly Code Review server
commit 81e9edba00

View file

@ -1611,7 +1611,7 @@ static int fg_set_recharge_voltage(struct fg_chip *chip, int voltage_mv)
static int fg_charge_full_update(struct fg_chip *chip) static int fg_charge_full_update(struct fg_chip *chip)
{ {
union power_supply_propval prop = {0, }; union power_supply_propval prop = {0, };
int rc, msoc, bsoc, recharge_soc; int rc, msoc, bsoc, recharge_soc, msoc_raw;
u8 full_soc[2] = {0xFF, 0xFF}; u8 full_soc[2] = {0xFF, 0xFF};
if (!chip->dt.hold_soc_while_full) if (!chip->dt.hold_soc_while_full)
@ -1647,6 +1647,7 @@ static int fg_charge_full_update(struct fg_chip *chip)
pr_err("Error in getting msoc, rc=%d\n", rc); pr_err("Error in getting msoc, rc=%d\n", rc);
goto out; goto out;
} }
msoc_raw = DIV_ROUND_CLOSEST(msoc * FULL_SOC_RAW, FULL_CAPACITY);
fg_dbg(chip, FG_STATUS, "msoc: %d bsoc: %x health: %d status: %d full: %d\n", fg_dbg(chip, FG_STATUS, "msoc: %d bsoc: %x health: %d status: %d full: %d\n",
msoc, bsoc, chip->health, chip->charge_status, msoc, bsoc, chip->health, chip->charge_status,
@ -1670,7 +1671,7 @@ static int fg_charge_full_update(struct fg_chip *chip)
fg_dbg(chip, FG_STATUS, "Terminated charging @ SOC%d\n", fg_dbg(chip, FG_STATUS, "Terminated charging @ SOC%d\n",
msoc); msoc);
} }
} else if ((bsoc >> 8) <= recharge_soc && chip->charge_full) { } else if (msoc_raw < recharge_soc && chip->charge_full) {
chip->delta_soc = FULL_CAPACITY - msoc; chip->delta_soc = FULL_CAPACITY - msoc;
/* /*
@ -1700,8 +1701,8 @@ static int fg_charge_full_update(struct fg_chip *chip)
rc); rc);
goto out; goto out;
} }
fg_dbg(chip, FG_STATUS, "bsoc: %d recharge_soc: %d delta_soc: %d\n", fg_dbg(chip, FG_STATUS, "msoc_raw = %d bsoc: %d recharge_soc: %d delta_soc: %d\n",
bsoc >> 8, recharge_soc, chip->delta_soc); msoc_raw, bsoc >> 8, recharge_soc, chip->delta_soc);
} else { } else {
goto out; goto out;
} }