hvc_opal: don't set tb_ticks_per_usec in udbg_init_opal_common()
PATCH 1/1 hvc_opal: don't set tb_ticks_per_usec in udbg_init_opal_common()
time_init() will set up tb_ticks_per_usec based on reality. time_init() is called *after* udbg_init_opal_common() during boot.
from arch/powerpc/kernel/time.c:
unsigned long tb_ticks_per_usec = 100; /* sane default */
Currently, all powernv systems have a timebase frequency of 512mhz (512000000/1000000 == 0x200) - although there's nothing written down anywhere that I can find saying that we couldn't make that different based on the requirements in the ISA.
So, we've been (accidentally) thwacking the (currently) correct (for powernv at least) value for tb_ticks_per_usec earlier than we otherwise would have.
The "sane default" seems to be adequate for our purposes between udbg_init_opal_common() and time_init() being called, and if it isn't, then we should probably be setting it somewhere that isn't hvc_opal.c!
--- drivers/tty/hvc/hvc_opal.c | 1 - 1 file changed, 1 deletion(-)
drivers/tty/hvc/hvc_opal.c +0 -1
@@ -318,7 +318,6 @@ static void udbg_init_opal_common(void) udbg_putc = udbg_opal_putc; udbg_getc = udbg_opal_getc; udbg_getc_poll = udbg_opal_getc_poll; - tb_ticks_per_usec =0x200 ;/* Make udelay not suck */ }void __init hvc_opal_init_early (void )
Signature · 1 line
2.14.3
Michael Ellerman
AppliedQuoted 15 lines · Stewart Smith
time_init()will set uptb_ticks_per_usecbased on reality.time_init()is called *after*udbg_init_opal_common()during boot.from
arch/powerpc/kernel/time.c:
unsigned longtb_ticks_per_usec= 100; /* sane default */Currently, all powernv systems have a timebase frequency of 512mhz (512000000/1000000 ==
0x200) - although there's nothing written down anywhere that I can find saying that we couldn't make that different based on the requirements in the ISA.So, we've been (accidentally) thwacking the (currently) correct (for powernv at least) value for
tb_ticks_per_usecearlier than we otherwise would have.
Quoted 5 lines
The "sane default" seems to be adequate for our purposes between
udbg_init_opal_common()andtime_init()being called, and if it isn't, then we should probably be setting it somewhere that isn'thvc_opal.c!Signed-off-by Stewart Smith <[email protected]>
Applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/447808bf500a7cc92173266a59f8a4
cheers