Re: [PATCH 1/5] ASoC: tlv320dac33: Fix for early interrupt in FIFO Mode1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux