Loading drivers/power/supply/qcom/battery.c +21 −19 Original line number Diff line number Diff line Loading @@ -601,6 +601,25 @@ static void pl_taper_work(struct work_struct *work) goto done; } /* * Due to reduction of float voltage in JEITA condition taper * charging can be initiated at a lower FV. On removal of JEITA * condition, FV readjusts itself. However, once taper charging * is initiated, it doesn't exits until parallel chaging is * disabled due to which FCC doesn't scale back to its original * value, leading to slow charging thereafter. * Check if FV increases in comparison to FV at which taper * charging was initiated, and if yes, exit taper charging. */ if (get_effective_result(chip->fv_votable) > chip->taper_entry_fv) { pl_dbg(chip, PR_PARALLEL, "Float voltage increased. Exiting taper\n"); goto done; } else { chip->taper_entry_fv = get_effective_result(chip->fv_votable); } rc = power_supply_get_property(chip->batt_psy, POWER_SUPPLY_PROP_CHARGE_TYPE, &pval); if (rc < 0) { Loading @@ -625,27 +644,10 @@ static void pl_taper_work(struct work_struct *work) eff_fcc_ua); vote(chip->fcc_votable, TAPER_STEPPER_VOTER, true, eff_fcc_ua); } else { /* * Due to reduction of float voltage in JEITA condition * taper charging can be initiated at a lower FV. On * removal of JEITA condition, FV readjusts itself. * However, once taper charging is initiated, it doesn't * exits until parallel chaging is disabled due to which * FCC doesn't scale back to its original value, leading * to slow charging thereafter. * Check if FV increases in comparison to FV at which * taper charging was initiated, and if yes, exit taper * charging. */ if (get_effective_result(chip->fv_votable) > chip->taper_entry_fv) { pl_dbg(chip, PR_PARALLEL, "Float voltage increased. Exiting taper\n"); goto done; } else { pl_dbg(chip, PR_PARALLEL, "master is fast charging; waiting for next taper\n"); } } /* wait for the charger state to deglitch after FCC change */ msleep(PL_TAPER_WORK_DELAY_MS); } Loading Loading
drivers/power/supply/qcom/battery.c +21 −19 Original line number Diff line number Diff line Loading @@ -601,6 +601,25 @@ static void pl_taper_work(struct work_struct *work) goto done; } /* * Due to reduction of float voltage in JEITA condition taper * charging can be initiated at a lower FV. On removal of JEITA * condition, FV readjusts itself. However, once taper charging * is initiated, it doesn't exits until parallel chaging is * disabled due to which FCC doesn't scale back to its original * value, leading to slow charging thereafter. * Check if FV increases in comparison to FV at which taper * charging was initiated, and if yes, exit taper charging. */ if (get_effective_result(chip->fv_votable) > chip->taper_entry_fv) { pl_dbg(chip, PR_PARALLEL, "Float voltage increased. Exiting taper\n"); goto done; } else { chip->taper_entry_fv = get_effective_result(chip->fv_votable); } rc = power_supply_get_property(chip->batt_psy, POWER_SUPPLY_PROP_CHARGE_TYPE, &pval); if (rc < 0) { Loading @@ -625,27 +644,10 @@ static void pl_taper_work(struct work_struct *work) eff_fcc_ua); vote(chip->fcc_votable, TAPER_STEPPER_VOTER, true, eff_fcc_ua); } else { /* * Due to reduction of float voltage in JEITA condition * taper charging can be initiated at a lower FV. On * removal of JEITA condition, FV readjusts itself. * However, once taper charging is initiated, it doesn't * exits until parallel chaging is disabled due to which * FCC doesn't scale back to its original value, leading * to slow charging thereafter. * Check if FV increases in comparison to FV at which * taper charging was initiated, and if yes, exit taper * charging. */ if (get_effective_result(chip->fv_votable) > chip->taper_entry_fv) { pl_dbg(chip, PR_PARALLEL, "Float voltage increased. Exiting taper\n"); goto done; } else { pl_dbg(chip, PR_PARALLEL, "master is fast charging; waiting for next taper\n"); } } /* wait for the charger state to deglitch after FCC change */ msleep(PL_TAPER_WORK_DELAY_MS); } Loading