powerpc/time: Add set_state_oneshot_stopped decrementer callback
authorAnton Blanchard <anton@ozlabs.org>
Mon, 1 Oct 2018 23:01:05 +0000 (09:01 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 4 Oct 2018 13:00:31 +0000 (23:00 +1000)
commit817593604e5b244dc55344d298d96122457c20bd
tree3eef8b709b42a878faceade92ab08390602f345e
parent8b78fdb045de60a4eb35460092bbd3cffa925353
powerpc/time: Add set_state_oneshot_stopped decrementer callback

If CONFIG_PPC_WATCHDOG is enabled we always cap the decrementer to
0x7fffffff:

       if (IS_ENABLED(CONFIG_PPC_WATCHDOG))
                set_dec(0x7fffffff);
        else
                set_dec(decrementer_max);

If there are no future events, we don't reprogram the decrementer
after this and we end up with 0x7fffffff even on a large decrementer
capable system.

As suggested by Nick, add a set_state_oneshot_stopped callback
so we program the decrementer with decrementer_max if there are
no future events.

Signed-off-by: Anton Blanchard <anton@ozlabs.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/time.c