From 0caa4ffe0dfe5434d6bb6902390a90e96f7ec7e8 Mon Sep 17 00:00:00 2001 From: Haijian Ma Date: Thu, 23 Jun 2022 15:17:12 +0800 Subject: [PATCH] charging: optimize wireless charging icl vote As HW require, wireless charging icl vote from 500ma for authentication Change-Id: I922495b3f89a72f3a2b2b4306b941351614631e8 Signed-off-by: Haijian Ma Reviewed-on: https://gerrit.mot.com/2310686 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Huosheng Liao Submit-Approved: Jira Key --- .../power/mmi_discrete_charger/mmi_discrete_charger_core.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.c b/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.c index 80b8dcb807fd..af4ca338a044 100644 --- a/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.c +++ b/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.c @@ -1077,6 +1077,7 @@ static void mmi_discrete_config_qc_charger(struct mmi_discrete_charger *chg) } #define WLS_ICL_INCREASE_STEP 100000 +#define WLS_ICL_MIN 500000 static void mmi_discrete_wireless_icl_work(struct work_struct *work) { struct mmi_discrete_charger *chip = container_of(work, @@ -1089,6 +1090,10 @@ static void mmi_discrete_wireless_icl_work(struct work_struct *work) if(!is_wls_online(chip)) break; wls_icl += WLS_ICL_INCREASE_STEP; + + if (wls_icl < WLS_ICL_MIN) + wls_icl = WLS_ICL_MIN; + vote(chip->usb_icl_votable, SW_ICL_MAX_VOTER, true, wls_icl); msleep(200); wls_icl = get_client_vote(chip->usb_icl_votable, SW_ICL_MAX_VOTER);