as3525 PCM: implement locking like done for the gigabeats in r26341
commitadcb2d3acf5a2f9a1e0969921c09fffd2ae8f307
authorfunman <funman@a1c6a512-1295-4272-9138-f99709370657>
Tue, 1 Jun 2010 09:39:08 +0000 (1 09:39 +0000)
committerfunman <funman@a1c6a512-1295-4272-9138-f99709370657>
Tue, 1 Jun 2010 09:39:08 +0000 (1 09:39 +0000)
treeea4d735549d3e85f1ed76bf1713c79f79730c790
parent12a3bdab0fb04ae44866e45552e11fb6eb1aa645
as3525 PCM: implement locking like done for the gigabeats in r26341

this removes workaround for spurious interrupts added in r26316

side effect: make keyclicks work correctly when used intensively (with
the scrollwheel for example), the clicks should be inserted fast enough
for the PCM fifo to not become empty.

PL190 can cause spurious interrupts if an interrupt is triggered by a
peripheral shortly before the interrupt for this peripheral is cleared
from VIC registers.

As an effect we should only write in VIC_INT_EN_CLEAR after having
disabled the source of the interrupt in the peripheral.

references on PL190 spurious interrupts:
- http://www.embeddedrelated.com/groups/lpc2000/show/14599.php
- http://water.cse.unsw.edu.au/esdk/lpc2/spurious-irq.html

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26444 a1c6a512-1295-4272-9138-f99709370657
firmware/target/arm/as3525/pcm-as3525.c