lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Date:	Wed, 14 Mar 2012 02:05:29 +0000 (GMT)
From:	ÇÔ¸íÁÖ <myungjoo.ham@...sung.com>
To:	bruce robertson <bruce.e.robertson@...el.com>,
	Anton Vorontsov <cbouatmailru@...il.com>
Cc:	"dirk.brandewie@...il.com" <dirk.brandewie@...il.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	¹Ú°æ¹Î <kyungmin.park@...sung.com>,
	"Jason.Wortham@...im-ic.com" <Jason.Wortham@...im-ic.com>
Subject: Re: Re: [PATCH 4/5] max17042: Fix value scaling for VCELL and avgVCELL

bruce robertson<bruce.e.robertson@...el.com>, 2012-03-14 06:00 (GMT+09:00)
> 
> Anton Vorontsov writes:
> 
> > On Tue, Jan 24, 2012 at 09:26:07AM -0800, dirk.brandewie@...il.com wrote:
> >> From: Bruce Robertson 
> >> 
> >> The bottom three bits of the register are don't care bits.  The LSB
> >> value is 625 uV.  Adjust the returned values appropriately
> >> 
> >> Signed-off-by: Bruce Robertson 
> >> Signed-off-by: Dirk Brandewie 
> >> Acked-by: MyungJoo Ham 
> >
> > I guess this was fixed long ago by the following patch:
> >
> > commit cf7a8c03db792894f436db5f3ffc44d947b9b068
> > Author: MyungJoo Ham 
> > Date:   Wed Aug 17 10:18:34 2011 +0900
> >
> >     max17042_battery: Bugfix of incorrect voltage register value interpretation
> >
> >     The calculation had error in getting voltage values from
> >     MAX17042 registers. The least bit denotes 78.125uV (625/8).
> 
> The multipliers I see in the patch are 83 making the voltages somewhat
> high and the low 3 bits are not masked off. I'm probably misreading the code.

The patch, commit cf7a8c03db, uses 78.125uV/bit, not 83uV/bit. The code before that patch uses 83uV/bit.

$ git show cf7a8c03db792894f436db5f3ffc44d947b9b068
[...]
diff --git a/drivers/power/max17042_battery.c b/drivers/power/max17042_battery.c
index 61fb6d7..a6dc9c7 100644
--- a/drivers/power/max17042_battery.c
+++ b/drivers/power/max17042_battery.c
@@ -111,12 +111,12 @@ static int max17042_get_property(struct power_supply *psy,
                val->intval *= 10000; /* Units of LSB = 10mV */
                break;
        case POWER_SUPPLY_PROP_VOLTAGE_NOW:
-               val->intval = max17042_read_reg(chip->client,
-                               MAX17042_VCELL) * 83; /* 1000 / 12 = 83 */
+               val->intval = max17042_read_reg(chip->client, MAX17042_VCELL)
+                           * 625 / 8;
                break;
        case POWER_SUPPLY_PROP_VOLTAGE_AVG:
-               val->intval = max17042_read_reg(chip->client,
-                               MAX17042_AvgVCELL) * 83;
+               val->intval = max17042_read_reg(chip->client, MAX17042_AvgVCELL)
+                           * 625 / 8;
                break;
        case POWER_SUPPLY_PROP_CAPACITY:
                val->intval = max17042_read_reg(chip->client,


> 
> >
> >     Signed-off-by: MyungJoo Ham 
> >     Signed-off-by: Philip Rakity 
> >     Signed-off-by: Kyungmin Park 
> >     Signed-off-by: Anton Vorontsov 
> >
> > Thanks,
> 
> 
> 


--
MyungJoo Ham (ÇÔ¸íÁÖ), PHD
System S/W Lab, S/W Platform Team, Software Center
Samsung Electronics
Cell: +82-10-6714-2858

Powered by blists - more mailing lists