On Thu, 2010-04-22 at 16:57 +0300, Peter Ujfalusi wrote: > Alarm threshold interrupt is triggered right after the > playback start. > This interrupt is recieved during the first burst period, > and caused the state machine to write additional nSample > command, which has to be avoided. > To fix this issue move the DAC33 interrupt unmasking > after we configured the PREFILL register with a small > delay. > > Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxx> > --- > sound/soc/codecs/tlv320dac33.c | 6 ++++-- > 1 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c > index 824bb35..8a7265f 100644 > --- a/sound/soc/codecs/tlv320dac33.c > +++ b/sound/soc/codecs/tlv320dac33.c > @@ -557,9 +557,12 @@ static inline void dac33_prefill_handler(struct tlv320dac33_priv *dac33) > switch (dac33->fifo_mode) { > case DAC33_FIFO_MODE1: > dac33_write16(codec, DAC33_NSAMPLE_MSB, > - DAC33_THRREG(dac33->nsample)); > + DAC33_THRREG(dac33->nsample + dac33->alarm_threshold)); > dac33_write16(codec, DAC33_PREFILL_MSB, > DAC33_THRREG(dac33->alarm_threshold)); > + /* Enable Alarm Threshold IRQ */ > + msleep(2); Does this sleep depend on rate/frame_size in any way ? Liam -- Freelance Developer, SlimLogic Ltd ASoC and Voltage Regulator Maintainer. http://www.slimlogic.co.uk _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel