summaryrefslogtreecommitdiffstats
path: root/sound/soc/dwc
diff options
context:
space:
mode:
authorJose Abreu2016-12-27 15:00:54 +0100
committerMark Brown2017-01-09 12:59:09 +0100
commite21ab17904ff5c56bd6d6d062824ca584a42d89f (patch)
tree71cc5551408dfeff6326de4e6586ff4fcdb0960d /sound/soc/dwc
parentASoC: dwc: Add record capability in PIO mode (diff)
downloadkernel-qcow2-linux-e21ab17904ff5c56bd6d6d062824ca584a42d89f.tar.gz
kernel-qcow2-linux-e21ab17904ff5c56bd6d6d062824ca584a42d89f.tar.xz
kernel-qcow2-linux-e21ab17904ff5c56bd6d6d062824ca584a42d89f.zip
ASoC: dwc: Enable 24 bit sample size in PIO mode
Sample size of 24 bits use in reality 32 bits for storage. We can safelly enable this sample size and treat the data as 32 bits. Tested in a x86_64 platform and in ARC AXS101 SDP platform. Signed-off-by: Jose Abreu <joabreu@synopsys.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/dwc')
-rw-r--r--sound/soc/dwc/designware_pcm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/soc/dwc/designware_pcm.c b/sound/soc/dwc/designware_pcm.c
index b063c8601569..459ec861e6b6 100644
--- a/sound/soc/dwc/designware_pcm.c
+++ b/sound/soc/dwc/designware_pcm.c
@@ -80,6 +80,7 @@ static const struct snd_pcm_hardware dw_pcm_hardware = {
.rate_min = 32000,
.rate_max = 48000,
.formats = SNDRV_PCM_FMTBIT_S16_LE |
+ SNDRV_PCM_FMTBIT_S24_LE |
SNDRV_PCM_FMTBIT_S32_LE,
.channels_min = 2,
.channels_max = 2,
@@ -175,6 +176,7 @@ static int dw_pcm_hw_params(struct snd_pcm_substream *substream,
dev->tx_fn = dw_pcm_tx_16;
dev->rx_fn = dw_pcm_rx_16;
break;
+ case SNDRV_PCM_FORMAT_S24_LE:
case SNDRV_PCM_FORMAT_S32_LE:
dev->tx_fn = dw_pcm_tx_32;
dev->rx_fn = dw_pcm_rx_32;