mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 22:02:02 +00:00
ASoC: Intel: avs: da7219: Explicitly define codec format
[ Upstream commit 61f368624f
]
da7219 is headset codec configured in 48000/2/S24_LE format regardless
of front end format, so force it to be so.
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Link: https://lore.kernel.org/r/20230303134854.2277146-3-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
d0652061c3
commit
ea7950db76
1 changed files with 21 additions and 0 deletions
|
@ -111,6 +111,26 @@ static int avs_da7219_codec_init(struct snd_soc_pcm_runtime *runtime)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
avs_da7219_be_fixup(struct snd_soc_pcm_runtime *runrime, struct snd_pcm_hw_params *params)
|
||||
{
|
||||
struct snd_interval *rate, *channels;
|
||||
struct snd_mask *fmt;
|
||||
|
||||
rate = hw_param_interval(params, SNDRV_PCM_HW_PARAM_RATE);
|
||||
channels = hw_param_interval(params, SNDRV_PCM_HW_PARAM_CHANNELS);
|
||||
fmt = hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT);
|
||||
|
||||
/* The ADSP will convert the FE rate to 48k, stereo */
|
||||
rate->min = rate->max = 48000;
|
||||
channels->min = channels->max = 2;
|
||||
|
||||
/* set SSP0 to 24 bit */
|
||||
snd_mask_none(fmt);
|
||||
snd_mask_set_format(fmt, SNDRV_PCM_FORMAT_S24_LE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port,
|
||||
struct snd_soc_dai_link **dai_link)
|
||||
{
|
||||
|
@ -142,6 +162,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
|
|||
dl->num_platforms = 1;
|
||||
dl->id = 0;
|
||||
dl->dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS;
|
||||
dl->be_hw_params_fixup = avs_da7219_be_fixup;
|
||||
dl->init = avs_da7219_codec_init;
|
||||
dl->nonatomic = 1;
|
||||
dl->no_pcm = 1;
|
||||
|
|
Loading…
Reference in a new issue