ASoC: Intel: Skylake: Fix the SSP0 Fmt fixup to 24 bit
authorJeeja KP <jeeja.kp@intel.com>
Thu, 29 Oct 2015 03:31:34 +0000 (12:31 +0900)
committerMark Brown <broonie@kernel.org>
Mon, 16 Nov 2015 10:08:09 +0000 (10:08 +0000)
SSP0 FMT uses 24 bits so fix to the value to 24 bits

Signed-off-by: Jeeja KP <jeeja.kp@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/skl_rt286.c

index a73a431bd8b7283f6c9c417559bb8adcd0e1ac03..e6af484912296e6bbb02edbd2af92a968757b3fe 100644 (file)
@@ -112,12 +112,15 @@ static int skylake_ssp0_fixup(struct snd_soc_pcm_runtime *rtd,
                        SNDRV_PCM_HW_PARAM_RATE);
        struct snd_interval *channels = hw_param_interval(params,
                                                SNDRV_PCM_HW_PARAM_CHANNELS);
+       struct snd_mask *fmt = hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT);
 
        /* The output is 48KHz, stereo, 16bits */
        rate->min = rate->max = 48000;
        channels->min = channels->max = 2;
-       params_set_format(params, SNDRV_PCM_FORMAT_S16_LE);
 
+       /* set SSP0 to 24 bit */
+       snd_mask_none(fmt);
+       snd_mask_set(fmt, SNDRV_PCM_FORMAT_S24_LE);
        return 0;
 }