diff options
author | Wai-Hong Tam <waihong@google.com> | 2020-08-03 16:12:09 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-08-05 01:20:10 +0000 |
commit | c87d8834ced67715e70b8c456daaf0b33127e097 (patch) | |
tree | 685c09a70f789c2f5a94efc947bf3f3810dd58c0 /common/battery.c | |
parent | b9da49edc4423dfd989dd5ade792ceb53c142f64 (diff) | |
download | chrome-ec-c87d8834ced67715e70b8c456daaf0b33127e097.tar.gz |
battery: Remove redundant lfcc variable when calculate compensation
The value of lfcc variable, which is copied from
host_get_memmap(EC_MEMMAP_BATT_LFCC), is actually the compensated full
capacity. Use the value of *full directly.
BRANCH=None
BUG=b:162604872
TEST=Checked the battery console command result.
Change-Id: Iae103dd325679333c524698ce7a86cdc96a3587e
Signed-off-by: Wai-Hong Tam <waihong@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2335885
Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'common/battery.c')
-rw-r--r-- | common/battery.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/common/battery.c b/common/battery.c index a1fcd273cd..ff0d28f545 100644 --- a/common/battery.c +++ b/common/battery.c @@ -581,7 +581,6 @@ void battery_compensate_params(struct batt_params *batt) int numer, denom; int *remain = &(batt->remaining_capacity); int *full = &(batt->full_capacity); - int lfcc = *(int *)host_get_memmap(EC_MEMMAP_BATT_LFCC); if ((batt->flags & BATT_FLAG_BAD_FULL_CAPACITY) || (batt->flags & BATT_FLAG_BAD_REMAINING_CAPACITY)) @@ -597,19 +596,16 @@ void battery_compensate_params(struct batt_params *batt) /* full_factor is effectively disabled in powerd. */ *full = *full * batt_full_factor / 100; - if (lfcc == 0) - /* EC just reset. Assume host full is equal. */ - lfcc = *full; - if (*remain > lfcc) - *remain = lfcc; + if (*remain > *full) + *remain = *full; /* * Powerd uses the following equation to calculate display percentage: * charge = 100 * remain/full; * 100 * (charge - shutdown_pct) / (full_factor - shutdown_pct); */ - numer = (100 * *remain - lfcc * batt_host_shutdown_pct) * 1000; - denom = lfcc * (100 - batt_host_shutdown_pct); + numer = (100 * *remain - *full * batt_host_shutdown_pct) * 1000; + denom = *full * (100 - batt_host_shutdown_pct); /* Rounding (instead of truncating) */ batt->display_charge = (numer + denom / 2) / denom; if (batt->display_charge < 0) |