diff options
Diffstat (limited to 'sound/soc/codecs/tlv320dac33.c')
| -rw-r--r-- | sound/soc/codecs/tlv320dac33.c | 11 | 
1 files changed, 4 insertions, 7 deletions
diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c index f9f367d29a9..d1e0e81ef30 100644 --- a/sound/soc/codecs/tlv320dac33.c +++ b/sound/soc/codecs/tlv320dac33.c @@ -31,6 +31,7 @@  #include <linux/interrupt.h>  #include <linux/gpio.h>  #include <linux/regulator/consumer.h> +#include <linux/slab.h>  #include <sound/core.h>  #include <sound/pcm.h>  #include <sound/pcm_params.h> @@ -778,7 +779,7 @@ static int dac33_prepare_chip(struct snd_pcm_substream *substream)  	if (dac33->fifo_mode) {  		/* Generic for all FIFO modes */  		/* 50-51 : ASRC Control registers */ -		dac33_write(codec, DAC33_ASRC_CTRL_A, (1 << 4)); /* div=2 */ +		dac33_write(codec, DAC33_ASRC_CTRL_A, DAC33_SRCLKDIV(1));  		dac33_write(codec, DAC33_ASRC_CTRL_B, 1); /* ??? */  		/* Write registers 0x34 and 0x35 (MSB, LSB) */ @@ -1038,11 +1039,7 @@ static int dac33_set_dai_fmt(struct snd_soc_dai *codec_dai,  	case SND_SOC_DAIFMT_DSP_A:  		aictrl_a |= DAC33_AFMT_DSP;  		aictrl_b &= ~DAC33_DATA_DELAY_MASK; -		aictrl_b |= DAC33_DATA_DELAY(1); /* 1 bit delay */ -		break; -	case SND_SOC_DAIFMT_DSP_B: -		aictrl_a |= DAC33_AFMT_DSP; -		aictrl_b &= ~DAC33_DATA_DELAY_MASK; /* No delay */ +		aictrl_b |= DAC33_DATA_DELAY(0);  		break;  	case SND_SOC_DAIFMT_RIGHT_J:  		aictrl_a |= DAC33_AFMT_RIGHT_J; @@ -1066,7 +1063,7 @@ static void dac33_init_chip(struct snd_soc_codec *codec)  {  	/* 44-46: DAC Control Registers */  	/* A : DAC sample rate Fsref/1.5 */ -	dac33_write(codec, DAC33_DAC_CTRL_A, DAC33_DACRATE(1)); +	dac33_write(codec, DAC33_DAC_CTRL_A, DAC33_DACRATE(0));  	/* B : DAC src=normal, not muted */  	dac33_write(codec, DAC33_DAC_CTRL_B, DAC33_DACSRCR_RIGHT |  					     DAC33_DACSRCL_LEFT);  |