summaryrefslogtreecommitdiff
path: root/firmware/target/arm/ipod/video/lcd-video.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2008-03-26 01:50:41 +0000
committerMichael Sevakis <jethead71@rockbox.org>2008-03-26 01:50:41 +0000
commitaf395f4db6ad7b83f9d9afefb1c0ceeedd140a45 (patch)
treeb631289b4a3b28d3c65b10d272d50298f377c69f /firmware/target/arm/ipod/video/lcd-video.c
parent74d678fdbcbc427c057e7682ba0a0566e49a8b97 (diff)
Do core interrupt masking in a less general fashion and save some instructions to decrease size and speed things up a little bit. Small fix to a few places where interrupts would get enabled again where they shouldn't have been (context switching calls when disabled).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16811 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/ipod/video/lcd-video.c')
-rw-r--r--firmware/target/arm/ipod/video/lcd-video.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/firmware/target/arm/ipod/video/lcd-video.c b/firmware/target/arm/ipod/video/lcd-video.c
index d0c82e905c..0e1b072917 100644
--- a/firmware/target/arm/ipod/video/lcd-video.c
+++ b/firmware/target/arm/ipod/video/lcd-video.c
@@ -110,7 +110,7 @@ static void bcm_setup_rect(unsigned x, unsigned y,
#ifndef BOOTLOADER
static void lcd_tick(void)
{
- /* No set_irq_level - already in interrupt context */
+ /* No core level interrupt mask - already in interrupt context */
#if NUM_CORES > 1
corelock_lock(&lcd_state.cl);
#endif
@@ -143,7 +143,7 @@ static void lcd_tick(void)
static inline void lcd_block_tick(void)
{
- int oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL);
+ int oldlevel = disable_irq_save();
#if NUM_CORES > 1
corelock_lock(&lcd_state.cl);
@@ -152,14 +152,14 @@ static inline void lcd_block_tick(void)
#else
lcd_state.blocked = true;
#endif
- set_irq_level(oldlevel);
+ restore_irq(oldlevel);
}
static void lcd_unblock_and_update(void)
{
unsigned data;
bool bcm_is_busy;
- int oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL);
+ int oldlevel = disable_irq_save();
#if NUM_CORES > 1
corelock_lock(&lcd_state.cl);
@@ -184,7 +184,7 @@ static void lcd_unblock_and_update(void)
#if NUM_CORES > 1
corelock_unlock(&lcd_state.cl);
#endif
- set_irq_level(oldlevel);
+ restore_irq(oldlevel);
}
#else /* BOOTLOADER */