ASoC: mediatek: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Tested-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/87o8snir6s.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
f844705f15
Коммит
c8ac82127c
|
@ -40,7 +40,7 @@ int mtk_afe_fe_startup(struct snd_pcm_substream *substream,
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
|
struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
|
||||||
struct snd_pcm_runtime *runtime = substream->runtime;
|
struct snd_pcm_runtime *runtime = substream->runtime;
|
||||||
int memif_num = rtd->cpu_dai->id;
|
int memif_num = asoc_rtd_to_cpu(rtd, 0)->id;
|
||||||
struct mtk_base_afe_memif *memif = &afe->memif[memif_num];
|
struct mtk_base_afe_memif *memif = &afe->memif[memif_num];
|
||||||
const struct snd_pcm_hardware *mtk_afe_hardware = afe->mtk_afe_hardware;
|
const struct snd_pcm_hardware *mtk_afe_hardware = afe->mtk_afe_hardware;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -100,7 +100,7 @@ void mtk_afe_fe_shutdown(struct snd_pcm_substream *substream,
|
||||||
{
|
{
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
|
struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
|
||||||
struct mtk_base_afe_memif *memif = &afe->memif[rtd->cpu_dai->id];
|
struct mtk_base_afe_memif *memif = &afe->memif[asoc_rtd_to_cpu(rtd, 0)->id];
|
||||||
int irq_id;
|
int irq_id;
|
||||||
|
|
||||||
irq_id = memif->irq_usage;
|
irq_id = memif->irq_usage;
|
||||||
|
@ -122,7 +122,7 @@ int mtk_afe_fe_hw_params(struct snd_pcm_substream *substream,
|
||||||
{
|
{
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
|
struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
|
||||||
int id = rtd->cpu_dai->id;
|
int id = asoc_rtd_to_cpu(rtd, 0)->id;
|
||||||
struct mtk_base_afe_memif *memif = &afe->memif[id];
|
struct mtk_base_afe_memif *memif = &afe->memif[id];
|
||||||
int ret;
|
int ret;
|
||||||
unsigned int channels = params_channels(params);
|
unsigned int channels = params_channels(params);
|
||||||
|
@ -199,7 +199,7 @@ int mtk_afe_fe_trigger(struct snd_pcm_substream *substream, int cmd,
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct snd_pcm_runtime * const runtime = substream->runtime;
|
struct snd_pcm_runtime * const runtime = substream->runtime;
|
||||||
struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
|
struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
|
||||||
int id = rtd->cpu_dai->id;
|
int id = asoc_rtd_to_cpu(rtd, 0)->id;
|
||||||
struct mtk_base_afe_memif *memif = &afe->memif[id];
|
struct mtk_base_afe_memif *memif = &afe->memif[id];
|
||||||
struct mtk_base_afe_irq *irqs = &afe->irqs[memif->irq_usage];
|
struct mtk_base_afe_irq *irqs = &afe->irqs[memif->irq_usage];
|
||||||
const struct mtk_base_irq_data *irq_data = irqs->irq_data;
|
const struct mtk_base_irq_data *irq_data = irqs->irq_data;
|
||||||
|
@ -265,7 +265,7 @@ int mtk_afe_fe_prepare(struct snd_pcm_substream *substream,
|
||||||
{
|
{
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
|
struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
|
||||||
int id = rtd->cpu_dai->id;
|
int id = asoc_rtd_to_cpu(rtd, 0)->id;
|
||||||
int pbuf_size;
|
int pbuf_size;
|
||||||
|
|
||||||
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
|
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
|
||||||
|
|
|
@ -82,7 +82,7 @@ snd_pcm_uframes_t mtk_afe_pcm_pointer(struct snd_soc_component *component,
|
||||||
{
|
{
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component);
|
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component);
|
||||||
struct mtk_base_afe_memif *memif = &afe->memif[rtd->cpu_dai->id];
|
struct mtk_base_afe_memif *memif = &afe->memif[asoc_rtd_to_cpu(rtd, 0)->id];
|
||||||
const struct mtk_base_memif_data *memif_data = memif->data;
|
const struct mtk_base_memif_data *memif_data = memif->data;
|
||||||
struct regmap *regmap = afe->regmap;
|
struct regmap *regmap = afe->regmap;
|
||||||
struct device *dev = afe->dev;
|
struct device *dev = afe->dev;
|
||||||
|
|
|
@ -497,7 +497,7 @@ static int mt2701_memif_fs(struct snd_pcm_substream *substream,
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
int fs;
|
int fs;
|
||||||
|
|
||||||
if (rtd->cpu_dai->id != MT2701_MEMIF_ULBT)
|
if (asoc_rtd_to_cpu(rtd, 0)->id != MT2701_MEMIF_ULBT)
|
||||||
fs = mt2701_afe_i2s_fs(rate);
|
fs = mt2701_afe_i2s_fs(rate);
|
||||||
else
|
else
|
||||||
fs = (rate == 16000 ? 1 : 0);
|
fs = (rate == 16000 ? 1 : 0);
|
||||||
|
|
|
@ -128,8 +128,8 @@ static int mt2701_cs42448_be_ops_hw_params(struct snd_pcm_substream *substream,
|
||||||
struct snd_pcm_hw_params *params)
|
struct snd_pcm_hw_params *params)
|
||||||
{
|
{
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
|
struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0);
|
||||||
struct snd_soc_dai *codec_dai = rtd->codec_dai;
|
struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0);
|
||||||
unsigned int mclk_rate;
|
unsigned int mclk_rate;
|
||||||
unsigned int rate = params_rate(params);
|
unsigned int rate = params_rate(params);
|
||||||
unsigned int div_mclk_over_bck = rate > 192000 ? 2 : 4;
|
unsigned int div_mclk_over_bck = rate > 192000 ? 2 : 4;
|
||||||
|
|
|
@ -25,8 +25,8 @@ static int mt2701_wm8960_be_ops_hw_params(struct snd_pcm_substream *substream,
|
||||||
struct snd_pcm_hw_params *params)
|
struct snd_pcm_hw_params *params)
|
||||||
{
|
{
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct snd_soc_dai *codec_dai = rtd->codec_dai;
|
struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0);
|
||||||
struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
|
struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0);
|
||||||
unsigned int mclk_rate;
|
unsigned int mclk_rate;
|
||||||
unsigned int rate = params_rate(params);
|
unsigned int rate = params_rate(params);
|
||||||
unsigned int div_mclk_over_bck = rate > 192000 ? 2 : 4;
|
unsigned int div_mclk_over_bck = rate > 192000 ? 2 : 4;
|
||||||
|
|
|
@ -143,7 +143,7 @@ static int mt6797_memif_fs(struct snd_pcm_substream *substream,
|
||||||
struct snd_soc_component *component =
|
struct snd_soc_component *component =
|
||||||
snd_soc_rtdcom_lookup(rtd, AFE_PCM_NAME);
|
snd_soc_rtdcom_lookup(rtd, AFE_PCM_NAME);
|
||||||
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component);
|
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component);
|
||||||
int id = rtd->cpu_dai->id;
|
int id = asoc_rtd_to_cpu(rtd, 0)->id;
|
||||||
|
|
||||||
return mt6797_rate_transform(afe->dev, rate, id);
|
return mt6797_rate_transform(afe->dev, rate, id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -485,7 +485,7 @@ static int mt8173_memif_fs(struct snd_pcm_substream *substream,
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, AFE_PCM_NAME);
|
struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, AFE_PCM_NAME);
|
||||||
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component);
|
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component);
|
||||||
struct mtk_base_afe_memif *memif = &afe->memif[rtd->cpu_dai->id];
|
struct mtk_base_afe_memif *memif = &afe->memif[asoc_rtd_to_cpu(rtd, 0)->id];
|
||||||
int fs;
|
int fs;
|
||||||
|
|
||||||
if (memif->data->id == MT8173_AFE_MEMIF_DAI ||
|
if (memif->data->id == MT8173_AFE_MEMIF_DAI ||
|
||||||
|
|
|
@ -53,7 +53,7 @@ static int mt8173_max98090_hw_params(struct snd_pcm_substream *substream,
|
||||||
struct snd_pcm_hw_params *params)
|
struct snd_pcm_hw_params *params)
|
||||||
{
|
{
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct snd_soc_dai *codec_dai = rtd->codec_dai;
|
struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0);
|
||||||
|
|
||||||
return snd_soc_dai_set_sysclk(codec_dai, 0, params_rate(params) * 256,
|
return snd_soc_dai_set_sysclk(codec_dai, 0, params_rate(params) * 256,
|
||||||
SND_SOC_CLOCK_IN);
|
SND_SOC_CLOCK_IN);
|
||||||
|
@ -67,7 +67,7 @@ static int mt8173_max98090_init(struct snd_soc_pcm_runtime *runtime)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
struct snd_soc_card *card = runtime->card;
|
struct snd_soc_card *card = runtime->card;
|
||||||
struct snd_soc_component *component = runtime->codec_dai->component;
|
struct snd_soc_component *component = asoc_rtd_to_codec(runtime, 0)->component;
|
||||||
|
|
||||||
/* enable jack detection */
|
/* enable jack detection */
|
||||||
ret = snd_soc_card_jack_new(card, "Headphone", SND_JACK_HEADPHONE,
|
ret = snd_soc_card_jack_new(card, "Headphone", SND_JACK_HEADPHONE,
|
||||||
|
|
|
@ -73,7 +73,7 @@ static struct snd_soc_jack mt8173_rt5650_rt5514_jack;
|
||||||
static int mt8173_rt5650_rt5514_init(struct snd_soc_pcm_runtime *runtime)
|
static int mt8173_rt5650_rt5514_init(struct snd_soc_pcm_runtime *runtime)
|
||||||
{
|
{
|
||||||
struct snd_soc_card *card = runtime->card;
|
struct snd_soc_card *card = runtime->card;
|
||||||
struct snd_soc_component *component = runtime->codec_dais[0]->component;
|
struct snd_soc_component *component = asoc_rtd_to_codec(runtime, 0)->component;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
rt5645_sel_asrc_clk_src(component,
|
rt5645_sel_asrc_clk_src(component,
|
||||||
|
|
|
@ -77,8 +77,8 @@ static struct snd_soc_jack mt8173_rt5650_rt5676_jack;
|
||||||
static int mt8173_rt5650_rt5676_init(struct snd_soc_pcm_runtime *runtime)
|
static int mt8173_rt5650_rt5676_init(struct snd_soc_pcm_runtime *runtime)
|
||||||
{
|
{
|
||||||
struct snd_soc_card *card = runtime->card;
|
struct snd_soc_card *card = runtime->card;
|
||||||
struct snd_soc_component *component = runtime->codec_dais[0]->component;
|
struct snd_soc_component *component = asoc_rtd_to_codec(runtime, 0)->component;
|
||||||
struct snd_soc_component *component_sub = runtime->codec_dais[1]->component;
|
struct snd_soc_component *component_sub = asoc_rtd_to_codec(runtime, 1)->component;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
rt5645_sel_asrc_clk_src(component,
|
rt5645_sel_asrc_clk_src(component,
|
||||||
|
|
|
@ -104,8 +104,8 @@ static struct snd_soc_jack mt8173_rt5650_jack, mt8173_rt5650_hdmi_jack;
|
||||||
static int mt8173_rt5650_init(struct snd_soc_pcm_runtime *runtime)
|
static int mt8173_rt5650_init(struct snd_soc_pcm_runtime *runtime)
|
||||||
{
|
{
|
||||||
struct snd_soc_card *card = runtime->card;
|
struct snd_soc_card *card = runtime->card;
|
||||||
struct snd_soc_component *component = runtime->codec_dais[0]->component;
|
struct snd_soc_component *component = asoc_rtd_to_codec(runtime, 0)->component;
|
||||||
const char *codec_capture_dai = runtime->codec_dais[1]->name;
|
const char *codec_capture_dai = asoc_rtd_to_codec(runtime, 1)->name;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
rt5645_sel_asrc_clk_src(component,
|
rt5645_sel_asrc_clk_src(component,
|
||||||
|
@ -154,7 +154,7 @@ static int mt8173_rt5650_hdmi_init(struct snd_soc_pcm_runtime *rtd)
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
return hdmi_codec_set_jack_detect(rtd->codec_dai->component,
|
return hdmi_codec_set_jack_detect(asoc_rtd_to_codec(rtd, 0)->component,
|
||||||
&mt8173_rt5650_hdmi_jack);
|
&mt8173_rt5650_hdmi_jack);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -146,7 +146,7 @@ static int mt8183_memif_fs(struct snd_pcm_substream *substream,
|
||||||
struct snd_soc_component *component =
|
struct snd_soc_component *component =
|
||||||
snd_soc_rtdcom_lookup(rtd, AFE_PCM_NAME);
|
snd_soc_rtdcom_lookup(rtd, AFE_PCM_NAME);
|
||||||
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component);
|
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component);
|
||||||
int id = rtd->cpu_dai->id;
|
int id = asoc_rtd_to_cpu(rtd, 0)->id;
|
||||||
|
|
||||||
return mt8183_rate_transform(afe->dev, rate, id);
|
return mt8183_rate_transform(afe->dev, rate, id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ static int mt8183_mt6358_i2s_hw_params(struct snd_pcm_substream *substream,
|
||||||
unsigned int mclk_fs_ratio = 128;
|
unsigned int mclk_fs_ratio = 128;
|
||||||
unsigned int mclk_fs = rate * mclk_fs_ratio;
|
unsigned int mclk_fs = rate * mclk_fs_ratio;
|
||||||
|
|
||||||
return snd_soc_dai_set_sysclk(rtd->cpu_dai,
|
return snd_soc_dai_set_sysclk(asoc_rtd_to_cpu(rtd, 0),
|
||||||
0, mclk_fs, SND_SOC_CLOCK_OUT);
|
0, mclk_fs, SND_SOC_CLOCK_OUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ static int mt8183_da7219_i2s_hw_params(struct snd_pcm_substream *substream,
|
||||||
unsigned int freq;
|
unsigned int freq;
|
||||||
int ret = 0, j;
|
int ret = 0, j;
|
||||||
|
|
||||||
ret = snd_soc_dai_set_sysclk(rtd->cpu_dai, 0,
|
ret = snd_soc_dai_set_sysclk(asoc_rtd_to_cpu(rtd, 0), 0,
|
||||||
mclk_fs, SND_SOC_CLOCK_OUT);
|
mclk_fs, SND_SOC_CLOCK_OUT);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
dev_err(rtd->dev, "failed to set cpu dai sysclk\n");
|
dev_err(rtd->dev, "failed to set cpu dai sysclk\n");
|
||||||
|
|
|
@ -41,7 +41,7 @@ static int mt8183_mt6358_i2s_hw_params(struct snd_pcm_substream *substream,
|
||||||
unsigned int mclk_fs_ratio = 128;
|
unsigned int mclk_fs_ratio = 128;
|
||||||
unsigned int mclk_fs = rate * mclk_fs_ratio;
|
unsigned int mclk_fs = rate * mclk_fs_ratio;
|
||||||
|
|
||||||
return snd_soc_dai_set_sysclk(rtd->cpu_dai,
|
return snd_soc_dai_set_sysclk(asoc_rtd_to_cpu(rtd, 0),
|
||||||
0, mclk_fs, SND_SOC_CLOCK_OUT);
|
0, mclk_fs, SND_SOC_CLOCK_OUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче