mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-20 20:47:25 +07:00
ASoC: Intel: glk_rt5682_max98357a: 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-8-kai.vehmanen@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
57ad18906f
commit
dfe87aa86c
@ -6,7 +6,7 @@ snd-soc-sst-bdw-rt5677-mach-objs := bdw-rt5677.o
|
||||
snd-soc-sst-broadwell-objs := broadwell.o
|
||||
snd-soc-sst-bxt-da7219_max98357a-objs := bxt_da7219_max98357a.o hda_dsp_common.o
|
||||
snd-soc-sst-bxt-rt298-objs := bxt_rt298.o
|
||||
snd-soc-sst-glk-rt5682_max98357a-objs := glk_rt5682_max98357a.o
|
||||
snd-soc-sst-glk-rt5682_max98357a-objs := glk_rt5682_max98357a.o hda_dsp_common.o
|
||||
snd-soc-sst-bytcr-rt5640-objs := bytcr_rt5640.o
|
||||
snd-soc-sst-bytcr-rt5651-objs := bytcr_rt5651.o
|
||||
snd-soc-sst-cht-bsw-rt5672-objs := cht_bsw_rt5672.o
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include <sound/soc-acpi.h>
|
||||
#include "../../codecs/rt5682.h"
|
||||
#include "../../codecs/hdac_hdmi.h"
|
||||
#include "hda_dsp_common.h"
|
||||
|
||||
/* The platform clock outputs 19.2Mhz clock to codec as I2S MCLK */
|
||||
#define GLK_PLAT_CLK_FREQ 19200000
|
||||
@ -41,6 +42,7 @@ struct glk_hdmi_pcm {
|
||||
struct glk_card_private {
|
||||
struct snd_soc_jack geminilake_headset;
|
||||
struct list_head hdmi_pcm_list;
|
||||
bool common_hdmi_codec_drv;
|
||||
};
|
||||
|
||||
enum {
|
||||
@ -545,6 +547,13 @@ static int glk_card_late_probe(struct snd_soc_card *card)
|
||||
int err = 0;
|
||||
int i = 0;
|
||||
|
||||
pcm = list_first_entry(&ctx->hdmi_pcm_list, struct glk_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),
|
||||
@ -612,6 +621,8 @@ static int geminilake_audio_probe(struct platform_device *pdev)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv;
|
||||
|
||||
return devm_snd_soc_register_card(&pdev->dev, card);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user