From: Jacek Anaszewski <j.anaszewski@samsung.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: linux-leds@vger.kernel.org, linux-media@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
kyungmin.park@samsung.com, b.zolnierkie@samsung.com,
cooloney@gmail.com, rpurdie@rpsys.net, sakari.ailus@iki.fi,
s.nawrocki@samsung.com, Andrzej Hajda <a.hajda@samsung.com>,
Lee Jones <lee.jones@linaro.org>,
Chanwoo Choi <cw00.choi@samsung.com>
Subject: Re: [PATCH/RFC v10 08/19] leds: Add support for max77693 mfd flash cell
Date: Mon, 12 Jan 2015 14:46:59 +0100 [thread overview]
Message-ID: <54B3D053.4010300@samsung.com> (raw)
In-Reply-To: <20150112132521.GA15838@amd>
On 01/12/2015 02:25 PM, Pavel Machek wrote:
> Hi!
>
>>>> +struct max77693_sub_led {
>>>> + /* related FLED output identifier */
>>>
>>> ->flash LED, about 4x.
>>>
>>>> +/* split composite current @i into two @iout according to @imax weights */
>>>> +static void __max77693_calc_iout(u32 iout[2], u32 i, u32 imax[2])
>>>> +{
>>>> + u64 t = i;
>>>> +
>>>> + t *= imax[1];
>>>> + do_div(t, imax[0] + imax[1]);
>>>> +
>>>> + iout[1] = (u32)t / FLASH_IOUT_STEP * FLASH_IOUT_STEP;
>>>> + iout[0] = i - iout[1];
>>>> +}
>>>
>>> Is 64-bit arithmetics neccessary here? Could we do the FLASH_IOUT_STEP
>>> divisons before t *=, so that 64-bit division is not neccessary?
>>
>> It is required. All these operations allow for splitting the composite
>> current into both outputs according to weights given in the imax
>> array.
>
> I know.
>
> What about this?
>
> static void __max77693_calc_iout(u32 iout[2], u32 i, u32 imax[2])
> {
> u32 t = i;
>
> t *= imax[1] / FLASH_IOUT_STEP;
Let's consider following case:
t = 1000000
imax[1] = 1000000
multiplication of the above will give 10^12 - much more than
it is possible to encode on 32 bits.
> t = t / (imax[0] + imax[1]);
> t /= FLASH_IOUT_STEP
>
> iout[1] = (u32)t;
> iout[0] = i - iout[1];
> }
>
> Does it lack precision?
>
> Thanks,
> Pavel
>
--
Best Regards,
Jacek Anaszewski
next prev parent reply other threads:[~2015-01-12 13:47 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-09 15:22 [PATCH/RFC v10 00/19] LED / flash API integration Jacek Anaszewski
2015-01-09 15:22 ` [PATCH/RFC v10 01/19] leds: Add LED Flash class extension to the LED subsystem Jacek Anaszewski
2015-01-09 17:37 ` Pavel Machek
2015-01-26 23:02 ` Bryan Wu
2015-01-09 15:22 ` [PATCH/RFC v10 02/19] Documentation: leds: Add description of LED Flash class extension Jacek Anaszewski
2015-01-09 17:40 ` Pavel Machek
2015-01-12 8:04 ` Jacek Anaszewski
2015-01-26 23:03 ` Bryan Wu
2015-01-09 15:22 ` [PATCH/RFC v10 03/19] DT: leds: Add led-sources property Jacek Anaszewski
2015-01-09 17:42 ` Pavel Machek
2015-01-09 18:33 ` Rob Herring
2015-01-12 8:32 ` Jacek Anaszewski
2015-01-12 13:52 ` Rob Herring
2015-01-12 16:10 ` Jacek Anaszewski
2015-01-12 16:55 ` Rob Herring
2015-01-12 17:06 ` Mark Brown
2015-01-15 12:33 ` Sylwester Nawrocki
2015-01-15 14:37 ` Rob Herring
2015-01-15 21:03 ` Pavel Machek
2015-01-16 10:17 ` Sylwester Nawrocki
2015-01-13 8:42 ` Jacek Anaszewski
2015-01-15 14:24 ` Rob Herring
2015-01-15 15:53 ` Mark Brown
2015-01-16 9:07 ` Jacek Anaszewski
2015-01-16 13:48 ` Rob Herring
2015-01-16 15:52 ` Jacek Anaszewski
2015-01-20 16:09 ` Jacek Anaszewski
2015-01-20 17:29 ` Rob Herring
2015-01-20 17:40 ` Pavel Machek
2015-01-21 9:39 ` Jacek Anaszewski
2015-01-28 7:04 ` Sakari Ailus
2015-01-09 15:22 ` [PATCH/RFC v10 04/19] dt-binding: mfd: max77693: Add DT binding related macros Jacek Anaszewski
2015-01-09 17:43 ` Pavel Machek
2015-01-20 11:12 ` Lee Jones
2015-01-20 12:53 ` Jacek Anaszewski
2015-01-28 8:52 ` Sakari Ailus
2015-01-09 15:22 ` [PATCH/RFC v10 05/19] mfd: max77693: Modify flash cell name identifiers Jacek Anaszewski
2015-01-09 17:53 ` Pavel Machek
2015-01-20 11:13 ` Lee Jones
2015-01-20 12:57 ` Jacek Anaszewski
2015-01-20 15:41 ` Lee Jones
2015-01-09 15:22 ` [PATCH/RFC v10 06/19] mfd: max77693: modifications around max77693_led_platform_data Jacek Anaszewski
2015-01-09 17:56 ` Pavel Machek
2015-01-20 11:15 ` Lee Jones
2015-01-09 15:22 ` [PATCH/RFC v10 07/19] mfd: max77693: Adjust FLASH_EN_SHIFT and TORCH_EN_SHIFT macros Jacek Anaszewski
2015-01-09 17:59 ` Pavel Machek
2015-01-20 11:17 ` Lee Jones
2015-01-20 13:01 ` Jacek Anaszewski
2015-01-20 14:11 ` Jacek Anaszewski
2015-01-20 15:40 ` Lee Jones
2015-01-20 16:00 ` Pavel Machek
2015-01-20 16:41 ` Lee Jones
2015-01-09 15:22 ` [PATCH/RFC v10 08/19] leds: Add support for max77693 mfd flash cell Jacek Anaszewski
2015-01-09 18:46 ` Pavel Machek
2015-01-12 8:52 ` Jacek Anaszewski
2015-01-12 13:25 ` Pavel Machek
2015-01-12 13:46 ` Jacek Anaszewski [this message]
2015-02-05 15:34 ` Sakari Ailus
2015-02-05 16:26 ` Jacek Anaszewski
2015-01-09 15:22 ` [PATCH/RFC v10 09/19] DT: Add documentation for the mfd Maxim max77693 Jacek Anaszewski
2015-01-09 17:52 ` Pavel Machek
2015-01-20 11:21 ` Lee Jones
2015-01-20 14:36 ` Jacek Anaszewski
2015-01-20 15:38 ` Lee Jones
2015-01-09 15:23 ` [PATCH/RFC v10 10/19] leds: Add driver for AAT1290 current regulator Jacek Anaszewski
2015-01-09 18:57 ` Pavel Machek
2015-01-09 15:23 ` [PATCH/RFC v10 11/19] of: Add Skyworks Solutions, Inc. vendor prefix Jacek Anaszewski
2015-01-09 18:57 ` Pavel Machek
2015-01-09 15:23 ` [PATCH/RFC v10 12/19] DT: Add documentation for the Skyworks AAT1290 Jacek Anaszewski
2015-01-09 18:58 ` Pavel Machek
2015-01-09 15:23 ` [PATCH/RFC v10 13/19] exynos4-is: Add support for v4l2-flash subdevs Jacek Anaszewski
2015-01-09 19:06 ` Pavel Machek
2015-01-09 15:23 ` [PATCH/RFC v10 14/19] v4l2-ctrls: Add V4L2_CID_FLASH_SYNC_STROBE control Jacek Anaszewski
2015-01-09 19:06 ` Pavel Machek
2015-02-05 16:36 ` Sakari Ailus
2015-01-09 15:23 ` [PATCH/RFC v10 15/19] media: Add registration helpers for V4L2 flash sub-devices Jacek Anaszewski
2015-01-09 20:54 ` Pavel Machek
2015-01-12 9:46 ` Jacek Anaszewski
2015-01-12 13:27 ` Pavel Machek
2015-02-05 17:59 ` Sakari Ailus
2015-02-09 11:15 ` Jacek Anaszewski
2015-01-09 15:23 ` [PATCH/RFC v10 16/19] Documentation: leds: Add description of v4l2-flash sub-device Jacek Anaszewski
2015-01-09 20:57 ` Pavel Machek
2015-01-09 15:23 ` [PATCH/RFC v10 17/19] DT: Add documentation for exynos4-is 'flashes' property Jacek Anaszewski
2015-01-09 20:57 ` Pavel Machek
2015-01-21 16:32 ` Sylwester Nawrocki
2015-01-22 8:47 ` Jacek Anaszewski
2015-01-09 15:23 ` [PATCH/RFC v10 18/19] leds: max77693: add support for V4L2 Flash sub-device Jacek Anaszewski
2015-01-09 20:59 ` Pavel Machek
2015-01-09 15:23 ` [PATCH/RFC v10 19/19] leds: aat1290: " Jacek Anaszewski
2015-01-09 20:59 ` Pavel Machek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54B3D053.4010300@samsung.com \
--to=j.anaszewski@samsung.com \
--cc=a.hajda@samsung.com \
--cc=b.zolnierkie@samsung.com \
--cc=cooloney@gmail.com \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=kyungmin.park@samsung.com \
--cc=lee.jones@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=rpurdie@rpsys.net \
--cc=s.nawrocki@samsung.com \
--cc=sakari.ailus@iki.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).