Browse Source

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 <peter.ujfalusi@ti.com>
Tested-by: Daniel Mack <daniel@zonque.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
Peter Ujfalusi 11 năm trước cách đây
mục cha
commit
182bef863c
1 tập tin đã thay đổi với 4 bổ sung0 xóa
  1. 4 0
      sound/soc/davinci/davinci-mcasp.c

+ 4 - 0
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;