• C
    ARM: OMAP4: retrigger localtimers after re-enabling gic · cd8ce159
    Colin Cross 提交于
    'Workaround for ROM bug because of CA9 r2pX gic control'
    register change disables the gic distributor while the secondary
    cpu is being booted.  If a localtimer interrupt on the primary cpu
    occurs when the distributor is turned off, the interrupt is lost,
    and the localtimer never fires again.
    
    Make the primary cpu wait for the secondary cpu to reenable the
    gic distributor (with interrupts off for safety), and then
    check if the pending bit is set in the localtimer but not the
    gic.  If so, ack it in the localtimer, and reset the timer with
    the minimum timeout to trigger a new timer interrupt.
    Signed-off-by: NColin Cross <ccross@android.com>
    [s-jan@ti.com: adapted to k3.4 + validated functionality]
    Signed-off-by: NSebastien Jan <s-jan@ti.com>
    [t-kristo@ti.com: dropped generic ARM kernel exports from the code, rebased
     to mainline]
    Signed-off-by: NTero Kristo <t-kristo@ti.com>
    Signed-off-by: NKevin Hilman <khilman@ti.com>
    cd8ce159
common.h 9.1 KB