google_battery: move publish criteria to batt_drv
The criterias don't need to reset when cev_stats_init
Move them to batt_drv to keep original values
Bug: 184206712
Signed-off-by: Jenny Ho <[email protected]>
Change-Id: I62abd07fc618c1ecb6ed7b20f22105beab7d9fee
diff --git a/google_battery.c b/google_battery.c
index 165963d..833cd80 100644
--- a/google_battery.c
+++ b/google_battery.c
@@ -50,9 +50,9 @@
#define MSC_ERROR_UPDATE_INTERVAL 5000
#define MSC_DEFAULT_UPDATE_INTERVAL 30000
-/* qual time is 15 minutes of charge or 15% increase in SOC */
-#define DEFAULT_CHG_STATS_MIN_QUAL_TIME (15 * 60)
-#define DEFAULT_CHG_STATS_MIN_DELTA_SOC 15
+/* qual time is 0 minutes of charge or 0% increase in SOC */
+#define DEFAULT_CHG_STATS_MIN_QUAL_TIME 0
+#define DEFAULT_CHG_STATS_MIN_DELTA_SOC 0
/* Voters */
#define MSC_LOGIC_VOTER "msc_logic"
@@ -276,6 +276,8 @@
struct mutex stats_lock;
struct gbms_charging_event ce_data;
struct gbms_charging_event ce_qual;
+ uint32_t chg_sts_qual_time;
+ uint32_t chg_sts_delta_soc;
/* time to full */
struct batt_ttf_stats ttf_stats;
@@ -986,14 +988,15 @@
}
/* call holding stats_lock */
-static bool batt_chg_stats_qual(const struct gbms_charging_event *ce_data)
+static bool batt_chg_stats_qual(const struct batt_drv *batt_drv)
{
+ const struct gbms_charging_event *ce_data = &batt_drv->ce_data;
const long elap = ce_data->last_update - ce_data->first_update;
const long ssoc_delta = ce_data->charging_stats.ssoc_out -
ce_data->charging_stats.ssoc_in;
- return elap >= ce_data->chg_sts_qual_time ||
- ssoc_delta >= ce_data->chg_sts_delta_soc;
+ return elap >= batt_drv->chg_sts_qual_time ||
+ ssoc_delta >= batt_drv->chg_sts_delta_soc;
}
/* call holding stats_lock */
@@ -1242,7 +1245,7 @@
batt_chg_health_vti(&batt_drv->chg_health);
/* TODO: add a field to ce_data to qual weird charge sessions */
- publish = force || batt_chg_stats_qual(&batt_drv->ce_data);
+ publish = force || batt_chg_stats_qual(batt_drv);
if (publish) {
struct gbms_charging_event *ce_qual = &batt_drv->ce_qual;
@@ -4682,15 +4685,15 @@
DEFAULT_HIGH_TEMP_UPDATE_THRESHOLD;
/* charge statistics */
ret = of_property_read_u32(node, "google,chg-stats-qual-time",
- &batt_drv->ce_data.chg_sts_qual_time);
+ &batt_drv->chg_sts_qual_time);
if (ret < 0)
- batt_drv->ce_data.chg_sts_qual_time =
+ batt_drv->chg_sts_qual_time =
DEFAULT_CHG_STATS_MIN_QUAL_TIME;
ret = of_property_read_u32(node, "google,chg-stats-delta-soc",
- &batt_drv->ce_data.chg_sts_delta_soc);
+ &batt_drv->chg_sts_delta_soc);
if (ret < 0)
- batt_drv->ce_data.chg_sts_delta_soc =
+ batt_drv->chg_sts_delta_soc =
DEFAULT_CHG_STATS_MIN_DELTA_SOC;
/* time to full */