[PATCH] powerpc: remove WATCHDOG_RESET call from wait_ticks()

Wolfgang Denk wd at denx.de
Tue Mar 17 13:21:44 CET 2020

Dear Rasmus,

In message <1b6c7efd-8264-6cb5-0b39-3223bae5f8dc at prevas.dk> you wrote:
> Or do you not agree that __udelay is supposed to be a raw primitive that
> does the delay and nothing else?

I agree, and it does that - it converts the microseconds into ticks,
and calls wait_ticks(), and does nothing else.

It's the wait_ticks() implementation which references the macro

> >> There are not that many __udelay() calls, so I doubt this causes a
> >> regression for anyone. Callers of udelay() are not affected, since
> >> udelay() itself does one WATCHDOG_RESET() per __udelay() call.
> > 
> > Which exact platforms have you tested this on?
> An MPC8309-derived board which does not utilize the SOCs watchdog but
> has an external gpio-triggered (always-running) watchdog circuit.

This is not even close to global coverage.

Are you aware that there is the PPC-global implementation of
wait_ticks() in arch/powerpc/lib/ticks.S , plus another MPC83xx
specific one in drivers/timer/mpc83xx_timer.c?

I don't even understand why MPC83xx needs special treatment.

In any case it seems to me a board specific redefinition of the
WATCHDOG_RESET macro would be less intrusive and risky than changing
code that has been there since the beginning of time (well, at least
more than 18 years).

Best regards,

Wolfgang Denk

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
I am not now, nor have I ever been, a member of the demigodic party.
                                                   -- Dennis Ritchie

More information about the U-Boot mailing list