pinctrl: amd: use higher precision for 512 RtcClk
RTC is 32.768kHz thus 512 RtcClk equals 15625 usec. The documentation likely has dropped precision and that's why the driver mistakenly took the slightly deviated value. Cc: stable@vger.kernel.org Reported-by: Andy Shevchenko <andy.shevchenko@gmail.com> Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com> Suggested-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Coiby Xu <coiby.xu@gmail.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/linux-gpio/2f4706a1-502f-75f0-9596-cc25b4933b6c@redhat.com/ Link: https://lore.kernel.org/r/20201105231912.69527-3-coiby.xu@gmail.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
@@ -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_OUT_UNIT_OFF);
|
||||||
pin_reg &= ~BIT(DB_TMR_LARGE_OFF);
|
pin_reg &= ~BIT(DB_TMR_LARGE_OFF);
|
||||||
} else if (debounce < 250000) {
|
} else if (debounce < 250000) {
|
||||||
time = debounce / 15600;
|
time = debounce / 15625;
|
||||||
pin_reg |= time & DB_TMR_OUT_MASK;
|
pin_reg |= time & DB_TMR_OUT_MASK;
|
||||||
pin_reg &= ~BIT(DB_TMR_OUT_UNIT_OFF);
|
pin_reg &= ~BIT(DB_TMR_OUT_UNIT_OFF);
|
||||||
pin_reg |= BIT(DB_TMR_LARGE_OFF);
|
pin_reg |= BIT(DB_TMR_LARGE_OFF);
|
||||||
|
|||||||
Reference in New Issue
Block a user