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:
parent
74d678fdbc
commit
af395f4db6
61 changed files with 381 additions and 278 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue