Merge "qpnp-smb2: update AICL rerun logic for PM660"

This commit is contained in:
Linux Build Service Account 2017-05-26 00:09:37 -07:00 committed by Gerrit - the friendly Code Review server
commit 21dd810c7c

View file

@ -1889,38 +1889,18 @@ int smblib_rerun_aicl(struct smb_charger *chg)
return rc; return rc;
smblib_dbg(chg, PR_MISC, "re-running AICL\n"); smblib_dbg(chg, PR_MISC, "re-running AICL\n");
switch (chg->smb_version) { rc = smblib_get_charge_param(chg, &chg->param.icl_stat,
case PMI8998_SUBTYPE: &settled_icl_ua);
rc = smblib_get_charge_param(chg, &chg->param.icl_stat, if (rc < 0) {
&settled_icl_ua); smblib_err(chg, "Couldn't get settled ICL rc=%d\n", rc);
if (rc < 0) { return rc;
smblib_err(chg, "Couldn't get settled ICL rc=%d\n", rc);
return rc;
}
vote(chg->usb_icl_votable, AICL_RERUN_VOTER, true,
max(settled_icl_ua - chg->param.usb_icl.step_u,
chg->param.usb_icl.step_u));
vote(chg->usb_icl_votable, AICL_RERUN_VOTER, false, 0);
break;
case PM660_SUBTYPE:
/*
* Use restart_AICL instead of trigger_AICL as it runs the
* complete AICL instead of starting from the last settled
* value.
*/
rc = smblib_masked_write(chg, CMD_HVDCP_2_REG,
RESTART_AICL_BIT, RESTART_AICL_BIT);
if (rc < 0)
smblib_err(chg, "Couldn't write to CMD_HVDCP_2_REG rc=%d\n",
rc);
break;
default:
smblib_dbg(chg, PR_PARALLEL, "unknown SMB chip %d\n",
chg->smb_version);
return -EINVAL;
} }
vote(chg->usb_icl_votable, AICL_RERUN_VOTER, true,
max(settled_icl_ua - chg->param.usb_icl.step_u,
chg->param.usb_icl.step_u));
vote(chg->usb_icl_votable, AICL_RERUN_VOTER, false, 0);
return 0; return 0;
} }