From: Peter Ujfalusi Date: Thu, 26 Jun 2014 05:09:24 +0000 (+0300) Subject: ASoC: davinci-mcasp: Fix S24_LE and U24_LE support X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=182bef863cc37a9a387ae9bc0f1b05243234bd4a;p=openwrt%2Fstaging%2Fblogic.git ASoC: davinci-mcasp: Fix S24_LE and U24_LE support In case of S24_LE/U24_LE modes we expect 24bits on the bus while the samples are stored and transferred in memory on 32bits (lower 3 bytes of the 4 bytes). Signed-off-by: Peter Ujfalusi Tested-by: Daniel Mack Signed-off-by: Mark Brown --- diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c index 0ee4986038cc..bfcc6c3dc2fd 100644 --- a/sound/soc/davinci/davinci-mcasp.c +++ b/sound/soc/davinci/davinci-mcasp.c @@ -720,6 +720,10 @@ static int davinci_mcasp_hw_params(struct snd_pcm_substream *substream, case SNDRV_PCM_FORMAT_U24_LE: case SNDRV_PCM_FORMAT_S24_LE: + dma_params->data_type = 4; + word_length = 24; + break; + case SNDRV_PCM_FORMAT_U32_LE: case SNDRV_PCM_FORMAT_S32_LE: dma_params->data_type = 4;