Rockbox

This is the bug/patch tracker for Rockbox. Click here for more information.

Quick links: Bugs · Patches · Rockbox frontpage

Tasklist

FS#11330 - Clip*: disable peripherals in lcd_enable()

Attached to Project: Rockbox
Opened by Rafaël Carré (funman) - Saturday, 29 May 2010, 15:27 GMT+2
Last edited by Rafaël Carré (funman) - Friday, 30 July 2010, 19:31 GMT+2
Task Type Patches
Category LCD
Status Closed
Assigned To No-one
Player Type Another
Severity Low
Priority Normal
Reported Version Release 3.4
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Private No

Details

Switch off DBOP (or SSP for Clip+) clocks when LCD is not in use.

7 minutes more runtime on Clipv1
10 minutes more runtime on Clip+
6 minutes more runtime on Clipv2

These numbers are really low so we need more benches to be sure there is an effect at all.
   0001-Sansa-Clip-disable-LCD-peripherals-in-lcd_en... (9.5 KiB)
 b/firmware/target/arm/as3525/lcd-ssd1303.c                  |    2 
 b/firmware/target/arm/as3525/lcd-ssd1303.h                  |   25 ++++++++++
 b/firmware/target/arm/as3525/sansa-clip/lcd-clip.c          |   25 ++++++++--
 a/firmware/target/arm/as3525/sansa-clip/lcd-clip.h          |   29 ------------
 b/firmware/target/arm/as3525/sansa-clipplus/lcd-clip-plus.c |   10 +++-
 a/firmware/target/arm/as3525/sansa-clipplus/lcd-clip.h      |   28 -----------
 a/firmware/target/arm/as3525/sansa-clipv2/lcd-clip.h        |   28 -----------
 b/firmware/target/arm/as3525/sansa-clipv2/lcd-clipv2.c      |   10 +++-
 8 files changed, 64 insertions(+), 93 deletions(-)

This task depends upon

Closed by  Rafaël Carré (funman)
Friday, 30 July 2010, 19:31 GMT+2
Reason for closing:  Rejected
Additional comments about closing:  Clipv1 LCD sometimes stay off / (or crashes?) after unplugging USB
Comment by Bertrik Sikken (bertrik) - Sunday, 25 July 2010, 23:18 GMT+2
Attached in a resynced version of the patch (funman, please verify my sync). Don't we also need something like dbop_init in lcd-clipv2.c ?

I'll benchmark this in the clip+.
   clip_disable_LCD_peripherals_in_lcd_enable.patch (1.9 KiB)
 firmware/target/arm/as3525/sansa-clipplus/lcd-clip-plus.c |    5 +++-
 firmware/target/arm/as3525/sansa-clipv2/lcd-clipv2.c      |    5 +++-
 firmware/target/arm/as3525/sansa-clip/lcd-clip.c          |   17 ++++++++++----
 3 files changed, 21 insertions(+), 6 deletions(-)

Comment by Rafaël Carré (funman) - Sunday, 25 July 2010, 23:28 GMT+2
Your sync looks alright

I added dbop_init() for clipv1 because the screen wouldn't go back on, but it worked on clipv2 with only toggling the clock enable bit.

Disabling the DBOP clock might reset some registers, we should verify what happens on clipv2 too, the registers might have a defaut reset value which works anyway.
Comment by Bertrik Sikken (bertrik) - Monday, 26 July 2010, 18:07 GMT+2
I got 17h21m with the patch compared to 17h17m earlier with plain SVN (benchmarked with the same album), so 4 minutes improvement for the Clip+ I tested on (a COMBO4E variant with new OLED controller and new SD controller). This was done with default settings (except repeat turned on), so most of the benchmark was done with the display OFF anyway.

Loading...