Pull video into test branch
[linux-drm-fsl-dcu.git] / arch / mips / kernel / smtc-asm.S
index 76cb31d574824a3bb6f876d10ebacb470a0a02a6..921207c4a83c115ac77dfeadfe6c25bc31fb9d58 100644 (file)
@@ -97,15 +97,14 @@ FEXPORT(__smtc_ipi_vector)
        SAVE_ALL
        CLI
        TRACE_IRQS_OFF
-       move    a0,sp
        /* Function to be invoked passed stack pad slot 5 */
        lw      t0,PT_PADSLOT5(sp)
        /* Argument from sender passed in stack pad slot 4 */
-       lw      a1,PT_PADSLOT4(sp)
-       jalr    t0
-       nop
-       j       ret_from_irq
-       nop
+       lw      a0,PT_PADSLOT4(sp)
+       LONG_L  s0, TI_REGS($28)
+       LONG_S  sp, TI_REGS($28)
+       PTR_LA  ra, ret_from_irq
+       jr      t0
 
 /*
  * Called from idle loop to provoke processing of queued IPIs
@@ -122,7 +121,10 @@ LEAF(self_ipi)
        subu    t1,sp,PT_SIZE
        sw      ra,PT_EPC(t1)
        sw      a0,PT_PADSLOT4(t1)
+       LONG_L  s0, TI_REGS($28)
+       LONG_S  sp, TI_REGS($28)
        la      t2,ipi_decode
+       LONG_S  s0, TI_REGS($28)
        sw      t2,PT_PADSLOT5(t1)
        /* Save pre-disable value of TCStatus */
        sw      t0,PT_TCSTATUS(t1)