diff options
| author | Jonathan Gordon <rockbox@jdgordon.info> | 2006-11-07 13:14:52 +0000 |
|---|---|---|
| committer | Jonathan Gordon <rockbox@jdgordon.info> | 2006-11-07 13:14:52 +0000 |
| commit | 398c8027104089f3a36717f18ad3e965729f0db7 (patch) | |
| tree | 067cd085389761f28370848959c7e6bc2d52e517 | |
| parent | a018641105f36fabeed2b813ebf2ab13d54855bb (diff) | |
| download | rockbox-398c8027104089f3a36717f18ad3e965729f0db7.zip rockbox-398c8027104089f3a36717f18ad3e965729f0db7.tar.gz rockbox-398c8027104089f3a36717f18ad3e965729f0db7.tar.bz2 rockbox-398c8027104089f3a36717f18ad3e965729f0db7.tar.xz | |
dont spin up the disk to call the callbacks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11458 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/drivers/ata.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/firmware/drivers/ata.c b/firmware/drivers/ata.c index 249cb39..0a03fd2 100644 --- a/firmware/drivers/ata.c +++ b/firmware/drivers/ata.c @@ -1368,24 +1368,26 @@ static void ata_thread(void) while (1) { while ( queue_empty( &ata_queue ) ) { - if ( !spinup && sleep_timeout && !sleeping && - TIME_AFTER( current_tick, - last_user_activity + sleep_timeout ) && - TIME_AFTER( current_tick, - last_disk_activity + sleep_timeout ) ) + if (!spinup && !sleeping) { - if (!call_ata_idle_notifys()) + if ( sleep_timeout && + TIME_AFTER( current_tick, + last_user_activity + sleep_timeout ) && + TIME_AFTER( current_tick, + last_disk_activity + sleep_timeout ) ) { - ata_perform_sleep(); - last_sleep = current_tick; + if (!call_ata_idle_notifys()) + { + ata_perform_sleep(); + last_sleep = current_tick; + } + } + else if (TIME_AFTER(current_tick, last_callback_run+(HZ*5))) + { + last_callback_run = current_tick; + call_ata_idle_notifys(); } } - else if (TIME_AFTER(current_tick, last_callback_run+(HZ*5))) - { - last_callback_run = current_tick; - call_ata_idle_notifys(); - } - #ifdef HAVE_ATA_POWER_OFF if ( !spinup && sleeping && poweroff_timeout && !poweroff && TIME_AFTER( current_tick, last_sleep + poweroff_timeout )) |