OSDN Git Service

hvc_opal: don't set tb_ticks_per_usec in udbg_init_opal_common()
authorStewart Smith <stewart@linux.ibm.com>
Thu, 29 Mar 2018 06:02:46 +0000 (17:02 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Sun, 3 Jun 2018 10:43:34 +0000 (20:43 +1000)
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!

Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
drivers/tty/hvc/hvc_opal.c

index 2ed07ca..9645c00 100644 (file)
@@ -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)