• Finn Thain's avatar
    powerpc/tau: Disable TAU between measurements · e63d6fb5
    Finn Thain authored
    Enabling CONFIG_TAU_INT causes random crashes:
    
    Unrecoverable exception 1700 at c0009414 (msr=1000)
    Oops: Unrecoverable exception, sig: 6 [#1]
    BE PAGE_SIZE=4K MMU=Hash SMP NR_CPUS=2 PowerMac
    Modules linked in:
    CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.7.0-pmac-00043-gd5f545e1a8593 #5
    NIP:  c0009414 LR: c0009414 CTR: c00116fc
    REGS: c0799eb8 TRAP: 1700   Not tainted  (5.7.0-pmac-00043-gd5f545e1a8593)
    MSR:  00001000 <ME>  CR: 22000228  XER: 00000100
    
    GPR00: 00000000 c0799f70 c076e300 00800000 0291c0ac 00e00000 c076e300 00049032
    GPR08: 00000001 c00116fc 00000000 dfbd3200 ffffffff 007f80a8 00000000 00000000
    GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 c075ce04
    GPR24: c075ce04 dfff8880 c07b0000 c075ce04 00080000 00000001 c079ef98 c079ef5c
    NIP [c0009414] arch_cpu_idle+0x24/0x6c
    LR [c0009414] arch_cpu_idle+0x24/0x6c
    Call Trace:
    [c0799f70] [00000001] 0x1 (unreliable)
    [c0799f80] [c0060990] do_idle+0xd8/0x17c
    [c0799fa0] [c0060ba4] cpu_startup_entry+0x20/0x28
    [c0799fb0] [c072d220] start_kernel+0x434/0x44c
    [c0799ff0] [00003860] 0x3860
    Instruction dump:
    XXXXXXXX XXXXXXXX XXXXXXXX 3d20c07b XXXXXXXX XXXXXXXX XXXXXXXX 7c0802a6
    XXXXXXXX XXXXXXXX XXXXXXXX 4e800421 XXXXXXXX XXXXXXXX XXXXXXXX 7d2000a6
    ---[ end trace 3a0c9b5cb216db6b ]---
    
    Resolve this problem by disabling each THRMn comparator when handling
    the associated THRMn interrupt and by disabling the TAU entirely when
    updating THRMn thresholds.
    
    Fixes: 1da177e4 ("Linux-2.6.12-rc2")
    Signed-off-by: default avatarFinn Thain <fthain@telegraphics.com.au>
    Tested-by: default avatarStan Johnson <userm57@yahoo.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/5a0ba3dc5612c7aac596727331284a3676c08472.1599260540.git.fthain@telegraphics.com.au
    e63d6fb5
tau_6xx.c 5.58 KB