[Miami] Fix logic of the charger pump state machine

Current logic of the charger pump for Miami misinterprets MMI_CP_SWITCH_BIT,
preventing state machine to stick at states involving it, and never reaching
others depending on them. External symptoms can be summarized as high current
fluctuation and overall slow recharge.

This change inverts the result of the AND-clause involving MMI_CP_SWITCH_BIT,
thereby yielding the correct logic value for the machine to proceed to the
next steps within each concerning state.

Change-Id: I2aba14391772b01f7cb5f35b73d5191a3b6ce588
Signed-off-by: Haijian Ma <mahj8@motorola.com>
Signed-off-by: Hugo Cuffa <hcuffa@motorola.com>
Reviewed-on: https://gerrit.mot.com/2849108
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Levy Gabriel <levy@motorola.com>
Reviewed-by: Huosheng Liao <liaohs@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
Haijian Ma 2024-01-09 19:56:17 +08:00 • committed by Michael Bestas
commit c22b699846
No known key found for this signature in database
2 changed files with 7 additions and 7 deletions

View file

@ -704,7 +704,7 @@ void mmi_chrg_sm_work_func(struct work_struct *work)
heartbeat_dely_ms = HEARTBEAT_NEXT_STATE_MS;
if (chrg_list->cp_master
&& (!chrg_list->chrg_dev[CP_MASTER]->charger_enabled
|| (chrg_list->chrg_dev[CP_MASTER]->charger_error.chrg_err_type & (1<< MMI_CP_SWITCH_BIT)))) {
|| !(chrg_list->chrg_dev[CP_MASTER]->charger_error.chrg_err_type & (1<< MMI_CP_SWITCH_BIT)))) {
mmi_chrg_info(chip,"CP MASTER was disabled, Enter into "
"SW directly\n");
chip->pps_volt_comp = PPS_INIT_VOLT_COMP;
@ -753,7 +753,7 @@ void mmi_chrg_sm_work_func(struct work_struct *work)
if (chrg_list->cp_master
&& (!chrg_list->chrg_dev[CP_MASTER]->charger_enabled
|| (chrg_list->chrg_dev[CP_MASTER]->charger_error.chrg_err_type & (1<< MMI_CP_SWITCH_BIT)))) {
|| !(chrg_list->chrg_dev[CP_MASTER]->charger_error.chrg_err_type & (1<< MMI_CP_SWITCH_BIT)))) {
mmi_chrg_info(chip,"CP MASTER was disabled, "
"Enter into SW directly\n");
chip->pps_volt_comp = PPS_INIT_VOLT_COMP;
@ -822,7 +822,7 @@ void mmi_chrg_sm_work_func(struct work_struct *work)
chrg_step->chrg_step_cv_volt);
if (chrg_list->cp_master
&& (!chrg_list->chrg_dev[CP_MASTER]->charger_enabled
|| (chrg_list->chrg_dev[CP_MASTER]->charger_error.chrg_err_type & (1<< MMI_CP_SWITCH_BIT)))) {
|| !(chrg_list->chrg_dev[CP_MASTER]->charger_error.chrg_err_type & (1<< MMI_CP_SWITCH_BIT)))) {
mmi_chrg_info(chip,"CP MASTER was disabled, Enter into SW directly\n");
chip->pps_volt_comp = PPS_INIT_VOLT_COMP;
mmi_chrg_sm_move_state(chip, PM_STATE_SW_ENTRY);
@ -957,7 +957,7 @@ void mmi_chrg_sm_work_func(struct work_struct *work)
chrg_step->chrg_step_cv_tapper_curr);
if (chrg_list->cp_master
&& (!chrg_list->chrg_dev[CP_MASTER]->charger_enabled
|| (chrg_list->chrg_dev[CP_MASTER]->charger_error.chrg_err_type & (1<< MMI_CP_SWITCH_BIT)))) {
|| !(chrg_list->chrg_dev[CP_MASTER]->charger_error.chrg_err_type & (1<< MMI_CP_SWITCH_BIT)))) {
mmi_chrg_info(chip,"CP MASTER was disabled, Enter into SW directly\n");
chip->pps_volt_comp = PPS_INIT_VOLT_COMP;
mmi_chrg_sm_move_state(chip, PM_STATE_SW_ENTRY);

View file

@ -662,7 +662,7 @@ void mmi_qc3p_chrg_sm_work_func(struct work_struct *work)
if (chrg_list->cp_master
&& (!chrg_list->chrg_dev[CP_MASTER]->charger_enabled
|| (chrg_list->chrg_dev[CP_MASTER]->charger_error.chrg_err_type & (1<< MMI_CP_SWITCH_BIT)))) {
|| !(chrg_list->chrg_dev[CP_MASTER]->charger_error.chrg_err_type & (1<< MMI_CP_SWITCH_BIT)))) {
mmi_chrg_info(chip,"CP MASTER was disabled, "
"Enter into SW directly\n");
chip->qc3p_volt_comp = QC3P_INIT_VOLT_COMP;
@ -721,7 +721,7 @@ void mmi_qc3p_chrg_sm_work_func(struct work_struct *work)
chrg_step->chrg_step_cv_volt);
if (chrg_list->cp_master
&& (!chrg_list->chrg_dev[CP_MASTER]->charger_enabled
|| (chrg_list->chrg_dev[CP_MASTER]->charger_error.chrg_err_type & (1<< MMI_CP_SWITCH_BIT)))) {
|| !(chrg_list->chrg_dev[CP_MASTER]->charger_error.chrg_err_type & (1<< MMI_CP_SWITCH_BIT)))) {
mmi_chrg_info(chip,"CP MASTER was disabled, Enter into SW directly\n");
chip->qc3p_volt_comp = QC3P_INIT_VOLT_COMP;
mmi_chrg_qc3p_sm_move_state(chip, PM_QC3P_STATE_SW_ENTRY);
@ -799,7 +799,7 @@ void mmi_qc3p_chrg_sm_work_func(struct work_struct *work)
chrg_step->chrg_step_cv_tapper_curr);
if (chrg_list->cp_master
&& (!chrg_list->chrg_dev[CP_MASTER]->charger_enabled
|| (chrg_list->chrg_dev[CP_MASTER]->charger_error.chrg_err_type & (1<< MMI_CP_SWITCH_BIT)))) {
|| !(chrg_list->chrg_dev[CP_MASTER]->charger_error.chrg_err_type & (1<< MMI_CP_SWITCH_BIT)))) {
mmi_chrg_info(chip,"CP MASTER was disabled, Enter into SW directly\n");
chip->qc3p_volt_comp = QC3P_INIT_VOLT_COMP;
mmi_chrg_qc3p_sm_move_state(chip, PM_QC3P_STATE_SW_ENTRY);