summaryrefslogtreecommitdiff
path: root/firmware/target/arm/as3525/dma-pl081.c
AgeCommit message (Collapse)Author
2011-12-12Deal with a complication when transferring recording method from PP5024: ↵Michael Sevakis
since the FIFO POP is always read until empty, keep track of sample parity instead of always saving the first one in the FIFO upon entering the ISR or else the first of a duplicate that is also the last in the FIFO would get duplicated. Also, give top priority to audio interrupts in all cases. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31218 a1c6a512-1295-4272-9138-f99709370657
2011-01-19AS3525: Implement a true audio pause and full-resolution audio tick. Take ↵Michael Sevakis
care of a few atomic hotspots. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29088 a1c6a512-1295-4272-9138-f99709370657
2010-09-07AMS: make dma_disable_channel() not inlineRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28017 a1c6a512-1295-4272-9138-f99709370657
2010-07-02pl081: Fix r27236 warnings. Need system.h.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27237 a1c6a512-1295-4272-9138-f99709370657
2010-07-02AMS SoC's: Some register bit changes need interrupt protection: timer API ↵Michael Sevakis
and CGU_PERI. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27236 a1c6a512-1295-4272-9138-f99709370657
2010-06-17sd-as3525 was calling dma_release() without calling dma_retain() first, ifTobias Diedrich
no card is in the sd slot. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26896 a1c6a512-1295-4272-9138-f99709370657
2010-04-08Sansa AMSv2: Do not disable DMA synchronization logic for as3525v2. The ↵Jack Halpin
DMA controller and the SD controller run at different clock speeds. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25532 a1c6a512-1295-4272-9138-f99709370657
2009-11-24Sansa AMS: VIC_INT_ENABLE register is not a maskRafaël Carré
When read it returns all enabled interrupt sources When written it enables interrupt sources for each bit set So just like VIC_INT_EN_CLEAR, we don't have to read the previous value before writing to it (VIC_INT_EN_CLEAR is write-only anyway) Thanks to Fred Bauer for spotting git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23734 a1c6a512-1295-4272-9138-f99709370657
2009-11-23AMS Sansa: dma-pl081.c: dma_enable_channel() Add step to clear pending ↵Jack Halpin
interrupts from the previous operation. Add comments and make construction of the CH_CONTROL and CH_CONFIGURATION registers easier to follow. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23725 a1c6a512-1295-4272-9138-f99709370657
2009-04-07Patch by Rafaël Carré - Sansa AMS: Fix a few mistakes in DMA codeBertrik Sikken
DMAC_INT_TC_CLEAR is a write-only reg HIGH bits of DMAC_SYNC mean synchronisation logic disabled. Also, according to the OF and to tests, all the peripherals we use run at the same frequency (PCLK?). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20643 a1c6a512-1295-4272-9138-f99709370657
2009-01-08Sansa AMS : use SD controller status to notify end of data transferRafaël Carré
Retry blocks transfer if a problem happened Remove unneeded blocking API from DMA code git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19714 a1c6a512-1295-4272-9138-f99709370657
2008-12-04Sansa AMS: Disable DMA clocks when not in useRafaël Carré
Add dma_retain() and dma_release() to reference count the users git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19344 a1c6a512-1295-4272-9138-f99709370657
2008-12-04Sansa AMS: updates DMA APIRafaël Carré
* Adds a callback to be called on end of transfer * Add a function to disable a channel * Services the 2 channels if both are active in the isr SD driver: panics on error git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19333 a1c6a512-1295-4272-9138-f99709370657
2008-11-26Sansa AMS: use non-busy wakeup to signal end of DMA transferRafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19233 a1c6a512-1295-4272-9138-f99709370657
2008-11-25Sansa AMS: Use DMA for SD transfers (read and write)Rafaël Carré
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19211 a1c6a512-1295-4272-9138-f99709370657