1
0
Fork 0
forked from len0rd/rockbox

Do core interrupt masking in a less general fashion and save some instructions to decrease size and speed things up a little bit. Small fix to a few places where interrupts would get enabled again where they shouldn't have been (context switching calls when disabled).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16811 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Michael Sevakis 2008-03-26 01:50:41 +00:00
parent 74d678fdbc
commit af395f4db6
61 changed files with 381 additions and 278 deletions

View file

@ -1767,9 +1767,9 @@ static void mpeg_thread(void)
DEBUGF("New audiobuf_read address: %x (%x)\n",
audiobuf+audiobuf_read, audiobuf_read);
level = set_irq_level(HIGHEST_IRQ_LEVEL);
level = disable_irq_save();
num_rec_bytes = get_unsaved_space();
set_irq_level(level);
restore_irq(level);
}
else
{
@ -1860,11 +1860,11 @@ static void mpeg_thread(void)
pause_start_time = record_start_time;
/* capture all values at one point */
level = set_irq_level(HIGHEST_IRQ_LEVEL);
level = disable_irq_save();
save_endpos = audiobuf_write;
last_rec_bytes = num_rec_bytes;
num_rec_bytes = 0;
set_irq_level(level);
restore_irq(level);
if (amount_to_save >= 1800)
{
@ -1883,9 +1883,9 @@ static void mpeg_thread(void)
save_endpos -= audiobuflen;
last_rec_bytes += offset - 1800;
level = set_irq_level(HIGHEST_IRQ_LEVEL);
level = disable_irq_save();
num_rec_bytes += 1800 - offset;
set_irq_level(level);
restore_irq(level);
}
saving_status = NEW_FILE;