rockbox/firmware/target/arm
Michael Sevakis 307cb04948 AS3525v1/2: Enable nested handling of interrupts
Mostly for the sake of reducing latency for audio servicing where other service
routines can take a long time to complete, leading to occasional drops of a
few samples, especially in recording, where they are fairly frequent.

One mystery that remains is GPIOA IRQ being interrupted causes strange
undefined instruction exceptions, most easily produced on my Fuze V2 with a
scrollwheel. Making GPIOA the top ISR for now, thus not interruptible, cures it.

SVC mode is used during the actual calls. Hopefully the SVC stack size is
sufficient. Prologue and epilogue code only uses the IRQ stack and is large
enough.

Any routine code that should not be interrupted should disable IRQ itself from
here on in.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31642 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 22:29:25 +00:00
..
archos/av300 button-target.h : move prototypes to button.h 2012-01-08 00:07:19 +00:00
as3525 AS3525v1/2: Enable nested handling of interrupts 2012-01-08 22:29:25 +00:00
at91sam lcd-target.h: remove some duplicate declarations 2012-01-08 00:52:55 +00:00
imx31 button-target.h : move prototypes to button.h 2012-01-08 00:07:19 +00:00
imx233 fix fuze+ build: we need stdbool.h for bool 2012-01-08 00:22:39 +00:00
ipod button-target.h : move prototypes to button.h 2012-01-08 00:07:19 +00:00
iriver button-target.h : move prototypes to button.h 2012-01-08 00:07:19 +00:00
olympus button-target.h : move prototypes to button.h 2012-01-08 00:07:19 +00:00
pbell button-target.h : move prototypes to button.h 2012-01-08 00:07:19 +00:00
philips adc-target.h: cleanup 2012-01-08 00:39:29 +00:00
pnx0101 button-target.h : move prototypes to button.h 2012-01-08 00:07:19 +00:00
pp ascodec-target.h: remove 2012-01-08 01:43:16 +00:00
rk27xx button-target.h : move prototypes to button.h 2012-01-08 00:07:19 +00:00
s3c2440 button-target.h : move prototypes to button.h 2012-01-08 00:07:19 +00:00
s5l8700 button-target.h : move prototypes to button.h 2012-01-08 00:07:19 +00:00
s5l8702 button-target.h : move prototypes to button.h 2012-01-08 00:07:19 +00:00
samsung button-target.h : move prototypes to button.h 2012-01-08 00:07:19 +00:00
sandisk adc-target.h: cleanup 2012-01-08 00:39:29 +00:00
tatung button-target.h : move prototypes to button.h 2012-01-08 00:07:19 +00:00
tcc77x button-target.h : move prototypes to button.h 2012-01-08 00:07:19 +00:00
tcc780x button-target.h : move prototypes to button.h 2012-01-08 00:07:19 +00:00
tms320dm320 adc-target.h: cleanup 2012-01-08 00:39:29 +00:00
ata-as-arm.S FS#11335 by me: make ARM assembly functions thumb-friendly 2010-06-11 04:41:36 +00:00
ata-nand-telechips.c GSoC/Buflib: Add buflib memory alocator to the core. 2011-08-30 14:01:33 +00:00
bits-armv4.S Do some things to make -ffunction-sections work better. 2011-12-17 01:43:32 +00:00
bits-armv6.S Do some things to make -ffunction-sections work better. 2011-12-17 01:43:32 +00:00
crt0.S AS3525v1/2: Enable nested handling of interrupts 2012-01-08 22:29:25 +00:00
ffs-arm.S ARM <= v5: Tiny optimisation exploiting the location of the table. 2009-12-26 13:22:51 +00:00
i2c-telechips.c Re-write the Telechips I2C delay routine in assembler to stop the compiler optimising it away. Tested with EABI and non-EABI compilers. 2010-06-16 21:03:57 +00:00
lcd-as-memframe.S Do some things to make -ffunction-sections work better. 2011-12-17 01:43:32 +00:00
lcd-c200_c200v2.c udelay between command and data write seems to get rid of the display glitches on C200v2 2010-06-27 03:24:56 +00:00
lcd-ssd1815.c Sansa AMS: centralize clock settings in clock-target.h 2008-12-04 20:04:31 +00:00
memcpy-arm.S FS#11335 by me: make ARM assembly functions thumb-friendly 2010-06-11 04:41:36 +00:00
memmove-arm.S FS#11335 by me: make ARM assembly functions thumb-friendly 2010-06-11 04:41:36 +00:00
memset-arm.S FS#11335 by me: make ARM assembly functions thumb-friendly 2010-06-11 04:41:36 +00:00
memset16-arm.S FS#11335 by me: make ARM assembly functions thumb-friendly 2010-06-11 04:41:36 +00:00
mmu-arm.h Commit to certain names for cache coherency APIs and discard the aliases. 2011-12-17 07:27:24 +00:00
mmu-arm.S Commit to certain names for cache coherency APIs and discard the aliases. 2011-12-17 07:27:24 +00:00
mmu-armv6.S Commit to certain names for cache coherency APIs and discard the aliases. 2011-12-17 07:27:24 +00:00
pcm-mixer-armv4.c Commit FS#12150 - Fully-functional audio mixer - and finally whip old limitations about playback of voice and other sounds when paused. Channels are independent in state and amplitude. Fade on stop/pause is handled by the channel's volume control rather than global volume which means it now works from anywhere. Opens up the possibility of plugin sounds during music playback by merely adding an additional channel enum. If any PCM drivers were not properly modified, see one of the last comments in the task for a description of the simple change that is expected. Some params are tunable in firmware/export/pcm-mixer.h as well. 2011-06-29 06:37:04 +00:00
pcm-mixer-armv5.c Commit FS#12150 - Fully-functional audio mixer - and finally whip old limitations about playback of voice and other sounds when paused. Channels are independent in state and amplitude. Fade on stop/pause is handled by the channel's volume control rather than global volume which means it now works from anywhere. Opens up the possibility of plugin sounds during music playback by merely adding an additional channel enum. If any PCM drivers were not properly modified, see one of the last comments in the task for a description of the simple change that is expected. Some params are tunable in firmware/export/pcm-mixer.h as well. 2011-06-29 06:37:04 +00:00
pcm-mixer-armv6.c Commit FS#12150 - Fully-functional audio mixer - and finally whip old limitations about playback of voice and other sounds when paused. Channels are independent in state and amplitude. Fade on stop/pause is handled by the channel's volume control rather than global volume which means it now works from anywhere. Opens up the possibility of plugin sounds during music playback by merely adding an additional channel enum. If any PCM drivers were not properly modified, see one of the last comments in the task for a description of the simple change that is expected. Some params are tunable in firmware/export/pcm-mixer.h as well. 2011-06-29 06:37:04 +00:00
pcm-telechips.c Shuffle some functions around so that interfacing with playback.c in particular isn't required. Though playback does finish the audio init, pcm doesn't care who does it. 2011-09-01 12:15:43 +00:00
powermgmt-ascodec.c Rework powermgmt to enable code re-use on appliation and sims. 2012-01-03 23:44:38 +00:00
support-arm.S Fix assembler .size directives. Currently used binutils don't complain, but 2.21.1 treats these as errors. 2011-11-09 19:20:33 +00:00
system-arm.c Switch to SYS mode on arm FS#12322 by me 2011-10-11 16:06:03 +00:00
system-arm.h AS3525v1/2: Enable nested handling of interrupts 2012-01-08 22:29:25 +00:00
thread-arm.c imx233: implement core_sleep 2011-12-26 17:09:09 +00:00
usb-drv-arc.c Some iPod Video's need a 2nd call of ub_drv_init() to establish the USB connection. This workaround breaks the USB functionality for other devices. Until there is a proper fix available just use the workaround for iPod Video only. Fixes FS#12324. 2011-10-20 14:48:20 +00:00
usb-s3c6400x.c Make USB work again on iPod Nano 2G and iPod Classic. Still not 100% stable on Nano 2G, and HID is still broken. 2012-01-01 21:28:03 +00:00
usb-tcc.c usb-target.h: remove 2011-12-31 18:44:55 +00:00
wmcodec-telechips.c D2 also needs audiohw_preinit() 2008-11-28 23:44:06 +00:00