summaryrefslogtreecommitdiff
path: root/firmware/target/arm/ipod
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/ipod')
-rw-r--r--firmware/target/arm/ipod/backlight-nano_video.c8
-rw-r--r--firmware/target/arm/ipod/video/lcd-video.c10
2 files changed, 9 insertions, 9 deletions
diff --git a/firmware/target/arm/ipod/backlight-nano_video.c b/firmware/target/arm/ipod/backlight-nano_video.c
index 6d77e2bd03..647bab9ac6 100644
--- a/firmware/target/arm/ipod/backlight-nano_video.c
+++ b/firmware/target/arm/ipod/backlight-nano_video.c
@@ -43,11 +43,11 @@ void _backlight_set_brightness(int val)
43 { 43 {
44 do 44 do
45 { 45 {
46 oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL); 46 oldlevel = disable_irq_save();
47 GPIO_CLEAR_BITWISE(GPIOD_OUTPUT_VAL, 0x80); 47 GPIO_CLEAR_BITWISE(GPIOD_OUTPUT_VAL, 0x80);
48 udelay(10); 48 udelay(10);
49 GPIO_SET_BITWISE(GPIOD_OUTPUT_VAL, 0x80); 49 GPIO_SET_BITWISE(GPIOD_OUTPUT_VAL, 0x80);
50 set_irq_level(oldlevel); 50 restore_irq(oldlevel);
51 udelay(10); 51 udelay(10);
52 } 52 }
53 while (++current_dim < val); 53 while (++current_dim < val);
@@ -56,11 +56,11 @@ void _backlight_set_brightness(int val)
56 { 56 {
57 do 57 do
58 { 58 {
59 oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL); 59 oldlevel = disable_irq_save();
60 GPIO_CLEAR_BITWISE(GPIOD_OUTPUT_VAL, 0x80); 60 GPIO_CLEAR_BITWISE(GPIOD_OUTPUT_VAL, 0x80);
61 udelay(200); 61 udelay(200);
62 GPIO_SET_BITWISE(GPIOD_OUTPUT_VAL, 0x80); 62 GPIO_SET_BITWISE(GPIOD_OUTPUT_VAL, 0x80);
63 set_irq_level(oldlevel); 63 restore_irq(oldlevel);
64 udelay(10); 64 udelay(10);
65 } 65 }
66 while (--current_dim > val); 66 while (--current_dim > val);
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,
110#ifndef BOOTLOADER 110#ifndef BOOTLOADER
111static void lcd_tick(void) 111static void lcd_tick(void)
112{ 112{
113 /* No set_irq_level - already in interrupt context */ 113 /* No core level interrupt mask - already in interrupt context */
114#if NUM_CORES > 1 114#if NUM_CORES > 1
115 corelock_lock(&lcd_state.cl); 115 corelock_lock(&lcd_state.cl);
116#endif 116#endif
@@ -143,7 +143,7 @@ static void lcd_tick(void)
143 143
144static inline void lcd_block_tick(void) 144static inline void lcd_block_tick(void)
145{ 145{
146 int oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL); 146 int oldlevel = disable_irq_save();
147 147
148#if NUM_CORES > 1 148#if NUM_CORES > 1
149 corelock_lock(&lcd_state.cl); 149 corelock_lock(&lcd_state.cl);
@@ -152,14 +152,14 @@ static inline void lcd_block_tick(void)
152#else 152#else
153 lcd_state.blocked = true; 153 lcd_state.blocked = true;
154#endif 154#endif
155 set_irq_level(oldlevel); 155 restore_irq(oldlevel);
156} 156}
157 157
158static void lcd_unblock_and_update(void) 158static void lcd_unblock_and_update(void)
159{ 159{
160 unsigned data; 160 unsigned data;
161 bool bcm_is_busy; 161 bool bcm_is_busy;
162 int oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL); 162 int oldlevel = disable_irq_save();
163 163
164#if NUM_CORES > 1 164#if NUM_CORES > 1
165 corelock_lock(&lcd_state.cl); 165 corelock_lock(&lcd_state.cl);
@@ -184,7 +184,7 @@ static void lcd_unblock_and_update(void)
184#if NUM_CORES > 1 184#if NUM_CORES > 1
185 corelock_unlock(&lcd_state.cl); 185 corelock_unlock(&lcd_state.cl);
186#endif 186#endif
187 set_irq_level(oldlevel); 187 restore_irq(oldlevel);
188} 188}
189 189
190#else /* BOOTLOADER */ 190#else /* BOOTLOADER */