Commit graph

14 commits

Author SHA1 Message Date
Michael Sevakis
c04f1a23c7 AS3525: Implement a true audio pause and full-resolution audio tick. Take care of a few atomic hotspots.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29088 a1c6a512-1295-4272-9138-f99709370657
2011-01-19 09:15:23 +00:00
Rafaël Carré
2ac5153236 AMS: make dma_disable_channel() not inline
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28017 a1c6a512-1295-4272-9138-f99709370657
2010-09-07 08:40:08 +00:00
Michael Sevakis
3f4dfe5c03 pl081: Fix r27236 warnings. Need system.h.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27237 a1c6a512-1295-4272-9138-f99709370657
2010-07-02 06:07:42 +00:00
Michael Sevakis
0f47ffe0e4 AMS SoC's: Some register bit changes need interrupt protection: timer API and CGU_PERI.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27236 a1c6a512-1295-4272-9138-f99709370657
2010-07-02 06:00:00 +00:00
Tobias Diedrich
69028d5d31 sd-as3525 was calling dma_release() without calling dma_retain() first, if
no card is in the sd slot.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26896 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 19:14:42 +00:00
Jack Halpin
d7c8d34999 Sansa AMSv2: Do not disable DMA synchronization logic for as3525v2. The 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
2010-04-08 06:12:51 +00:00
Rafaël Carré
ed13fd6dca Sansa AMS: VIC_INT_ENABLE register is not a mask
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-24 12:05:53 +00:00
Jack Halpin
f5b59cdf5e AMS Sansa: dma-pl081.c: dma_enable_channel() Add step to clear pending 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-11-23 19:44:13 +00:00
Bertrik Sikken
6b63f23648 Patch by Rafaël Carré - Sansa AMS: Fix a few mistakes in DMA code
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-04-07 17:08:26 +00:00
Rafaël Carré
c7e83bd017 Sansa AMS : use SD controller status to notify end of data transfer
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
2009-01-08 08:27:42 +00:00
Rafaël Carré
e97191faa7 Sansa AMS: Disable DMA clocks when not in use
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-04 22:54:06 +00:00
Rafaël Carré
1ab08e6879 Sansa AMS: updates DMA API
* 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-12-04 20:48:19 +00:00
Rafaël Carré
a39e4e9962 Sansa AMS: use non-busy wakeup to signal end of DMA transfer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19233 a1c6a512-1295-4272-9138-f99709370657
2008-11-26 16:02:00 +00:00
Rafaël Carré
c1f90b1881 Sansa AMS: Use DMA for SD transfers (read and write)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19211 a1c6a512-1295-4272-9138-f99709370657
2008-11-25 13:38:32 +00:00