This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

What Linux will do after ARM subsystem clock off.

Hi:

 I'm running Linux with DSP/BIOS program on OMAPL137. After Linux kernel  booted,  my linux program will load the DSP/BIOS program via DSPLINK driver, then DSP/BIOS program will turn off Linux system, I found DSP/BIOS program runs fine if Linux not clock off, but will stop working once Linux sytem is clock off. Can someone tell me what resource (either power, register, clock, memory)  is influenced when Linux turn off.

 The system spec is as below:

 Linux: 2.6.32,  (from PSP 3.20.00.14)

DSP/BIOS: 5.33.05.

CGT:6.1.9

DSPLink: 1.65.00.03

The DSP/BIOS program contains a main function, idle loop function and two timers, after main function return (DSP/BIOS task start), idle loop and timer will toggle LEDs, so I confirmed the program runs fine.

I then insert a ARM-OFF function with main function, the ARM-OFFfunction follow  page @ "section 10.6.2 ARM subsystem clock OFF", SPRUH92, "OMAPL137 Technical Reference Manual".

Everything seems fine, The ARM-OFF driver on Linux will ACK the ARMCLKSTOPRQ INT, and DSP arm-off function can poll GOSTAT[0] to be 0, PSC0.MDSTAT14, to be 2h. Successfully, After that main function will return, but this time, none of idle or timer will toggle LEDs.

My Linux interrupt driver is just execut "MCR p15, #0, r3, c7, c0, #4", as described on page 10.6.1. Then return IRQ_HANDLED.

The question is:

What Linux kernel do after my interrupt driver return "IRQ_HANDLED"?

Do it turn on/off or influence any resources, thus my DSP/BIOS program fail to run?