Skip to content

Commit 34f3a9e

Browse files
Amadeusz Sławińskigregkh
authored andcommitted
ASoC: Intel: catpt: Expose correct bit depth to userspace
[ Upstream commit 690aa09 ] Currently wrong bit depth is exposed in hw params, causing clipped volume during playback. Expose correct parameters. Fixes: a126750 ("ASoC: Intel: catpt: PCM operations") Reported-by: Andy Shevchenko <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Reviewed-by: Cezary Rojewski <[email protected]> Signed-off-by: Amadeusz Sławiński <[email protected]> Message-ID: <[email protected]> Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
1 parent f643373 commit 34f3a9e

File tree

1 file changed

+17
-6
lines changed
  • sound/soc/intel/catpt

1 file changed

+17
-6
lines changed

sound/soc/intel/catpt/pcm.c

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -568,8 +568,9 @@ static const struct snd_pcm_hardware catpt_pcm_hardware = {
568568
SNDRV_PCM_INFO_RESUME |
569569
SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
570570
.formats = SNDRV_PCM_FMTBIT_S16_LE |
571-
SNDRV_PCM_FMTBIT_S24_LE |
572571
SNDRV_PCM_FMTBIT_S32_LE,
572+
.subformats = SNDRV_PCM_SUBFMTBIT_MSBITS_24 |
573+
SNDRV_PCM_SUBFMTBIT_MSBITS_MAX,
573574
.period_bytes_min = PAGE_SIZE,
574575
.period_bytes_max = CATPT_BUFFER_MAX_SIZE / CATPT_PCM_PERIODS_MIN,
575576
.periods_min = CATPT_PCM_PERIODS_MIN,
@@ -699,14 +700,18 @@ static struct snd_soc_dai_driver dai_drivers[] = {
699700
.channels_min = 2,
700701
.channels_max = 2,
701702
.rates = SNDRV_PCM_RATE_48000,
702-
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE,
703+
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE,
704+
.subformats = SNDRV_PCM_SUBFMTBIT_MSBITS_24 |
705+
SNDRV_PCM_SUBFMTBIT_MSBITS_MAX,
703706
},
704707
.capture = {
705708
.stream_name = "Analog Capture",
706709
.channels_min = 2,
707710
.channels_max = 4,
708711
.rates = SNDRV_PCM_RATE_48000,
709-
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE,
712+
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE,
713+
.subformats = SNDRV_PCM_SUBFMTBIT_MSBITS_24 |
714+
SNDRV_PCM_SUBFMTBIT_MSBITS_MAX,
710715
},
711716
},
712717
{
@@ -718,7 +723,9 @@ static struct snd_soc_dai_driver dai_drivers[] = {
718723
.channels_min = 2,
719724
.channels_max = 2,
720725
.rates = SNDRV_PCM_RATE_8000_192000,
721-
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE,
726+
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE,
727+
.subformats = SNDRV_PCM_SUBFMTBIT_MSBITS_24 |
728+
SNDRV_PCM_SUBFMTBIT_MSBITS_MAX,
722729
},
723730
},
724731
{
@@ -730,7 +737,9 @@ static struct snd_soc_dai_driver dai_drivers[] = {
730737
.channels_min = 2,
731738
.channels_max = 2,
732739
.rates = SNDRV_PCM_RATE_8000_192000,
733-
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE,
740+
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE,
741+
.subformats = SNDRV_PCM_SUBFMTBIT_MSBITS_24 |
742+
SNDRV_PCM_SUBFMTBIT_MSBITS_MAX,
734743
},
735744
},
736745
{
@@ -742,7 +751,9 @@ static struct snd_soc_dai_driver dai_drivers[] = {
742751
.channels_min = 2,
743752
.channels_max = 2,
744753
.rates = SNDRV_PCM_RATE_48000,
745-
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE,
754+
.formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE,
755+
.subformats = SNDRV_PCM_SUBFMTBIT_MSBITS_24 |
756+
SNDRV_PCM_SUBFMTBIT_MSBITS_MAX,
746757
},
747758
},
748759
{

0 commit comments

Comments
 (0)