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 drivers/power/supply/qcom/smb1390-charger-psy.c +9 −4 Original line number Diff line number Diff line Loading @@ -642,6 +642,15 @@ static void smb1390_taper_work(struct work_struct *work) goto out; } if (get_effective_result(chip->fv_votable) > chip->taper_entry_fv) { pr_debug("Float voltage increased. Exiting taper\n"); goto out; } else { chip->taper_entry_fv = get_effective_result(chip->fv_votable); } if (pval.intval == POWER_SUPPLY_CHARGE_TYPE_TAPER) { fcc_uA = get_effective_result(chip->fcc_votable) - 100000; Loading @@ -653,10 +662,6 @@ static void smb1390_taper_work(struct work_struct *work) true, 0); goto out; } } else if (get_effective_result(chip->fv_votable) > chip->taper_entry_fv) { pr_debug("Float voltage increased. Exiting taper\n"); goto out; } else { pr_debug("In fast charging. Wait for next taper\n"); } 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
drivers/power/supply/qcom/smb1390-charger-psy.c +9 −4 Original line number Diff line number Diff line Loading @@ -642,6 +642,15 @@ static void smb1390_taper_work(struct work_struct *work) goto out; } if (get_effective_result(chip->fv_votable) > chip->taper_entry_fv) { pr_debug("Float voltage increased. Exiting taper\n"); goto out; } else { chip->taper_entry_fv = get_effective_result(chip->fv_votable); } if (pval.intval == POWER_SUPPLY_CHARGE_TYPE_TAPER) { fcc_uA = get_effective_result(chip->fcc_votable) - 100000; Loading @@ -653,10 +662,6 @@ static void smb1390_taper_work(struct work_struct *work) true, 0); goto out; } } else if (get_effective_result(chip->fv_votable) > chip->taper_entry_fv) { pr_debug("Float voltage increased. Exiting taper\n"); goto out; } else { pr_debug("In fast charging. Wait for next taper\n"); } Loading