[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ec54fd85-f326-4162-aa28-1dcf54be0e4f@gmail.com>
Date: Mon, 5 Feb 2024 11:19:59 +0200
From: Matti Vaittinen <mazziesaccount@...il.com>
To: Subhajit Ghosh <subhajit.ghosh@...aklogic.com>,
Jonathan Cameron <jic23@...nel.org>
Cc: Matti Vaittinen <matti.vaittinen@...rohmeurope.com>,
Lars-Peter Clausen <lars@...afoo.de>, linux-iio@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] iio: gts-helper: Fix division loop
On 2/4/24 15:49, Subhajit Ghosh wrote:
> Hi Matti,
>>>>>> drivers/iio/industrialio-gts-helper.c | 5 ++---
>>>>>> 1 file changed, 2 insertions(+), 3 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/iio/industrialio-gts-helper.c
>>>>>> b/drivers/iio/industrialio-gts-helper.c
>>>>>> index 7653261d2dc2..abcab2d38589 100644
>>>>>> --- a/drivers/iio/industrialio-gts-helper.c
>>>>>> +++ b/drivers/iio/industrialio-gts-helper.c
>>>>>> @@ -34,7 +34,7 @@
>>>>>> static int iio_gts_get_gain(const u64 max, const u64 scale)
>>>>>> {
>>>>>> u64 full = max;
>>>>>> - int tmp = 1;
>>>>>> + int tmp = 0;
>>>>>> if (scale > full || !scale)
>>>>>> return -EINVAL;
>>>>>> @@ -48,8 +48,7 @@ static int iio_gts_get_gain(const u64 max, const
>>>>>> u64 scale)
>>>>>> tmp++;
>>>>>> }
>>>>>> - while (full > scale * (u64)tmp)
>>>>>> - tmp++;
>>>>>> + tmp += div64_u64(full, scale);
>>>>>> return tmp;
>>>>>> }
>>>>>>
>>>>>> base-commit: 2cc14f52aeb78ce3f29677c2de1f06c0e91471ab
>>>>>
>>>>>
>>>> Hi Matti,
>>>>
>>>> Your fix works beautifully with the latest version of apds9306
>>>> driver which I am working on.
>>>> All available scale values can be set without any errors. Thank you.
>>>
>>> Thanks for testing Subhajit! Just to ensure we have no
>>> miscommunication - did you test just this division fix, or the
>>> rounding fix here:
>>> https://lore.kernel.org/lkml/37d3aa193e69577353d314e94463a08d488ddd8d.1701780964.git.mazziesaccount@gmail.com/
>> You are most welcome. I did not check the above rounding fix pointed
>> out by the link. I will be happy to check it and let you know by the
>> end of this month.
>> I checked this division fix.
> I tested the patch in the above link with adps9306 driver which I am
> working on and it seems to work well without any issues.
Great! Thanks a lot Subhajit! Your testing is very much appreciated :)
I think you sent another version of your APDS9306 driver. AFAIR, this
driver could have benefited from the above rounding fix. I will see if I
find the time and energy to see if I can dive into this again and
re-spin this rounding fix. No promises but I'll try :)
Yours,
-- Matti
--
Matti Vaittinen
Linux kernel developer at ROHM Semiconductors
Oulu Finland
~~ When things go utterly wrong vim users can always type :help! ~~
Powered by blists - more mailing lists