diff options
author | Tomasz Moń <desowin@gmail.com> | 2011-12-19 06:39:07 +0000 |
---|---|---|
committer | Tomasz Moń <desowin@gmail.com> | 2011-12-19 06:39:07 +0000 |
commit | b98d03f4c389dd021ebd6f21ef2e7e993dec0714 (patch) | |
tree | e5516874e4a8bd769c1fc9311d1ea249bbef0ba7 /firmware/target/arm/tms320dm320/mrobe-500 | |
parent | 2d8fd040d804503b3168eceb5ad03a11160969e5 (diff) | |
download | rockbox-b98d03f4c389dd021ebd6f21ef2e7e993dec0714.tar.gz rockbox-b98d03f4c389dd021ebd6f21ef2e7e993dec0714.zip |
TMS320DM320: Turn on Image Buffer clock on demand (FS #12462)
This improves battery runtime on Sansa Connect by approximately 40 minutes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31358 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/tms320dm320/mrobe-500')
-rw-r--r-- | firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c index 898013982b..38631401f9 100644 --- a/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c +++ b/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c | |||
@@ -324,9 +324,8 @@ static void dma_start_transfer16( char *src, int src_x, int src_y, int stride, | |||
324 | src -= CONFIG_SDRAM_START; | 324 | src -= CONFIG_SDRAM_START; |
325 | dst -= CONFIG_SDRAM_START; | 325 | dst -= CONFIG_SDRAM_START; |
326 | 326 | ||
327 | /* Enable Clocks */ | 327 | /* Enable Image Buffer clock */ |
328 | bitset16(&IO_CLK_MOD1, CLK_MOD1_IMGBUF); | 328 | bitset16(&IO_CLK_MOD1, CLK_MOD1_IMGBUF); |
329 | bitset16(&COP_CP_CLKC, 0x0001); | ||
330 | 329 | ||
331 | /* ... */ | 330 | /* ... */ |
332 | COP_BUF_MUX1 = 0x0005; | 331 | COP_BUF_MUX1 = 0x0005; |
@@ -380,6 +379,9 @@ static void dma_start_transfer16( char *src, int src_x, int src_y, int stride, | |||
380 | dst += (stride*pix_width); | 379 | dst += (stride*pix_width); |
381 | height--; | 380 | height--; |
382 | } while(height>0); | 381 | } while(height>0); |
382 | |||
383 | /* Disable Image Buffer clock */ | ||
384 | bitclr16(&IO_CLK_MOD1, CLK_MOD1_IMGBUF); | ||
383 | } | 385 | } |
384 | #else | 386 | #else |
385 | static void dma_start_transfer16( char *src, int src_x, int src_y, int stride, | 387 | static void dma_start_transfer16( char *src, int src_x, int src_y, int stride, |
@@ -401,9 +403,8 @@ static void dma_start_transfer16( char *src, int src_x, int src_y, int stride, | |||
401 | src -= CONFIG_SDRAM_START; | 403 | src -= CONFIG_SDRAM_START; |
402 | dst -= CONFIG_SDRAM_START; | 404 | dst -= CONFIG_SDRAM_START; |
403 | 405 | ||
404 | /* Enable Clocks */ | 406 | /* Enable Image Buffer clock */ |
405 | bitset16(&IO_CLK_MOD1, CLK_MOD1_IMGBUF); | 407 | bitset16(&IO_CLK_MOD1, CLK_MOD1_IMGBUF); |
406 | bitset16(&COP_CP_CLKC, 0x0001); | ||
407 | 408 | ||
408 | /* ... */ | 409 | /* ... */ |
409 | COP_BUF_MUX1 = 0x0005; | 410 | COP_BUF_MUX1 = 0x0005; |
@@ -457,6 +458,9 @@ static void dma_start_transfer16( char *src, int src_x, int src_y, int stride, | |||
457 | dst -= (stride*pix_width); | 458 | dst -= (stride*pix_width); |
458 | width--; | 459 | width--; |
459 | } while(width>0); | 460 | } while(width>0); |
461 | |||
462 | /* Disable Image Buffer clock */ | ||
463 | bitclr16(&IO_CLK_MOD1, CLK_MOD1_IMGBUF); | ||
460 | } | 464 | } |
461 | #endif | 465 | #endif |
462 | #endif | 466 | #endif |