Commit 6e28a0c3 authored by Mark Brown's avatar Mark Brown

Merge series "Kconfig updates for DMIC and SOF HDMI support" from Pierre-Louis...

Merge series "Kconfig updates for DMIC and SOF HDMI support" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:

This series provides the following updates to the Intel machine driver
Kconfig:

1. The first patch adds the explicit dependency on GPIOLIB when
SND_SOC_DMIC is selected.

2. SND_SOC_SOF_HDA_AUDIO_CODEC is required for using the legacy
HDA codec driver for HDMI support in SOF. The last 3 three patches
make the required changes to account for this.

changes since v1:
first patch for DMIC was merged already
rebase for HDMI on top of Arnd's RT5682 changes.

Libin Yang (3):
  ASoC: intel: add depends on SND_SOC_SOF_HDA_AUDIO_CODEC for common
    hdmi
  ASoC: sof-sdw: remove CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC condition
  ASoC: sof_pcm512x: remove CONFIG_SND_HDA_CODEC_HDMI condition

 sound/soc/intel/boards/Kconfig        | 20 ++++++++++----------
 sound/soc/intel/boards/sof_pcm512x.c  |  9 ---------
 sound/soc/intel/boards/sof_sdw.c      |  8 --------
 sound/soc/intel/boards/sof_sdw_hdmi.c |  7 -------
 4 files changed, 10 insertions(+), 34 deletions(-)

base-commit: 89d73cca
--
2.20.1
parents b6f10d3f 1e7cb64b
...@@ -411,13 +411,13 @@ config SND_SOC_INTEL_KBL_RT5660_MACH ...@@ -411,13 +411,13 @@ config SND_SOC_INTEL_KBL_RT5660_MACH
endif ## SND_SOC_INTEL_KBL endif ## SND_SOC_INTEL_KBL
if SND_SOC_SOF_GEMINILAKE && SND_SOC_SOF_HDA_LINK if SND_SOC_SOF_GEMINILAKE
config SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH config SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH
tristate "GLK with DA7219 and MAX98357A in I2S Mode" tristate "GLK with DA7219 and MAX98357A in I2S Mode"
depends on I2C && ACPI && GPIOLIB depends on I2C && ACPI && GPIOLIB
depends on MFD_INTEL_LPSS || COMPILE_TEST depends on MFD_INTEL_LPSS || COMPILE_TEST
depends on SND_HDA_CODEC_HDMI depends on SND_HDA_CODEC_HDMI && SND_SOC_SOF_HDA_AUDIO_CODEC
select SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON select SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON
help help
This adds support for ASoC machine driver for Geminilake platforms This adds support for ASoC machine driver for Geminilake platforms
...@@ -429,7 +429,7 @@ config SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH ...@@ -429,7 +429,7 @@ config SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH
tristate "GLK with RT5682 and MAX98357A in I2S Mode" tristate "GLK with RT5682 and MAX98357A in I2S Mode"
depends on I2C && ACPI && GPIOLIB depends on I2C && ACPI && GPIOLIB
depends on MFD_INTEL_LPSS || COMPILE_TEST depends on MFD_INTEL_LPSS || COMPILE_TEST
depends on SND_HDA_CODEC_HDMI depends on SND_HDA_CODEC_HDMI && SND_SOC_SOF_HDA_AUDIO_CODEC
select SND_SOC_RT5682_I2C select SND_SOC_RT5682_I2C
select SND_SOC_MAX98357A select SND_SOC_MAX98357A
select SND_SOC_DMIC select SND_SOC_DMIC
...@@ -440,7 +440,7 @@ config SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH ...@@ -440,7 +440,7 @@ config SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH
Say Y if you have such a device. Say Y if you have such a device.
If unsure select "N". If unsure select "N".
endif ## SND_SOC_SOF_GEMINILAKE && SND_SOC_SOF_HDA_LINK endif ## SND_SOC_SOF_GEMINILAKE
if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC || SND_SOC_SOF_HDA_AUDIO_CODEC if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC || SND_SOC_SOF_HDA_AUDIO_CODEC
...@@ -463,9 +463,9 @@ if SND_SOC_SOF_HDA_LINK || SND_SOC_SOF_BAYTRAIL ...@@ -463,9 +463,9 @@ if SND_SOC_SOF_HDA_LINK || SND_SOC_SOF_BAYTRAIL
config SND_SOC_INTEL_SOF_RT5682_MACH config SND_SOC_INTEL_SOF_RT5682_MACH
tristate "SOF with rt5682 codec in I2S Mode" tristate "SOF with rt5682 codec in I2S Mode"
depends on I2C && ACPI && GPIOLIB depends on I2C && ACPI && GPIOLIB
depends on (SND_SOC_SOF_HDA_LINK && (MFD_INTEL_LPSS || COMPILE_TEST)) ||\ depends on ((SND_HDA_CODEC_HDMI && SND_SOC_SOF_HDA_AUDIO_CODEC) &&\
(MFD_INTEL_LPSS || COMPILE_TEST)) ||\
(SND_SOC_SOF_BAYTRAIL && (X86_INTEL_LPSS || COMPILE_TEST)) (SND_SOC_SOF_BAYTRAIL && (X86_INTEL_LPSS || COMPILE_TEST))
depends on SND_HDA_CODEC_HDMI
select SND_SOC_MAX98373 select SND_SOC_MAX98373
select SND_SOC_RT1015 select SND_SOC_RT1015
select SND_SOC_RT5682_I2C select SND_SOC_RT5682_I2C
...@@ -509,7 +509,7 @@ config SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH ...@@ -509,7 +509,7 @@ config SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH
tristate "CML with RT1011 and RT5682 in I2S Mode" tristate "CML with RT1011 and RT5682 in I2S Mode"
depends on I2C && ACPI && GPIOLIB depends on I2C && ACPI && GPIOLIB
depends on MFD_INTEL_LPSS || COMPILE_TEST depends on MFD_INTEL_LPSS || COMPILE_TEST
depends on SND_HDA_CODEC_HDMI depends on SND_HDA_CODEC_HDMI && SND_SOC_SOF_HDA_AUDIO_CODEC
select SND_SOC_RT1011 select SND_SOC_RT1011
select SND_SOC_RT5682_I2C select SND_SOC_RT5682_I2C
select SND_SOC_DMIC select SND_SOC_DMIC
...@@ -528,7 +528,7 @@ config SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH ...@@ -528,7 +528,7 @@ config SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH
tristate "SOF with DA7219 and MAX98373/MAX98360A in I2S Mode" tristate "SOF with DA7219 and MAX98373/MAX98360A in I2S Mode"
depends on I2C && ACPI && GPIOLIB depends on I2C && ACPI && GPIOLIB
depends on MFD_INTEL_LPSS || COMPILE_TEST depends on MFD_INTEL_LPSS || COMPILE_TEST
depends on SND_HDA_CODEC_HDMI depends on SND_HDA_CODEC_HDMI && SND_SOC_SOF_HDA_AUDIO_CODEC
select SND_SOC_DA7219 select SND_SOC_DA7219
select SND_SOC_MAX98373 select SND_SOC_MAX98373
select SND_SOC_DMIC select SND_SOC_DMIC
...@@ -546,7 +546,7 @@ config SND_SOC_INTEL_EHL_RT5660_MACH ...@@ -546,7 +546,7 @@ config SND_SOC_INTEL_EHL_RT5660_MACH
tristate "EHL with RT5660 in I2S mode" tristate "EHL with RT5660 in I2S mode"
depends on I2C && ACPI && GPIOLIB depends on I2C && ACPI && GPIOLIB
depends on MFD_INTEL_LPSS || COMPILE_TEST depends on MFD_INTEL_LPSS || COMPILE_TEST
depends on SND_HDA_CODEC_HDMI depends on SND_HDA_CODEC_HDMI && SND_SOC_SOF_HDA_AUDIO_CODEC
select SND_SOC_RT5660 select SND_SOC_RT5660
select SND_SOC_DMIC select SND_SOC_DMIC
help help
...@@ -563,7 +563,7 @@ config SND_SOC_INTEL_SOUNDWIRE_SOF_MACH ...@@ -563,7 +563,7 @@ config SND_SOC_INTEL_SOUNDWIRE_SOF_MACH
depends on MFD_INTEL_LPSS || COMPILE_TEST depends on MFD_INTEL_LPSS || COMPILE_TEST
depends on SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES || COMPILE_TEST depends on SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES || COMPILE_TEST
depends on SOUNDWIRE depends on SOUNDWIRE
depends on SND_HDA_CODEC_HDMI depends on SND_HDA_CODEC_HDMI && SND_SOC_SOF_HDA_AUDIO_CODEC
select SND_SOC_RT700_SDW select SND_SOC_RT700_SDW
select SND_SOC_RT711_SDW select SND_SOC_RT711_SDW
select SND_SOC_RT1308_SDW select SND_SOC_RT1308_SDW
......
...@@ -126,7 +126,6 @@ static struct snd_soc_dai_link_component platform_component[] = { ...@@ -126,7 +126,6 @@ static struct snd_soc_dai_link_component platform_component[] = {
} }
}; };
#if IS_ENABLED(CONFIG_SND_HDA_CODEC_HDMI)
static int sof_card_late_probe(struct snd_soc_card *card) static int sof_card_late_probe(struct snd_soc_card *card)
{ {
struct sof_card_private *ctx = snd_soc_card_get_drvdata(card); struct sof_card_private *ctx = snd_soc_card_get_drvdata(card);
...@@ -146,12 +145,6 @@ static int sof_card_late_probe(struct snd_soc_card *card) ...@@ -146,12 +145,6 @@ static int sof_card_late_probe(struct snd_soc_card *card)
return hda_dsp_hdmi_build_controls(card, pcm->codec_dai->component); return hda_dsp_hdmi_build_controls(card, pcm->codec_dai->component);
} }
#else
static int sof_card_late_probe(struct snd_soc_card *card)
{
return 0;
}
#endif
static const struct snd_kcontrol_new sof_controls[] = { static const struct snd_kcontrol_new sof_controls[] = {
SOC_DAPM_PIN_SWITCH("Ext Spk"), SOC_DAPM_PIN_SWITCH("Ext Spk"),
...@@ -374,14 +367,12 @@ static int sof_audio_probe(struct platform_device *pdev) ...@@ -374,14 +367,12 @@ static int sof_audio_probe(struct platform_device *pdev)
sof_pcm512x_quirk = SOF_PCM512X_SSP_CODEC(2); sof_pcm512x_quirk = SOF_PCM512X_SSP_CODEC(2);
} else { } else {
dmic_be_num = 2; dmic_be_num = 2;
#if IS_ENABLED(CONFIG_SND_HDA_CODEC_HDMI)
if (mach->mach_params.common_hdmi_codec_drv && if (mach->mach_params.common_hdmi_codec_drv &&
(mach->mach_params.codec_mask & IDISP_CODEC_MASK)) (mach->mach_params.codec_mask & IDISP_CODEC_MASK))
ctx->idisp_codec = true; ctx->idisp_codec = true;
/* links are always present in topology */ /* links are always present in topology */
hdmi_num = 3; hdmi_num = 3;
#endif
} }
dmi_check_system(sof_pcm512x_quirk_table); dmi_check_system(sof_pcm512x_quirk_table);
......
...@@ -663,9 +663,7 @@ static int sof_card_dai_links_create(struct device *dev, ...@@ -663,9 +663,7 @@ static int sof_card_dai_links_create(struct device *dev,
struct snd_soc_card *card) struct snd_soc_card *card)
{ {
int ssp_num, sdw_be_num = 0, hdmi_num = 0, dmic_num; int ssp_num, sdw_be_num = 0, hdmi_num = 0, dmic_num;
#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
struct snd_soc_dai_link_component *idisp_components; struct snd_soc_dai_link_component *idisp_components;
#endif
struct snd_soc_dai_link_component *ssp_components; struct snd_soc_dai_link_component *ssp_components;
struct snd_soc_acpi_mach_params *mach_params; struct snd_soc_acpi_mach_params *mach_params;
const struct snd_soc_acpi_link_adr *adr_link; const struct snd_soc_acpi_link_adr *adr_link;
...@@ -686,10 +684,8 @@ static int sof_card_dai_links_create(struct device *dev, ...@@ -686,10 +684,8 @@ static int sof_card_dai_links_create(struct device *dev,
for (i = 0; i < ARRAY_SIZE(codec_info_list); i++) for (i = 0; i < ARRAY_SIZE(codec_info_list); i++)
codec_info_list[i].amp_num = 0; codec_info_list[i].amp_num = 0;
#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
hdmi_num = sof_sdw_quirk & SOF_SDW_TGL_HDMI ? hdmi_num = sof_sdw_quirk & SOF_SDW_TGL_HDMI ?
SOF_TGL_HDMI_COUNT : SOF_PRE_TGL_HDMI_COUNT; SOF_TGL_HDMI_COUNT : SOF_PRE_TGL_HDMI_COUNT;
#endif
ssp_mask = SOF_SSP_GET_PORT(sof_sdw_quirk); ssp_mask = SOF_SSP_GET_PORT(sof_sdw_quirk);
/* /*
...@@ -849,7 +845,6 @@ static int sof_card_dai_links_create(struct device *dev, ...@@ -849,7 +845,6 @@ static int sof_card_dai_links_create(struct device *dev,
INC_ID(be_id, cpu_id, link_id); INC_ID(be_id, cpu_id, link_id);
} }
#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
/* HDMI */ /* HDMI */
if (hdmi_num > 0) { if (hdmi_num > 0) {
idisp_components = devm_kcalloc(dev, hdmi_num, idisp_components = devm_kcalloc(dev, hdmi_num,
...@@ -886,7 +881,6 @@ static int sof_card_dai_links_create(struct device *dev, ...@@ -886,7 +881,6 @@ static int sof_card_dai_links_create(struct device *dev,
sof_sdw_hdmi_init, NULL); sof_sdw_hdmi_init, NULL);
INC_ID(be_id, cpu_id, link_id); INC_ID(be_id, cpu_id, link_id);
} }
#endif
card->dai_link = links; card->dai_link = links;
card->num_links = num_links; card->num_links = num_links;
...@@ -920,9 +914,7 @@ static int mc_probe(struct platform_device *pdev) ...@@ -920,9 +914,7 @@ static int mc_probe(struct platform_device *pdev)
dmi_check_system(sof_sdw_quirk_table); dmi_check_system(sof_sdw_quirk_table);
#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
INIT_LIST_HEAD(&ctx->hdmi_pcm_list); INIT_LIST_HEAD(&ctx->hdmi_pcm_list);
#endif
card->dev = &pdev->dev; card->dev = &pdev->dev;
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
#include "../../codecs/hdac_hdmi.h" #include "../../codecs/hdac_hdmi.h"
#include "hda_dsp_common.h" #include "hda_dsp_common.h"
#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
static struct snd_soc_jack hdmi[MAX_HDMI_NUM]; static struct snd_soc_jack hdmi[MAX_HDMI_NUM];
struct hdmi_pcm { struct hdmi_pcm {
...@@ -89,9 +88,3 @@ int sof_sdw_hdmi_card_late_probe(struct snd_soc_card *card) ...@@ -89,9 +88,3 @@ int sof_sdw_hdmi_card_late_probe(struct snd_soc_card *card)
return hdac_hdmi_jack_port_init(component, &card->dapm); return hdac_hdmi_jack_port_init(component, &card->dapm);
} }
#else
int sof_sdw_hdmi_card_late_probe(struct snd_soc_card *card)
{
return 0;
}
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment