summaryrefslogtreecommitdiff
path: root/firmware/target/arm
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm')
-rw-r--r--firmware/target/arm/gigabeat/meg-fx/backlight-meg-fx.c6
-rw-r--r--firmware/target/arm/gigabeat/meg-fx/lcd-meg-fx.c16
2 files changed, 2 insertions, 20 deletions
diff --git a/firmware/target/arm/gigabeat/meg-fx/backlight-meg-fx.c b/firmware/target/arm/gigabeat/meg-fx/backlight-meg-fx.c
index 9a1c684506..5b32c98572 100644
--- a/firmware/target/arm/gigabeat/meg-fx/backlight-meg-fx.c
+++ b/firmware/target/arm/gigabeat/meg-fx/backlight-meg-fx.c
@@ -123,8 +123,8 @@ void __backlight_init(void)
123 123
124 buttonlight_selected = 0x04; 124 buttonlight_selected = 0x04;
125 125
126 /* delay 5 seconds before any fading */ 126 /* delay 2 seconds before any fading */
127 initial_tick_delay = 5000; 127 initial_tick_delay = 2000;
128 /* put the led control on the tick list */ 128 /* put the led control on the tick list */
129 tick_add_task(led_control_service); 129 tick_add_task(led_control_service);
130} 130}
@@ -570,8 +570,6 @@ static void led_control_service(void)
570 sc606_write(SC606_REG_CONF, buttonlight_leds); 570 sc606_write(SC606_REG_CONF, buttonlight_leds);
571 backlight_control = BACKLIGHT_CONTROL_IDLE; 571 backlight_control = BACKLIGHT_CONTROL_IDLE;
572 572
573 /* turn the lcd completely off after the fade or off command */
574 lcd_enable(false);
575 break; 573 break;
576 574
577 575
diff --git a/firmware/target/arm/gigabeat/meg-fx/lcd-meg-fx.c b/firmware/target/arm/gigabeat/meg-fx/lcd-meg-fx.c
index cbeddc6ee7..778e049dd5 100644
--- a/firmware/target/arm/gigabeat/meg-fx/lcd-meg-fx.c
+++ b/firmware/target/arm/gigabeat/meg-fx/lcd-meg-fx.c
@@ -24,11 +24,6 @@ volatile bool lcd_poweroff = false;
24extern unsigned fg_pattern; 24extern unsigned fg_pattern;
25extern unsigned bg_pattern; 25extern unsigned bg_pattern;
26 26
27static struct mutex lcd_update_mtx;
28static struct mutex lcd_clear_mtx;
29static struct mutex lcd_enable_mtx;
30
31
32bool lcd_enabled() 27bool lcd_enabled()
33{ 28{
34 return lcd_on; 29 return lcd_on;
@@ -37,10 +32,6 @@ bool lcd_enabled()
37/* LCD init */ 32/* LCD init */
38void lcd_init_device(void) 33void lcd_init_device(void)
39{ 34{
40 mutex_init(&lcd_update_mtx);
41 mutex_init(&lcd_clear_mtx);
42 mutex_init(&lcd_enable_mtx);
43
44 memset16(fg_pattern_blit, fg_pattern, sizeof(fg_pattern_blit)/2); 35 memset16(fg_pattern_blit, fg_pattern, sizeof(fg_pattern_blit)/2);
45 memset16(bg_pattern_blit, bg_pattern, sizeof(bg_pattern_blit)/2); 36 memset16(bg_pattern_blit, bg_pattern, sizeof(bg_pattern_blit)/2);
46 clean_dcache_range((void *)fg_pattern_blit, sizeof(fg_pattern_blit)); 37 clean_dcache_range((void *)fg_pattern_blit, sizeof(fg_pattern_blit));
@@ -73,8 +64,6 @@ void lcd_update_rect(int x, int y, int width, int height)
73 } 64 }
74 if (use_dma_blit) 65 if (use_dma_blit)
75 { 66 {
76// mutex_lock(&lcd_update_mtx);
77
78 /* Wait for this controller to stop pending transfer */ 67 /* Wait for this controller to stop pending transfer */
79 while((DSTAT1 & 0x000fffff)) 68 while((DSTAT1 & 0x000fffff))
80 CLKCON |= (1 << 2); /* set IDLE bit */ 69 CLKCON |= (1 << 2); /* set IDLE bit */
@@ -104,7 +93,6 @@ void lcd_update_rect(int x, int y, int width, int height)
104 /* Wait for transfer to complete */ 93 /* Wait for transfer to complete */
105 while((DSTAT1 & 0x000fffff)) 94 while((DSTAT1 & 0x000fffff))
106 CLKCON |= (1 << 2); /* set IDLE bit */ 95 CLKCON |= (1 << 2); /* set IDLE bit */
107// mutex_unlock(&lcd_update_mtx);
108 } 96 }
109 else 97 else
110 memcpy(((char*)FRAME) + (y * sizeof(fb_data) * LCD_WIDTH), ((char *)&lcd_framebuffer) + (y * sizeof(fb_data) * LCD_WIDTH), ((height * sizeof(fb_data) * LCD_WIDTH))); 98 memcpy(((char*)FRAME) + (y * sizeof(fb_data) * LCD_WIDTH), ((char *)&lcd_framebuffer) + (y * sizeof(fb_data) * LCD_WIDTH), ((height * sizeof(fb_data) * LCD_WIDTH)));
@@ -115,7 +103,6 @@ void lcd_enable(bool state)
115{ 103{
116 if(!lcd_poweroff) 104 if(!lcd_poweroff)
117 return; 105 return;
118 mutex_lock(&lcd_enable_mtx);
119 if(state) { 106 if(state) {
120 if(!lcd_on) { 107 if(!lcd_on) {
121 lcd_on = true; 108 lcd_on = true;
@@ -129,7 +116,6 @@ void lcd_enable(bool state)
129 LCDCON1 &= ~1; 116 LCDCON1 &= ~1;
130 } 117 }
131 } 118 }
132 mutex_unlock(&lcd_enable_mtx);
133} 119}
134 120
135void lcd_set_foreground(unsigned color) 121void lcd_set_foreground(unsigned color)
@@ -174,7 +160,6 @@ void lcd_clear_display_dma(void)
174 inc = true; 160 inc = true;
175 } 161 }
176 } 162 }
177// mutex_lock(&lcd_clear_mtx);
178 /* Wait for any pending transfer to complete */ 163 /* Wait for any pending transfer to complete */
179 while((DSTAT3 & 0x000fffff)) 164 while((DSTAT3 & 0x000fffff))
180 CLKCON |= (1 << 2); /* set IDLE bit */ 165 CLKCON |= (1 << 2); /* set IDLE bit */
@@ -198,7 +183,6 @@ void lcd_clear_display_dma(void)
198 /* Wait for transfer to complete */ 183 /* Wait for transfer to complete */
199 while((DSTAT3 & 0x000fffff)) 184 while((DSTAT3 & 0x000fffff))
200 CLKCON |= (1 << 2); /* set IDLE bit */ 185 CLKCON |= (1 << 2); /* set IDLE bit */
201// mutex_unlock(&lcd_update_mtx);
202} 186}
203 187
204void lcd_clear_display(void) 188void lcd_clear_display(void)