diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2006-11-08 01:55:26 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2006-11-08 01:55:26 +0000 |
commit | f184152c0501a80e95ad871927d766fdee50281b (patch) | |
tree | ecfa4b6cdf24065b32467d6d7274a2659c3ec9b0 /apps | |
parent | 5dd07759248fec1407f6b3d4d1fb177554e45a13 (diff) | |
download | rockbox-f184152c0501a80e95ad871927d766fdee50281b.tar.gz rockbox-f184152c0501a80e95ad871927d766fdee50281b.zip |
* changes to ata.c - idle callbacks are called after 2 sec of real idle,
and shutdown and usb (it makes sense here). ata_sleep doesnt get broken
by callbacks.
* allow ata_sleep() at the end of buffering again
* config block uses ata_idle instead of delayed sector when saving
* remove delayed sector code from ata_mmc.c (idle callbacks are not yet
implemented for ata_mmc.c tho)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11461 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/playback.c | 1 | ||||
-rw-r--r-- | apps/settings.c | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/apps/playback.c b/apps/playback.c index f4274a8f02..c0558ed737 100644 --- a/apps/playback.c +++ b/apps/playback.c | |||
@@ -2781,6 +2781,7 @@ static void audio_fill_file_buffer( | |||
2781 | filling = false; | 2781 | filling = false; |
2782 | } | 2782 | } |
2783 | 2783 | ||
2784 | ata_sleep(); | ||
2784 | } | 2785 | } |
2785 | 2786 | ||
2786 | static void audio_rebuffer(void) | 2787 | static void audio_rebuffer(void) |
diff --git a/apps/settings.c b/apps/settings.c index ec96cc760b..08e6376694 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -38,6 +38,7 @@ | |||
38 | #include "talk.h" | 38 | #include "talk.h" |
39 | #include "string.h" | 39 | #include "string.h" |
40 | #include "ata.h" | 40 | #include "ata.h" |
41 | #include "ata_idle_notify.h" | ||
41 | #include "fat.h" | 42 | #include "fat.h" |
42 | #include "power.h" | 43 | #include "power.h" |
43 | #include "powermgmt.h" | 44 | #include "powermgmt.h" |
@@ -802,6 +803,11 @@ static void init_config_buffer( void ) | |||
802 | config_block[3] = CONFIG_BLOCK_VERSION; | 803 | config_block[3] = CONFIG_BLOCK_VERSION; |
803 | } | 804 | } |
804 | 805 | ||
806 | bool flush_config_block_callback(void) | ||
807 | { | ||
808 | ata_write_sectors(IF_MV2(0,) config_sector, 1, config_block); | ||
809 | return true; | ||
810 | } | ||
805 | /* | 811 | /* |
806 | * save the config block buffer to disk or RTC RAM | 812 | * save the config block buffer to disk or RTC RAM |
807 | */ | 813 | */ |
@@ -833,7 +839,7 @@ static int save_config_buffer( void ) | |||
833 | #endif | 839 | #endif |
834 | 840 | ||
835 | if (config_sector != 0) | 841 | if (config_sector != 0) |
836 | ata_delayed_write( config_sector, config_block); | 842 | register_ata_idle_func(flush_config_block_callback); |
837 | else | 843 | else |
838 | return -1; | 844 | return -1; |
839 | 845 | ||