Merge series "Kconfig updates for DMIC and SOF HDMI support" from Pierre-Louis Bossar...
authorMark Brown <broonie@kernel.org>
Fri, 29 May 2020 20:43:38 +0000 (21:43 +0100)
committerMark Brown <broonie@kernel.org>
Fri, 29 May 2020 20:43:38 +0000 (21:43 +0100)
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: 89d73ccab20a684d8446cea4d8ac6a2608c8d390
--
2.20.1

sound/soc/intel/boards/Kconfig
sound/soc/intel/boards/sof_pcm512x.c
sound/soc/intel/boards/sof_sdw.c
sound/soc/intel/boards/sof_sdw_hdmi.c

index 46073c0..a2a5798 100644 (file)
@@ -411,13 +411,13 @@ config SND_SOC_INTEL_KBL_RT5660_MACH
 
 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
        tristate "GLK with DA7219 and MAX98357A in I2S Mode"
        depends on I2C && ACPI && GPIOLIB
        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
        help
           This adds support for ASoC machine driver for Geminilake platforms
@@ -429,7 +429,7 @@ config SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH
        tristate "GLK with RT5682 and MAX98357A in I2S Mode"
        depends on I2C && ACPI && GPIOLIB
        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_MAX98357A
        select SND_SOC_DMIC
@@ -440,7 +440,7 @@ config SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH
           Say Y if you have such a device.
           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
 
@@ -463,9 +463,9 @@ if SND_SOC_SOF_HDA_LINK || SND_SOC_SOF_BAYTRAIL
 config SND_SOC_INTEL_SOF_RT5682_MACH
        tristate "SOF with rt5682 codec in I2S Mode"
        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))
-       depends on SND_HDA_CODEC_HDMI
        select SND_SOC_MAX98373
        select SND_SOC_RT1015
        select SND_SOC_RT5682_I2C
@@ -509,7 +509,7 @@ config SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH
        tristate "CML with RT1011 and RT5682 in I2S Mode"
        depends on I2C && ACPI && GPIOLIB
        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_RT5682_I2C
        select SND_SOC_DMIC
@@ -528,7 +528,7 @@ config SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH
        tristate "SOF with DA7219 and MAX98373/MAX98360A in I2S Mode"
        depends on I2C && ACPI && GPIOLIB
        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_MAX98373
        select SND_SOC_DMIC
@@ -546,7 +546,7 @@ config SND_SOC_INTEL_EHL_RT5660_MACH
        tristate "EHL with RT5660 in I2S mode"
        depends on I2C && ACPI && GPIOLIB
        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_DMIC
        help
@@ -563,7 +563,7 @@ config SND_SOC_INTEL_SOUNDWIRE_SOF_MACH
        depends on MFD_INTEL_LPSS || COMPILE_TEST
        depends on SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES || COMPILE_TEST
        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_RT711_SDW
        select SND_SOC_RT1308_SDW
index f983c7f..9fa8a49 100644 (file)
@@ -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)
 {
        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)
 
        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[] = {
        SOC_DAPM_PIN_SWITCH("Ext Spk"),
@@ -374,14 +367,12 @@ static int sof_audio_probe(struct platform_device *pdev)
                sof_pcm512x_quirk = SOF_PCM512X_SSP_CODEC(2);
        } else {
                dmic_be_num = 2;
-#if IS_ENABLED(CONFIG_SND_HDA_CODEC_HDMI)
                if (mach->mach_params.common_hdmi_codec_drv &&
                    (mach->mach_params.codec_mask & IDISP_CODEC_MASK))
                        ctx->idisp_codec = true;
 
                /* links are always present in topology */
                hdmi_num = 3;
-#endif
        }
 
        dmi_check_system(sof_pcm512x_quirk_table);
index 4782031..e1c1a8b 100644 (file)
@@ -663,9 +663,7 @@ static int sof_card_dai_links_create(struct device *dev,
                                     struct snd_soc_card *card)
 {
        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;
-#endif
        struct snd_soc_dai_link_component *ssp_components;
        struct snd_soc_acpi_mach_params *mach_params;
        const struct snd_soc_acpi_link_adr *adr_link;
@@ -686,10 +684,8 @@ static int sof_card_dai_links_create(struct device *dev,
        for (i = 0; i < ARRAY_SIZE(codec_info_list); i++)
                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 ?
                                SOF_TGL_HDMI_COUNT : SOF_PRE_TGL_HDMI_COUNT;
-#endif
 
        ssp_mask = SOF_SSP_GET_PORT(sof_sdw_quirk);
        /*
@@ -849,7 +845,6 @@ DMIC:
                INC_ID(be_id, cpu_id, link_id);
        }
 
-#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
        /* HDMI */
        if (hdmi_num > 0) {
                idisp_components = devm_kcalloc(dev, hdmi_num,
@@ -886,7 +881,6 @@ DMIC:
                              sof_sdw_hdmi_init, NULL);
                INC_ID(be_id, cpu_id, link_id);
        }
-#endif
 
        card->dai_link = links;
        card->num_links = num_links;
@@ -920,9 +914,7 @@ static int mc_probe(struct platform_device *pdev)
 
        dmi_check_system(sof_sdw_quirk_table);
 
-#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
        INIT_LIST_HEAD(&ctx->hdmi_pcm_list);
-#endif
 
        card->dev = &pdev->dev;
 
index b608523..0654b38 100644 (file)
@@ -16,7 +16,6 @@
 #include "../../codecs/hdac_hdmi.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];
 
 struct hdmi_pcm {
@@ -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);
 }
-#else
-int sof_sdw_hdmi_card_late_probe(struct snd_soc_card *card)
-{
-       return 0;
-}
-#endif