diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2013-09-04 19:18:07 +0200 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2013-09-04 19:18:07 +0200 |
commit | 4d854194f3e60d56d68e82a934d5613c42c1273b (patch) | |
tree | 685c39d2c4452f9208240833b13c25e97c2a2c1f /arch/mips/kernel | |
parent | 12d14e0edd4ea7b5fd879e55855969771d37aad8 (diff) | |
parent | f7c1285f0eba8e0910decc0fa5b409f886e4358e (diff) |
Merge branch '3.11-fixes' into mips-for-linux-next
Diffstat (limited to 'arch/mips/kernel')
-rw-r--r-- | arch/mips/kernel/mcount.S | 2 | ||||
-rw-r--r-- | arch/mips/kernel/time.c | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/arch/mips/kernel/mcount.S b/arch/mips/kernel/mcount.S index a03e93c4a946..539b6294b613 100644 --- a/arch/mips/kernel/mcount.S +++ b/arch/mips/kernel/mcount.S @@ -83,7 +83,7 @@ _mcount: PTR_S MCOUNT_RA_ADDRESS_REG, PT_R12(sp) #endif - move a0, ra /* arg1: self return address */ + PTR_SUBU a0, ra, 8 /* arg1: self address */ .globl ftrace_call ftrace_call: nop /* a placeholder for the call to a real tracing function */ diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c index 9d686bf97b0e..364d26ae4215 100644 --- a/arch/mips/kernel/time.c +++ b/arch/mips/kernel/time.c @@ -121,6 +121,14 @@ void __init time_init(void) { plat_time_init(); - if (!mips_clockevent_init() || !cpu_has_mfc0_count_bug()) + /* + * The use of the R4k timer as a clock event takes precedence; + * if reading the Count register might interfere with the timer + * interrupt, then we don't use the timer as a clock source. + * We may still use the timer as a clock source though if the + * timer interrupt isn't reliable; the interference doesn't + * matter then, because we don't use the interrupt. + */ + if (mips_clockevent_init() != 0 || !cpu_has_mfc0_count_bug()) init_mips_clocksource(); } |