diff options
author | Sivaram Nair <sivaramn@nvidia.com> | 2013-05-29 20:50:29 +0300 |
---|---|---|
committer | Riham Haidar <rhaidar@nvidia.com> | 2013-05-31 14:50:08 -0700 |
commit | 43e96b352cdfb1438edc326da0ac4ae05e14c03e (patch) | |
tree | a473560abe9083543afd9cc21fb724412bba9a01 /drivers/edp | |
parent | 3dc65b43185f38e1f9768fbf85c9bf71926eb585 (diff) |
EDP: psy depletion: allow null rbat lut
For boards that do not specify an rbat lut, use the r_const as the
RBAT.
Change-Id: Ica8045c65fed34b48f2b89a5be4bc1435320924f
Signed-off-by: Sivaram Nair <sivaramn@nvidia.com>
Reviewed-on: http://git-master/r/233805
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
Diffstat (limited to 'drivers/edp')
-rw-r--r-- | drivers/edp/psy_depletion.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/edp/psy_depletion.c b/drivers/edp/psy_depletion.c index d9eeac5d3fed..e26c97fbd5ff 100644 --- a/drivers/edp/psy_depletion.c +++ b/drivers/edp/psy_depletion.c @@ -89,21 +89,22 @@ static int depl_rbat(struct depl_driver *drv) unsigned int capacity; int rbat; + rbat = drv->pdata->r_const; capacity = depl_psy_capacity(drv); p = drv->pdata->rbat_lut; + if (!p) + return rbat; while (p->capacity > capacity) p++; if (p == drv->pdata->rbat_lut) - return p->rbat; + return rbat + p->rbat; q = p - 1; - rbat = depl_interpolate(capacity, p->capacity, p->rbat, + rbat += depl_interpolate(capacity, p->capacity, p->rbat, q->capacity, q->rbat); - rbat += drv->pdata->r_const; - pr_debug("capacity : %u\n", capacity); pr_debug("rbat : %d\n", rbat); |