From f3ee031477525bd405ad3ba6ddc57d267341e248 Mon Sep 17 00:00:00 2001 From: xuwei9 Date: Mon, 26 Jul 2021 11:07:47 +0800 Subject: [PATCH] charger:adaptive charger tolerance optimization Adaptive charger tolerance optimization from 1 to 2 for more stable state switching. Change-Id: I60a0c5501605ac060919d340a07b2f54faa0907c Signed-off-by: xuwei9 Reviewed-on: https://gerrit.mot.com/2023609 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Xiangpo Zhao Submit-Approved: Jira Key --- drivers/power/qpnp_adaptive_charge/Android.mk | 4 ++++ drivers/power/qpnp_adaptive_charge/Kbuild | 4 ++++ drivers/power/qpnp_adaptive_charge/qpnp_adaptive_charge.c | 6 +++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/power/qpnp_adaptive_charge/Android.mk b/drivers/power/qpnp_adaptive_charge/Android.mk index d55b4dfc0541..61e553755a83 100755 --- a/drivers/power/qpnp_adaptive_charge/Android.mk +++ b/drivers/power/qpnp_adaptive_charge/Android.mk @@ -10,6 +10,10 @@ ifeq ($(USE_MMI_CHARGER), true) LOCAL_ADDITIONAL_DEPENDENCIES := $(KERNEL_MODULES_OUT)/mmi_charger.ko endif +ifeq ($(ADAPTIVE_TOLERANCE_OPTIMIZATION),true) + KERNEL_CFLAGS += ADAPTIVE_TOLERANCE_OPTIMIZATION=y +endif + LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) include $(DLKM_DIR)/AndroidKernelModule.mk diff --git a/drivers/power/qpnp_adaptive_charge/Kbuild b/drivers/power/qpnp_adaptive_charge/Kbuild index 96a0e6ba1fb8..8471c67a4891 100755 --- a/drivers/power/qpnp_adaptive_charge/Kbuild +++ b/drivers/power/qpnp_adaptive_charge/Kbuild @@ -8,4 +8,8 @@ ifneq ($(filter m y,$(CONFIG_USE_MMI_CHARGER)),) KBUILD_EXTRA_SYMBOLS += $(CURDIR)/$(KBUILD_EXTMOD)/../mmi_charger/$(GKI_OBJ_MODULE_DIR)/Module.symvers endif +ifneq ($(filter m y, $(ADAPTIVE_TOLERANCE_OPTIMIZATION)),) + EXTRA_CFLAGS += -DADAPTIVE_TOLERANCE_OPTIMIZATION +endif + obj-m += qpnp_adaptive_charge.o diff --git a/drivers/power/qpnp_adaptive_charge/qpnp_adaptive_charge.c b/drivers/power/qpnp_adaptive_charge/qpnp_adaptive_charge.c index f4fe6284dbce..3b7d67be3a5e 100755 --- a/drivers/power/qpnp_adaptive_charge/qpnp_adaptive_charge.c +++ b/drivers/power/qpnp_adaptive_charge/qpnp_adaptive_charge.c @@ -158,7 +158,11 @@ static void update(struct adap_chg_data *data) if (upper_limit != -1) { /* If no lower limit is defined, we are in Auto Mode */ if (lower_limit == -1) { - if (data->batt_capacity > (upper_limit + 1)) { +#ifdef ADAPTIVE_TOLERANCE_OPTIMIZATION + if (data->batt_capacity > (upper_limit + 2)) { +#else + if (data->batt_capacity > (upper_limit + 1)) { +#endif suspend_charging(true); stop_charging(false); } else if (data->batt_capacity == (upper_limit + 1)) {