ASoC: Intel: Disable route checks for Skylake boards
authorCezary Rojewski <cezary.rojewski@intel.com>
Fri, 8 Mar 2024 09:04:58 +0000 (10:04 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 25 Mar 2024 00:32:37 +0000 (00:32 +0000)
Topology files that are propagated to the world and utilized by the
skylake-driver carry shortcomings in their SectionGraphs.

Since commit daa480bde6b3 ("ASoC: soc-core: tidyup for
snd_soc_dapm_add_routes()") route checks are no longer permissive. Probe
failures for Intel boards have been partially addressed by commit
a22ae72b86a4 ("ASoC: soc-core: disable route checks for legacy devices")
and its follow up but only skl_nau88l25_ssm4567.c is patched. Fix the
problem for the rest of the boards.

Link: https://lore.kernel.org/all/20200309192744.18380-1-pierre-louis.bossart@linux.intel.com/
Fixes: daa480bde6b3 ("ASoC: soc-core: tidyup for snd_soc_dapm_add_routes()")
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://msgid.link/r/20240308090502.2136760-2-cezary.rojewski@intel.com
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/bxt_da7219_max98357a.c
sound/soc/intel/boards/bxt_rt298.c
sound/soc/intel/boards/glk_rt5682_max98357a.c
sound/soc/intel/boards/kbl_da7219_max98357a.c
sound/soc/intel/boards/kbl_da7219_max98927.c
sound/soc/intel/boards/kbl_rt5660.c
sound/soc/intel/boards/kbl_rt5663_max98927.c
sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
sound/soc/intel/boards/skl_hda_dsp_generic.c
sound/soc/intel/boards/skl_nau88l25_max98357a.c
sound/soc/intel/boards/skl_rt286.c

index 540f7a29310a9f8f467af23540332db091a783b9..3fe3f38c6cb698c364028234dc551c885be13ed5 100644 (file)
@@ -768,6 +768,7 @@ static struct snd_soc_card broxton_audio_card = {
        .dapm_routes = audio_map,
        .num_dapm_routes = ARRAY_SIZE(audio_map),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = bxt_card_late_probe,
 };
 
index c0eb65c14aa97b4b9d14163bf4e957dcaedbea69..afc499be8db2601a4659ebeb38df64dbe2b0d54a 100644 (file)
@@ -574,6 +574,7 @@ static struct snd_soc_card broxton_rt298 = {
        .dapm_routes = broxton_rt298_map,
        .num_dapm_routes = ARRAY_SIZE(broxton_rt298_map),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = bxt_card_late_probe,
 
 };
index 657e4658234ce62023a62ee2b3891dd5e1fe1d6a..4098b2d32f9bc8bc5f381d856f703c28a9240c68 100644 (file)
@@ -649,6 +649,8 @@ static int geminilake_audio_probe(struct platform_device *pdev)
        card = &glk_audio_card_rt5682_m98357a;
        card->dev = &pdev->dev;
        snd_soc_card_set_drvdata(card, ctx);
+       if (!snd_soc_acpi_sof_parent(&pdev->dev))
+               card->disable_route_checks = true;
 
        /* override platform name, if required */
        mach = pdev->dev.platform_data;
index a5d8965303a88352b7078bb6428d0d7d26c23485..9dbc15f9d1c9b69f64360399dc5cf8a08461f487 100644 (file)
@@ -639,6 +639,7 @@ static struct snd_soc_card kabylake_audio_card_da7219_m98357a = {
        .dapm_routes = kabylake_map,
        .num_dapm_routes = ARRAY_SIZE(kabylake_map),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
index 98c11ec0adc01d1d923044294ecbc43cce035466..e662da5af83b591e6cf648ebebd3479202a6a1e9 100644 (file)
@@ -1036,6 +1036,7 @@ static struct snd_soc_card kbl_audio_card_da7219_m98927 = {
        .codec_conf = max98927_codec_conf,
        .num_configs = ARRAY_SIZE(max98927_codec_conf),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
@@ -1054,6 +1055,7 @@ static struct snd_soc_card kbl_audio_card_max98927 = {
        .codec_conf = max98927_codec_conf,
        .num_configs = ARRAY_SIZE(max98927_codec_conf),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
@@ -1071,6 +1073,7 @@ static struct snd_soc_card kbl_audio_card_da7219_m98373 = {
        .codec_conf = max98373_codec_conf,
        .num_configs = ARRAY_SIZE(max98373_codec_conf),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
@@ -1088,6 +1091,7 @@ static struct snd_soc_card kbl_audio_card_max98373 = {
        .codec_conf = max98373_codec_conf,
        .num_configs = ARRAY_SIZE(max98373_codec_conf),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
index 30e0aca161cd50eaf2d9a9226993b36acf20a102..894d127c482a3beacba85b6b24434ac31213144c 100644 (file)
@@ -518,6 +518,7 @@ static struct snd_soc_card kabylake_audio_card_rt5660 = {
        .dapm_routes = kabylake_rt5660_map,
        .num_dapm_routes = ARRAY_SIZE(kabylake_rt5660_map),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
index 9071b1f1cbd00bb43af4d5d7c5e63b2e68561aac..646e8ff8e96193e3745952b5aaf41948390fa303 100644 (file)
@@ -966,6 +966,7 @@ static struct snd_soc_card kabylake_audio_card_rt5663_m98927 = {
        .codec_conf = max98927_codec_conf,
        .num_configs = ARRAY_SIZE(max98927_codec_conf),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
@@ -982,6 +983,7 @@ static struct snd_soc_card kabylake_audio_card_rt5663 = {
        .dapm_routes = kabylake_5663_map,
        .num_dapm_routes = ARRAY_SIZE(kabylake_5663_map),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
index 178fe9c37df6285b4be8552be4334d503efd82e1..924d5d1de03acafdf440af8a0a485407fe635878 100644 (file)
@@ -791,6 +791,7 @@ static struct snd_soc_card kabylake_audio_card = {
        .codec_conf = max98927_codec_conf,
        .num_configs = ARRAY_SIZE(max98927_codec_conf),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
index 6e172719c9795b1aa0932f7c7bde8285dbd83c55..4aa7fd2a05e466d3f9ff2ad52e0d1cc4be780443 100644 (file)
@@ -227,6 +227,8 @@ static int skl_hda_audio_probe(struct platform_device *pdev)
        ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv;
 
        hda_soc_card.dev = &pdev->dev;
+       if (!snd_soc_acpi_sof_parent(&pdev->dev))
+               hda_soc_card.disable_route_checks = true;
 
        if (mach->mach_params.dmic_num > 0) {
                snprintf(hda_soc_components, sizeof(hda_soc_components),
index 0e7025834594a4ee8c61e65aca03e7827e1fc95c..e4630c33176e2366bb3b006421d230f71e6a3982 100644 (file)
@@ -654,6 +654,7 @@ static struct snd_soc_card skylake_audio_card = {
        .dapm_routes = skylake_map,
        .num_dapm_routes = ARRAY_SIZE(skylake_map),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = skylake_card_late_probe,
 };
 
index c59c60e2809160a8482e09a516d3744045b27dce..9a804427490817446eaee18440d7bbde87f6d79f 100644 (file)
@@ -523,6 +523,7 @@ static struct snd_soc_card skylake_rt286 = {
        .dapm_routes = skylake_rt286_map,
        .num_dapm_routes = ARRAY_SIZE(skylake_rt286_map),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = skylake_card_late_probe,
 };