diff mbox series

[v2,2/4] pinctrl: amd: use higher precision for 512 RtcClk

Message ID 20201104230703.21466-3-coiby.xu@gmail.com
State New
Headers show
Series [v2,1/4] pinctrl: amd: fix incorrect way to disable debounce filter | expand

Commit Message

Coiby Xu Nov. 4, 2020, 11:07 p.m. UTC
RTC is 32.768kHz thus 512 RtcClk equals 15625 usec.

Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Suggested-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/linux-gpio/2f4706a1-502f-75f0-9596-cc25b4933b6c@redhat.com/
Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
---
 drivers/pinctrl/pinctrl-amd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--
2.28.0

Comments

Andy Shevchenko Nov. 5, 2020, 11:13 a.m. UTC | #1
On Thu, Nov 5, 2020 at 1:07 AM Coiby Xu <coiby.xu@gmail.com> wrote:
>
> RTC is 32.768kHz thus 512 RtcClk equals 15625 usec.

I could add that the documentation likely has dropped precision and
that's why the driver mistakenly took the slightly deviated value.

Anyway.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>

> Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
> Suggested-by: Hans de Goede <hdegoede@redhat.com>
> Link: https://lore.kernel.org/linux-gpio/2f4706a1-502f-75f0-9596-cc25b4933b6c@redhat.com/
> Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
> ---
>  drivers/pinctrl/pinctrl-amd.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c
> index d6b2b4bd337c..4aea3e05e8c6 100644
> --- a/drivers/pinctrl/pinctrl-amd.c
> +++ b/drivers/pinctrl/pinctrl-amd.c
> @@ -156,7 +156,7 @@ static int amd_gpio_set_debounce(struct gpio_chip *gc, unsigned offset,
>                         pin_reg |= BIT(DB_TMR_OUT_UNIT_OFF);
>                         pin_reg &= ~BIT(DB_TMR_LARGE_OFF);
>                 } else if (debounce < 250000) {
> -                       time = debounce / 15600;
> +                       time = debounce / 15625;
>                         pin_reg |= time & DB_TMR_OUT_MASK;
>                         pin_reg &= ~BIT(DB_TMR_OUT_UNIT_OFF);
>                         pin_reg |= BIT(DB_TMR_LARGE_OFF);
> --
> 2.28.0
>
Coiby Xu Nov. 5, 2020, 11:32 p.m. UTC | #2
On Thu, Nov 05, 2020 at 01:13:07PM +0200, Andy Shevchenko wrote:
>On Thu, Nov 5, 2020 at 1:07 AM Coiby Xu <coiby.xu@gmail.com> wrote:
>>
>> RTC is 32.768kHz thus 512 RtcClk equals 15625 usec.
>
>I could add that the documentation likely has dropped precision and
>that's why the driver mistakenly took the slightly deviated value.
>
Thank you for the suggestion and other fixes in patch 4/4. Applied in v3.

>Anyway.
>Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
>
>> Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
>> Suggested-by: Hans de Goede <hdegoede@redhat.com>
>> Link: https://lore.kernel.org/linux-gpio/2f4706a1-502f-75f0-9596-cc25b4933b6c@redhat.com/
>> Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
>> ---
>>  drivers/pinctrl/pinctrl-amd.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c
>> index d6b2b4bd337c..4aea3e05e8c6 100644
>> --- a/drivers/pinctrl/pinctrl-amd.c
>> +++ b/drivers/pinctrl/pinctrl-amd.c
>> @@ -156,7 +156,7 @@ static int amd_gpio_set_debounce(struct gpio_chip *gc, unsigned offset,
>>                         pin_reg |= BIT(DB_TMR_OUT_UNIT_OFF);
>>                         pin_reg &= ~BIT(DB_TMR_LARGE_OFF);
>>                 } else if (debounce < 250000) {
>> -                       time = debounce / 15600;
>> +                       time = debounce / 15625;
>>                         pin_reg |= time & DB_TMR_OUT_MASK;
>>                         pin_reg &= ~BIT(DB_TMR_OUT_UNIT_OFF);
>>                         pin_reg |= BIT(DB_TMR_LARGE_OFF);
>> --
>> 2.28.0
>>
>
>
>--
>With Best Regards,
>Andy Shevchenko

--
Best regards,
Coiby
diff mbox series

Patch

diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c
index d6b2b4bd337c..4aea3e05e8c6 100644
--- a/drivers/pinctrl/pinctrl-amd.c
+++ b/drivers/pinctrl/pinctrl-amd.c
@@ -156,7 +156,7 @@  static int amd_gpio_set_debounce(struct gpio_chip *gc, unsigned offset,
 			pin_reg |= BIT(DB_TMR_OUT_UNIT_OFF);
 			pin_reg &= ~BIT(DB_TMR_LARGE_OFF);
 		} else if (debounce < 250000) {
-			time = debounce / 15600;
+			time = debounce / 15625;
 			pin_reg |= time & DB_TMR_OUT_MASK;
 			pin_reg &= ~BIT(DB_TMR_OUT_UNIT_OFF);
 			pin_reg |= BIT(DB_TMR_LARGE_OFF);