diff options
author | Marcin Bukat <marcin.bukat@gmail.com> | 2010-12-20 21:13:27 +0000 |
---|---|---|
committer | Marcin Bukat <marcin.bukat@gmail.com> | 2010-12-20 21:13:27 +0000 |
commit | dddab541513c12982f649ac6498c425d40517613 (patch) | |
tree | a83fec685591d9ffe4d8d01a4b7d15c7668ef62f | |
parent | 4c046d090b6073520690672e65e2e6fbc2d0651f (diff) | |
download | rockbox-dddab541513c12982f649ac6498c425d40517613.tar.gz rockbox-dddab541513c12982f649ac6498c425d40517613.zip |
HD300 - Fix bootloader freeze introduced in r28799. DMA transfer hangs for some reason when cpu runs @11MHz in bootloader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28867 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | firmware/target/coldfire/mpio/hd300/lcd-hd300.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/firmware/target/coldfire/mpio/hd300/lcd-hd300.c b/firmware/target/coldfire/mpio/hd300/lcd-hd300.c index d66210db22..3752a84073 100644 --- a/firmware/target/coldfire/mpio/hd300/lcd-hd300.c +++ b/firmware/target/coldfire/mpio/hd300/lcd-hd300.c | |||
@@ -210,13 +210,10 @@ void lcd_update(void) | |||
210 | lcd_write_command_ex(LCD_CNTL_COLUMN, 0, -1); | 210 | lcd_write_command_ex(LCD_CNTL_COLUMN, 0, -1); |
211 | lcd_write_command(LCD_CNTL_DATA_WRITE); | 211 | lcd_write_command(LCD_CNTL_DATA_WRITE); |
212 | 212 | ||
213 | /* lcd can't handle the speed of DMA transfer when boosted */ | 213 | /* lcd can't handle the speed of DMA transfer when boosted |
214 | if ( cpu_frequency > 60000000 ) | 214 | * 11 MHz in bootloader hangs for unknown reason |
215 | { | 215 | */ |
216 | /* Copy display bitmap to hardware */ | 216 | if ( cpu_frequency == CPUFREQ_NORMAL ) |
217 | lcd_write_data (&lcd_framebuffer[0][0], LCD_WIDTH*LCD_FBHEIGHT); | ||
218 | } | ||
219 | else | ||
220 | { | 217 | { |
221 | /* Copy display bitmap to hardware using DMA */ | 218 | /* Copy display bitmap to hardware using DMA */ |
222 | DSR3 = 1; | 219 | DSR3 = 1; |
@@ -226,6 +223,12 @@ void lcd_update(void) | |||
226 | DCR3 = DMA_BWC(1) | DMA_SINC | DMA_SSIZE(DMA_SIZE_BYTE) | | 223 | DCR3 = DMA_BWC(1) | DMA_SINC | DMA_SSIZE(DMA_SIZE_BYTE) | |
227 | DMA_DSIZE(DMA_SIZE_BYTE) | DMA_START; | 224 | DMA_DSIZE(DMA_SIZE_BYTE) | DMA_START; |
228 | } | 225 | } |
226 | else | ||
227 | { | ||
228 | /* Copy display bitmap to hardware */ | ||
229 | lcd_write_data (&lcd_framebuffer[0][0], LCD_WIDTH*LCD_FBHEIGHT); | ||
230 | } | ||
231 | |||
229 | } | 232 | } |
230 | 233 | ||
231 | /* Update a fraction of the display. */ | 234 | /* Update a fraction of the display. */ |