Loading sound/soc/codecs/ad1836.c +7 −7 Original line number Original line Diff line number Diff line Loading @@ -178,22 +178,22 @@ static int ad1836_hw_params(struct snd_pcm_substream *substream, /* bit size */ /* bit size */ switch (params_format(params)) { switch (params_format(params)) { case SNDRV_PCM_FORMAT_S16_LE: case SNDRV_PCM_FORMAT_S16_LE: word_len = 3; word_len = AD1836_WORD_LEN_16; break; break; case SNDRV_PCM_FORMAT_S20_3LE: case SNDRV_PCM_FORMAT_S20_3LE: word_len = 1; word_len = AD1836_WORD_LEN_20; break; break; case SNDRV_PCM_FORMAT_S24_LE: case SNDRV_PCM_FORMAT_S24_LE: case SNDRV_PCM_FORMAT_S32_LE: case SNDRV_PCM_FORMAT_S32_LE: word_len = 0; word_len = AD1836_WORD_LEN_24; break; break; } } snd_soc_update_bits(codec, AD1836_DAC_CTRL1, snd_soc_update_bits(codec, AD1836_DAC_CTRL1, AD1836_DAC_WORD_LEN_MASK, AD1836_DAC_WORD_LEN_MASK, word_len); word_len << AD1836_DAC_WORD_LEN_OFFSET); snd_soc_update_bits(codec, AD1836_ADC_CTRL2, snd_soc_update_bits(codec, AD1836_ADC_CTRL2, AD1836_ADC_WORD_LEN_MASK, AD1836_ADC_WORD_LEN_MASK, word_len); word_len << AD1836_ADC_WORD_OFFSET); return 0; return 0; } } Loading sound/soc/codecs/ad1836.h +6 −0 Original line number Original line Diff line number Diff line Loading @@ -25,6 +25,7 @@ #define AD1836_DAC_SERFMT_PCK256 (0x4 << 5) #define AD1836_DAC_SERFMT_PCK256 (0x4 << 5) #define AD1836_DAC_SERFMT_PCK128 (0x5 << 5) #define AD1836_DAC_SERFMT_PCK128 (0x5 << 5) #define AD1836_DAC_WORD_LEN_MASK 0x18 #define AD1836_DAC_WORD_LEN_MASK 0x18 #define AD1836_DAC_WORD_LEN_OFFSET 3 #define AD1836_DAC_CTRL2 1 #define AD1836_DAC_CTRL2 1 Loading @@ -42,6 +43,7 @@ #define AD1836_ADC_CTRL2 13 #define AD1836_ADC_CTRL2 13 #define AD1836_ADC_WORD_LEN_MASK 0x30 #define AD1836_ADC_WORD_LEN_MASK 0x30 #define AD1836_ADC_WORD_OFFSET 5 #define AD1836_ADC_SERFMT_MASK (7 << 6) #define AD1836_ADC_SERFMT_MASK (7 << 6) #define AD1836_ADC_SERFMT_PCK256 (0x4 << 6) #define AD1836_ADC_SERFMT_PCK256 (0x4 << 6) #define AD1836_ADC_SERFMT_PCK128 (0x5 << 6) #define AD1836_ADC_SERFMT_PCK128 (0x5 << 6) Loading @@ -51,4 +53,8 @@ #define AD1836_NUM_REGS 16 #define AD1836_NUM_REGS 16 #define AD1836_WORD_LEN_24 0x0 #define AD1836_WORD_LEN_20 0x1 #define AD1836_WORD_LEN_16 0x2 #endif #endif Loading
sound/soc/codecs/ad1836.c +7 −7 Original line number Original line Diff line number Diff line Loading @@ -178,22 +178,22 @@ static int ad1836_hw_params(struct snd_pcm_substream *substream, /* bit size */ /* bit size */ switch (params_format(params)) { switch (params_format(params)) { case SNDRV_PCM_FORMAT_S16_LE: case SNDRV_PCM_FORMAT_S16_LE: word_len = 3; word_len = AD1836_WORD_LEN_16; break; break; case SNDRV_PCM_FORMAT_S20_3LE: case SNDRV_PCM_FORMAT_S20_3LE: word_len = 1; word_len = AD1836_WORD_LEN_20; break; break; case SNDRV_PCM_FORMAT_S24_LE: case SNDRV_PCM_FORMAT_S24_LE: case SNDRV_PCM_FORMAT_S32_LE: case SNDRV_PCM_FORMAT_S32_LE: word_len = 0; word_len = AD1836_WORD_LEN_24; break; break; } } snd_soc_update_bits(codec, AD1836_DAC_CTRL1, snd_soc_update_bits(codec, AD1836_DAC_CTRL1, AD1836_DAC_WORD_LEN_MASK, AD1836_DAC_WORD_LEN_MASK, word_len); word_len << AD1836_DAC_WORD_LEN_OFFSET); snd_soc_update_bits(codec, AD1836_ADC_CTRL2, snd_soc_update_bits(codec, AD1836_ADC_CTRL2, AD1836_ADC_WORD_LEN_MASK, AD1836_ADC_WORD_LEN_MASK, word_len); word_len << AD1836_ADC_WORD_OFFSET); return 0; return 0; } } Loading
sound/soc/codecs/ad1836.h +6 −0 Original line number Original line Diff line number Diff line Loading @@ -25,6 +25,7 @@ #define AD1836_DAC_SERFMT_PCK256 (0x4 << 5) #define AD1836_DAC_SERFMT_PCK256 (0x4 << 5) #define AD1836_DAC_SERFMT_PCK128 (0x5 << 5) #define AD1836_DAC_SERFMT_PCK128 (0x5 << 5) #define AD1836_DAC_WORD_LEN_MASK 0x18 #define AD1836_DAC_WORD_LEN_MASK 0x18 #define AD1836_DAC_WORD_LEN_OFFSET 3 #define AD1836_DAC_CTRL2 1 #define AD1836_DAC_CTRL2 1 Loading @@ -42,6 +43,7 @@ #define AD1836_ADC_CTRL2 13 #define AD1836_ADC_CTRL2 13 #define AD1836_ADC_WORD_LEN_MASK 0x30 #define AD1836_ADC_WORD_LEN_MASK 0x30 #define AD1836_ADC_WORD_OFFSET 5 #define AD1836_ADC_SERFMT_MASK (7 << 6) #define AD1836_ADC_SERFMT_MASK (7 << 6) #define AD1836_ADC_SERFMT_PCK256 (0x4 << 6) #define AD1836_ADC_SERFMT_PCK256 (0x4 << 6) #define AD1836_ADC_SERFMT_PCK128 (0x5 << 6) #define AD1836_ADC_SERFMT_PCK128 (0x5 << 6) Loading @@ -51,4 +53,8 @@ #define AD1836_NUM_REGS 16 #define AD1836_NUM_REGS 16 #define AD1836_WORD_LEN_24 0x0 #define AD1836_WORD_LEN_20 0x1 #define AD1836_WORD_LEN_16 0x2 #endif #endif