[U-Boot] [PATCH] watchdog: omap_wdt: improve watchdog reset path

Alex Kiernan
2018-03-16T07:39:58Z

On Thu, Mar 1, 2018 at 1:15 AM, Ruslan Bilovol <ruslan.bilovol@gmail.com> wrote:
> Remove busy looping during watchdog reset.
> Each polling of W_PEND_WTGR bit ("finish posted
> write") after watchdog reset takes 120-140us
> on BeagleBone Black board. Current U-Boot code
> has watchdog resets in random places and often
> there is situation when watchdog is reset
> few times in a row in nested functions.
> This adds extra delays and slows the whole system.
>
> Instead of polling W_PEND_WTGR bit, we skip
> watchdog reset if the bit is set. Anyway, watchdog
> is in the middle of reset *right now*, so we can
> just return.
>
> This noticeably increases performance of the
> system. Below are some measurements on BBB:
> - DFU upload over USB 15% faster
> - fastboot image upload 3x times faster
> - USB ep0 transfers with 4k packets 20% faster
>
> Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com>

Tested-by: Alex Kiernan <alex.kiernan@gmail.com>

--
Alex Kiernan