ASoC: intel: sof_rt5682: common hdmi codec support
Add support for using snd-hda-codec-hdmi driver for HDMI/DP instead of ASoC hdac-hdmi. This is aligned with how other HDA codecs are already handled. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Takashi Iwai <tiwai@suse.de> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20191029134017.18901-9-kai.vehmanen@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
此提交包含在:
@@ -21,6 +21,7 @@
|
||||
#include "../../codecs/rt5682.h"
|
||||
#include "../../codecs/hdac_hdmi.h"
|
||||
#include "../common/soc-intel-quirks.h"
|
||||
#include "hda_dsp_common.h"
|
||||
|
||||
#define NAME_SIZE 32
|
||||
|
||||
@@ -53,6 +54,7 @@ struct sof_card_private {
|
||||
struct clk *mclk;
|
||||
struct snd_soc_jack sof_headset;
|
||||
struct list_head hdmi_pcm_list;
|
||||
bool common_hdmi_codec_drv;
|
||||
};
|
||||
|
||||
static int sof_rt5682_quirk_cb(const struct dmi_system_id *id)
|
||||
@@ -274,6 +276,13 @@ static int sof_card_late_probe(struct snd_soc_card *card)
|
||||
if (is_legacy_cpu)
|
||||
return 0;
|
||||
|
||||
pcm = list_first_entry(&ctx->hdmi_pcm_list, struct sof_hdmi_pcm,
|
||||
head);
|
||||
component = pcm->codec_dai->component;
|
||||
|
||||
if (ctx->common_hdmi_codec_drv)
|
||||
return hda_dsp_hdmi_build_controls(card, component);
|
||||
|
||||
list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) {
|
||||
component = pcm->codec_dai->component;
|
||||
snprintf(jack_name, sizeof(jack_name),
|
||||
@@ -642,6 +651,8 @@ static int sof_audio_probe(struct platform_device *pdev)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv;
|
||||
|
||||
snd_soc_card_set_drvdata(&sof_audio_card_rt5682, ctx);
|
||||
|
||||
return devm_snd_soc_register_card(&pdev->dev,
|
||||
|
新增問題並參考
封鎖使用者