ASoC: Intel: Update to use set_fmt_new callback
As part of updating the core to directly tell drivers if they are clock provider or consumer update these CPU side drivers to use the new direct callback. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20220519154318.2153729-12-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
ed2b384082
Коммит
add9ee8c64
|
@ -831,9 +831,9 @@ static int sst_get_ssp_mode(struct snd_soc_dai *dai, unsigned int fmt)
|
|||
dev_dbg(dai->dev, "Enter:%s, format=%x\n", __func__, format);
|
||||
|
||||
switch (format) {
|
||||
case SND_SOC_DAIFMT_CBC_CFC:
|
||||
case SND_SOC_DAIFMT_BP_FP:
|
||||
return SSP_MODE_PROVIDER;
|
||||
case SND_SOC_DAIFMT_CBP_CFP:
|
||||
case SND_SOC_DAIFMT_BC_FC:
|
||||
return SSP_MODE_CONSUMER;
|
||||
default:
|
||||
dev_err(dai->dev, "Invalid ssp protocol: %d\n", format);
|
||||
|
|
|
@ -473,7 +473,7 @@ static const struct snd_soc_dai_ops sst_compr_dai_ops = {
|
|||
static const struct snd_soc_dai_ops sst_be_dai_ops = {
|
||||
.startup = sst_enable_ssp,
|
||||
.hw_params = sst_be_hw_params,
|
||||
.set_fmt = sst_set_format,
|
||||
.set_fmt_new = sst_set_format,
|
||||
.set_tdm_slot = sst_platform_set_ssp_slot,
|
||||
.shutdown = sst_disable_ssp,
|
||||
};
|
||||
|
|
|
@ -126,7 +126,7 @@ static int byt_cht_cx2072x_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||
ret = snd_soc_dai_set_fmt(asoc_rtd_to_cpu(rtd, 0),
|
||||
SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC);
|
||||
SND_SOC_DAIFMT_BP_FP);
|
||||
if (ret < 0) {
|
||||
dev_err(rtd->dev, "can't set format to I2S, err %d\n", ret);
|
||||
return ret;
|
||||
|
|
|
@ -81,7 +81,7 @@ static int codec_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||
ret = snd_soc_dai_set_fmt(asoc_rtd_to_cpu(rtd, 0),
|
||||
SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC);
|
||||
SND_SOC_DAIFMT_BP_FP);
|
||||
if (ret < 0) {
|
||||
dev_err(rtd->dev, "can't set format to I2S, err %d\n", ret);
|
||||
return ret;
|
||||
|
|
|
@ -265,7 +265,7 @@ static int byt_cht_es8316_codec_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||
ret = snd_soc_dai_set_fmt(asoc_rtd_to_cpu(rtd, 0),
|
||||
SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC
|
||||
SND_SOC_DAIFMT_BP_FP
|
||||
);
|
||||
if (ret < 0) {
|
||||
dev_err(rtd->dev, "can't set format to I2S, err %d\n", ret);
|
||||
|
|
|
@ -61,7 +61,7 @@ static int codec_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||
ret = snd_soc_dai_set_fmt(asoc_rtd_to_cpu(rtd, 0),
|
||||
SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC);
|
||||
SND_SOC_DAIFMT_BP_FP);
|
||||
|
||||
if (ret < 0) {
|
||||
dev_err(rtd->dev, "can't set format to I2S, err %d\n", ret);
|
||||
|
|
|
@ -1413,7 +1413,7 @@ static int byt_rt5640_codec_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||
ret = snd_soc_dai_set_fmt(asoc_rtd_to_cpu(rtd, 0),
|
||||
SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC);
|
||||
SND_SOC_DAIFMT_BP_FP);
|
||||
if (ret < 0) {
|
||||
dev_err(rtd->dev, "can't set format to I2S, err %d\n", ret);
|
||||
return ret;
|
||||
|
|
|
@ -706,7 +706,7 @@ static int byt_rt5651_codec_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||
ret = snd_soc_dai_set_fmt(asoc_rtd_to_cpu(rtd, 0),
|
||||
SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC
|
||||
SND_SOC_DAIFMT_BP_FP
|
||||
);
|
||||
|
||||
if (ret < 0) {
|
||||
|
|
|
@ -265,7 +265,7 @@ static int byt_wm5102_codec_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||
ret = snd_soc_dai_set_fmt(asoc_rtd_to_cpu(rtd, 0),
|
||||
SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC);
|
||||
SND_SOC_DAIFMT_BP_FP);
|
||||
if (ret) {
|
||||
dev_err(rtd->dev, "Error setting format to I2S: %d\n", ret);
|
||||
return ret;
|
||||
|
|
|
@ -264,8 +264,7 @@ static int cht_codec_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||
return ret;
|
||||
}
|
||||
|
||||
fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBC_CFC;
|
||||
fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_BP_FP;
|
||||
|
||||
ret = snd_soc_dai_set_fmt(asoc_rtd_to_cpu(rtd, 0), fmt);
|
||||
if (ret < 0) {
|
||||
|
|
|
@ -362,7 +362,7 @@ static int cht_codec_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||
ret = snd_soc_dai_set_fmt(asoc_rtd_to_cpu(rtd, 0),
|
||||
SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC
|
||||
SND_SOC_DAIFMT_BP_FP
|
||||
);
|
||||
if (ret < 0) {
|
||||
dev_err(rtd->dev, "can't set format to I2S, err %d\n", ret);
|
||||
|
@ -372,7 +372,7 @@ static int cht_codec_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||
ret = snd_soc_dai_set_fmt(asoc_rtd_to_codec(rtd, 0),
|
||||
SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC
|
||||
SND_SOC_DAIFMT_BC_FC
|
||||
);
|
||||
if (ret < 0) {
|
||||
dev_err(rtd->dev, "can't set format to I2S, err %d\n", ret);
|
||||
|
@ -396,7 +396,7 @@ static int cht_codec_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||
ret = snd_soc_dai_set_fmt(asoc_rtd_to_codec(rtd, 0),
|
||||
SND_SOC_DAIFMT_DSP_B |
|
||||
SND_SOC_DAIFMT_IB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC);
|
||||
SND_SOC_DAIFMT_BC_FC);
|
||||
if (ret < 0) {
|
||||
dev_err(rtd->dev, "can't set format to TDM %d\n", ret);
|
||||
return ret;
|
||||
|
|
|
@ -300,7 +300,7 @@ static int cht_codec_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||
ret = snd_soc_dai_set_fmt(asoc_rtd_to_cpu(rtd, 0),
|
||||
SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC);
|
||||
SND_SOC_DAIFMT_BP_FP);
|
||||
if (ret < 0) {
|
||||
dev_err(rtd->dev, "can't set format to I2S, err %d\n", ret);
|
||||
return ret;
|
||||
|
|
|
@ -497,11 +497,11 @@ static int kmb_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt)
|
|||
int ret;
|
||||
|
||||
switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
|
||||
case SND_SOC_DAIFMT_CBP_CFP:
|
||||
case SND_SOC_DAIFMT_BC_FC:
|
||||
kmb_i2s->clock_provider = false;
|
||||
ret = 0;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_CBC_CFC:
|
||||
case SND_SOC_DAIFMT_BP_FP:
|
||||
writel(CLOCK_PROVIDER_MODE, kmb_i2s->pss_base + I2S_GEN_CFG_0);
|
||||
|
||||
ret = clk_prepare_enable(kmb_i2s->clk_i2s);
|
||||
|
@ -736,7 +736,7 @@ static const struct snd_soc_dai_ops kmb_dai_ops = {
|
|||
.hw_params = kmb_dai_hw_params,
|
||||
.hw_free = kmb_dai_hw_free,
|
||||
.prepare = kmb_dai_prepare,
|
||||
.set_fmt = kmb_set_dai_fmt,
|
||||
.set_fmt_new = kmb_set_dai_fmt,
|
||||
};
|
||||
|
||||
static struct snd_soc_dai_driver intel_kmb_hdmi_dai[] = {
|
||||
|
|
Загрузка…
Ссылка в новой задаче