ASoC: AMD: Set constraints for DMIC and MAX98357a codec
We support dual channel, 48Khz. This constraint was set only for da7219. It is being extended to DMIC and MAX98357a. Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com> Reviewed-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
6ee47d4a8d
commit
c736cbd3a6
@ -162,10 +162,21 @@ static void cz_da7219_shutdown(struct snd_pcm_substream *substream)
|
|||||||
|
|
||||||
static int cz_max_startup(struct snd_pcm_substream *substream)
|
static int cz_max_startup(struct snd_pcm_substream *substream)
|
||||||
{
|
{
|
||||||
|
struct snd_pcm_runtime *runtime = substream->runtime;
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct snd_soc_card *card = rtd->card;
|
struct snd_soc_card *card = rtd->card;
|
||||||
struct acp_platform_info *machine = snd_soc_card_get_drvdata(card);
|
struct acp_platform_info *machine = snd_soc_card_get_drvdata(card);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* On this platform for PCM device we support stereo
|
||||||
|
*/
|
||||||
|
|
||||||
|
runtime->hw.channels_max = DUAL_CHANNEL;
|
||||||
|
snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS,
|
||||||
|
&constraints_channels);
|
||||||
|
snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE,
|
||||||
|
&constraints_rates);
|
||||||
|
|
||||||
machine->i2s_instance = I2S_BT_INSTANCE;
|
machine->i2s_instance = I2S_BT_INSTANCE;
|
||||||
return da7219_clk_enable(substream);
|
return da7219_clk_enable(substream);
|
||||||
}
|
}
|
||||||
@ -177,20 +188,42 @@ static void cz_max_shutdown(struct snd_pcm_substream *substream)
|
|||||||
|
|
||||||
static int cz_dmic0_startup(struct snd_pcm_substream *substream)
|
static int cz_dmic0_startup(struct snd_pcm_substream *substream)
|
||||||
{
|
{
|
||||||
|
struct snd_pcm_runtime *runtime = substream->runtime;
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct snd_soc_card *card = rtd->card;
|
struct snd_soc_card *card = rtd->card;
|
||||||
struct acp_platform_info *machine = snd_soc_card_get_drvdata(card);
|
struct acp_platform_info *machine = snd_soc_card_get_drvdata(card);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* On this platform for PCM device we support stereo
|
||||||
|
*/
|
||||||
|
|
||||||
|
runtime->hw.channels_max = DUAL_CHANNEL;
|
||||||
|
snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS,
|
||||||
|
&constraints_channels);
|
||||||
|
snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE,
|
||||||
|
&constraints_rates);
|
||||||
|
|
||||||
machine->i2s_instance = I2S_BT_INSTANCE;
|
machine->i2s_instance = I2S_BT_INSTANCE;
|
||||||
return da7219_clk_enable(substream);
|
return da7219_clk_enable(substream);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cz_dmic1_startup(struct snd_pcm_substream *substream)
|
static int cz_dmic1_startup(struct snd_pcm_substream *substream)
|
||||||
{
|
{
|
||||||
|
struct snd_pcm_runtime *runtime = substream->runtime;
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct snd_soc_card *card = rtd->card;
|
struct snd_soc_card *card = rtd->card;
|
||||||
struct acp_platform_info *machine = snd_soc_card_get_drvdata(card);
|
struct acp_platform_info *machine = snd_soc_card_get_drvdata(card);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* On this platform for PCM device we support stereo
|
||||||
|
*/
|
||||||
|
|
||||||
|
runtime->hw.channels_max = DUAL_CHANNEL;
|
||||||
|
snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS,
|
||||||
|
&constraints_channels);
|
||||||
|
snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE,
|
||||||
|
&constraints_rates);
|
||||||
|
|
||||||
machine->i2s_instance = I2S_SP_INSTANCE;
|
machine->i2s_instance = I2S_SP_INSTANCE;
|
||||||
machine->capture_channel = CAP_CHANNEL0;
|
machine->capture_channel = CAP_CHANNEL0;
|
||||||
return da7219_clk_enable(substream);
|
return da7219_clk_enable(substream);
|
||||||
|
Loading…
Reference in New Issue
Block a user