summaryrefslogtreecommitdiffstats
path: root/sound/soc/dwc
diff options
context:
space:
mode:
authorJose Abreu <Jose.Abreu@synopsys.com>2016-12-27 14:00:54 +0000
committerMark Brown <broonie@kernel.org>2017-01-09 11:59:09 +0000
commite21ab17904ff5c56bd6d6d062824ca584a42d89f (patch)
tree71cc5551408dfeff6326de4e6586ff4fcdb0960d /sound/soc/dwc
parente2f748e06db389d9fd51413df23ff8d3615a47db (diff)
downloadlinux-e21ab17904ff5c56bd6d6d062824ca584a42d89f.tar.gz
linux-e21ab17904ff5c56bd6d6d062824ca584a42d89f.tar.bz2
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;