forked from Minki/linux
sh: turn off irqs when disabling CMT/TMU timers
Modify the CMT and TMU drivers to disable interrupts when disabling the timer. Only using start/stop bits is not enough. This fixes a bootup hang on Migo-R when the CMT is replaced by TMU for clockevents but the CMT keeps on delivering irqs even though the timer start bit is off. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
4c7eb4ebc9
commit
be890a1a95
@ -184,6 +184,9 @@ static void sh_cmt_disable(struct sh_cmt_priv *p)
|
||||
/* disable channel */
|
||||
sh_cmt_start_stop_ch(p, 0);
|
||||
|
||||
/* disable interrupts in CMT block */
|
||||
sh_cmt_write(p, CMCSR, 0);
|
||||
|
||||
/* stop clock */
|
||||
clk_disable(p->clk);
|
||||
}
|
||||
|
@ -138,6 +138,9 @@ static void sh_tmu_disable(struct sh_tmu_priv *p)
|
||||
/* disable channel */
|
||||
sh_tmu_start_stop_ch(p, 0);
|
||||
|
||||
/* disable interrupts in TMU block */
|
||||
sh_tmu_write(p, TCR, 0x0000);
|
||||
|
||||
/* stop clock */
|
||||
clk_disable(p->clk);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user