summaryrefslogtreecommitdiff
path: root/firmware/target/coldfire/iriver
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2011-06-17 03:09:47 +0000
committerMichael Sevakis <jethead71@rockbox.org>2011-06-17 03:09:47 +0000
commitd4800fa3851d2d89c1be03ec99af81f277892579 (patch)
tree60c2beebe08192b2ba6a9c2db31e4409aa940b4e /firmware/target/coldfire/iriver
parent7b605f04168400f3b1b2024600886045f0103c3a (diff)
downloadrockbox-d4800fa3851d2d89c1be03ec99af81f277892579.tar.gz
rockbox-d4800fa3851d2d89c1be03ec99af81f277892579.zip
Coldfire: Fix the modification of IMR. Interrupts must be masked at the core level at at least the level of the interrupt being masked. Not following the datasheet and relying strictly on and/or_l causes unhandled 'Levelx' exceptions (showing itself quite often in PCM mixer work which more greatly stresses PCM lockout).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30009 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/coldfire/iriver')
-rw-r--r--firmware/target/coldfire/iriver/h300/lcd-h300.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/firmware/target/coldfire/iriver/h300/lcd-h300.c b/firmware/target/coldfire/iriver/h300/lcd-h300.c
index ea0819aa3e..6c21a7e260 100644
--- a/firmware/target/coldfire/iriver/h300/lcd-h300.c
+++ b/firmware/target/coldfire/iriver/h300/lcd-h300.c
@@ -266,7 +266,7 @@ void lcd_init_device(void)
266 DSR3 = 1; 266 DSR3 = 1;
267 DIVR3 = 57; /* DMA3 is mapped into vector 57 in system.c */ 267 DIVR3 = 57; /* DMA3 is mapped into vector 57 in system.c */
268 ICR9 = (6 << 2); /* Enable DMA3 interrupt at level 6, priority 0 */ 268 ICR9 = (6 << 2); /* Enable DMA3 interrupt at level 6, priority 0 */
269 and_l(~(1<<17), &IMR); 269 coldfire_imr_mod(0, 1 << 17);
270 270
271 mutex_init(&lcd_mtx); 271 mutex_init(&lcd_mtx);
272 _display_on(); 272 _display_on();