diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2007-06-07 06:11:03 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2007-06-07 06:11:03 +0000 |
commit | 7a16069507a290a1aab84165aa0fb6f8ee4f1b59 (patch) | |
tree | 8258e42933fac463e9b6eba54d6a8203ca6e6df4 /firmware/target/arm/sandisk/sansa-e200/backlight-e200.c | |
parent | 66f42ac12dbfdaa70f5440c16567c53205aed059 (diff) | |
download | rockbox-7a16069507a290a1aab84165aa0fb6f8ee4f1b59.tar.gz rockbox-7a16069507a290a1aab84165aa0fb6f8ee4f1b59.zip |
e200: Better sync of display enabling and display update. The display would be remain stale after being turned back on with no screen activity. Block out the fiddling with DMA when writing to driver framebuffer. Melts seem too rare to catch now. There seems to be no significant advantage from an appearance point of view to be meddling around with the transfer anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13582 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/sandisk/sansa-e200/backlight-e200.c')
-rw-r--r-- | firmware/target/arm/sandisk/sansa-e200/backlight-e200.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/firmware/target/arm/sandisk/sansa-e200/backlight-e200.c b/firmware/target/arm/sandisk/sansa-e200/backlight-e200.c index b608c1b9e6..29c6ab4b45 100644 --- a/firmware/target/arm/sandisk/sansa-e200/backlight-e200.c +++ b/firmware/target/arm/sandisk/sansa-e200/backlight-e200.c | |||
@@ -23,32 +23,27 @@ | |||
23 | #include "i2c-pp.h" | 23 | #include "i2c-pp.h" |
24 | 24 | ||
25 | static unsigned short backlight_brightness = DEFAULT_BRIGHTNESS_SETTING; | 25 | static unsigned short backlight_brightness = DEFAULT_BRIGHTNESS_SETTING; |
26 | static bool backlight_is_on = true; | ||
27 | |||
28 | int __backlight_is_on(void) | ||
29 | { | ||
30 | return (int)backlight_is_on; | ||
31 | } | ||
32 | 26 | ||
33 | void __backlight_set_brightness(int brightness) | 27 | void __backlight_set_brightness(int brightness) |
34 | { | 28 | { |
35 | backlight_brightness = brightness; | 29 | backlight_brightness = brightness; |
36 | pp_i2c_send( 0x46, 0x23, backlight_brightness); | 30 | |
37 | backlight_is_on = true; | 31 | if (brightness > 0) |
32 | __backlight_on(); | ||
33 | else | ||
34 | __backlight_off(); | ||
38 | } | 35 | } |
39 | 36 | ||
40 | void __backlight_on(void) | 37 | void __backlight_on(void) |
41 | { | 38 | { |
42 | lcd_enable(true); /* power on lcd */ | 39 | lcd_enable(true); /* power on lcd */ |
43 | pp_i2c_send( 0x46, 0x23, backlight_brightness); | 40 | pp_i2c_send( 0x46, 0x23, backlight_brightness); |
44 | backlight_is_on = true; | ||
45 | } | 41 | } |
46 | 42 | ||
47 | void __backlight_off(void) | 43 | void __backlight_off(void) |
48 | { | 44 | { |
49 | pp_i2c_send( 0x46, 0x23, 0x0); | 45 | pp_i2c_send( 0x46, 0x23, 0x0); |
50 | lcd_enable(false); /* power off lcd */ | 46 | lcd_enable(false); /* power off lcd */ |
51 | backlight_is_on = false; | ||
52 | } | 47 | } |
53 | 48 | ||
54 | 49 | ||