Message ID | 20240304190536.1783332-2-cezary.rojewski@intel.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | ASoC: Harden DAPM route checks and Intel fixes | expand |
On 3/4/24 13:05, Cezary Rojewski wrote: > 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> > --- > sound/soc/intel/boards/bxt_da7219_max98357a.c | 1 + > sound/soc/intel/boards/bxt_rt298.c | 1 + > sound/soc/intel/boards/glk_rt5682_max98357a.c | 1 + > sound/soc/intel/boards/kbl_da7219_max98357a.c | 1 + > sound/soc/intel/boards/kbl_da7219_max98927.c | 4 ++++ > sound/soc/intel/boards/kbl_rt5660.c | 1 + > sound/soc/intel/boards/kbl_rt5663_max98927.c | 2 ++ > sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c | 1 + > sound/soc/intel/boards/skl_hda_dsp_generic.c | 1 + This HDAudio machine driver is shared with the SOF-based solutions and I see no reason to change the route checking... I don't agree with this change. Why can't you fix the broken topologies instead, if indeed they 'carry shortcomings'? Same for glk, this an SOF-based solution. > sound/soc/intel/boards/skl_nau88l25_max98357a.c | 1 + > sound/soc/intel/boards/skl_rt286.c | 1 + > 11 files changed, 15 insertions(+)
On 2024-03-04 8:28 PM, Pierre-Louis Bossart wrote: > On 3/4/24 13:05, Cezary Rojewski wrote: >> 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> >> --- >> sound/soc/intel/boards/bxt_da7219_max98357a.c | 1 + >> sound/soc/intel/boards/bxt_rt298.c | 1 + >> sound/soc/intel/boards/glk_rt5682_max98357a.c | 1 + >> sound/soc/intel/boards/kbl_da7219_max98357a.c | 1 + >> sound/soc/intel/boards/kbl_da7219_max98927.c | 4 ++++ >> sound/soc/intel/boards/kbl_rt5660.c | 1 + >> sound/soc/intel/boards/kbl_rt5663_max98927.c | 2 ++ >> sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c | 1 + >> sound/soc/intel/boards/skl_hda_dsp_generic.c | 1 + > > This HDAudio machine driver is shared with the SOF-based solutions and I > see no reason to change the route checking... > > I don't agree with this change. Why can't you fix the broken topologies > instead, if indeed they 'carry shortcomings'? > > Same for glk, this an SOF-based solution. Perhaps the flag could be set conditionally for those two? Even when you address the problem in the topology file, you do not get any confirmation user replaced the invalid file. skylake-driver topology were not part of any firmware-alike package. Please note that I actually did all that I believe could be done to repair those topologies and provided valid references at avs-topology/for-skylake-driver [1]. [1]: https://github.com/thesofproject/avs-topology-xml/tree/for-skylake-driver
On 3/4/24 14:40, Cezary Rojewski wrote: > On 2024-03-04 8:28 PM, Pierre-Louis Bossart wrote: >> On 3/4/24 13:05, Cezary Rojewski wrote: >>> 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> >>> --- >>> sound/soc/intel/boards/bxt_da7219_max98357a.c | 1 + >>> sound/soc/intel/boards/bxt_rt298.c | 1 + >>> sound/soc/intel/boards/glk_rt5682_max98357a.c | 1 + >>> sound/soc/intel/boards/kbl_da7219_max98357a.c | 1 + >>> sound/soc/intel/boards/kbl_da7219_max98927.c | 4 ++++ >>> sound/soc/intel/boards/kbl_rt5660.c | 1 + >>> sound/soc/intel/boards/kbl_rt5663_max98927.c | 2 ++ >>> sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c | 1 + >>> sound/soc/intel/boards/skl_hda_dsp_generic.c | 1 + >> >> This HDAudio machine driver is shared with the SOF-based solutions and I >> see no reason to change the route checking... >> >> I don't agree with this change. Why can't you fix the broken topologies >> instead, if indeed they 'carry shortcomings'? >> >> Same for glk, this an SOF-based solution. > > Perhaps the flag could be set conditionally for those two? > > Even when you address the problem in the topology file, you do not get > any confirmation user replaced the invalid file. skylake-driver topology > were not part of any firmware-alike package. Please note that I actually > did all that I believe could be done to repair those topologies and > provided valid references at avs-topology/for-skylake-driver [1]. Humm, the commit daa480bde6b3 ("ASoC: soc-core: tidyup for snd_soc_dapm_add_routes()") dates from August 2019 and was included in kernel 5.4. Why are we seeing issues on route checks with the Skylake driver in 2024? Are we saying that the card creation failed for the last 5 years? I must be missing something here.
On 2024-03-04 10:02 PM, Pierre-Louis Bossart wrote: > > > On 3/4/24 14:40, Cezary Rojewski wrote: >> On 2024-03-04 8:28 PM, Pierre-Louis Bossart wrote: >>> On 3/4/24 13:05, Cezary Rojewski wrote: >>>> 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> >>>> --- >>>> sound/soc/intel/boards/bxt_da7219_max98357a.c | 1 + >>>> sound/soc/intel/boards/bxt_rt298.c | 1 + >>>> sound/soc/intel/boards/glk_rt5682_max98357a.c | 1 + >>>> sound/soc/intel/boards/kbl_da7219_max98357a.c | 1 + >>>> sound/soc/intel/boards/kbl_da7219_max98927.c | 4 ++++ >>>> sound/soc/intel/boards/kbl_rt5660.c | 1 + >>>> sound/soc/intel/boards/kbl_rt5663_max98927.c | 2 ++ >>>> sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c | 1 + >>>> sound/soc/intel/boards/skl_hda_dsp_generic.c | 1 + >>> >>> This HDAudio machine driver is shared with the SOF-based solutions and I >>> see no reason to change the route checking... >>> >>> I don't agree with this change. Why can't you fix the broken topologies >>> instead, if indeed they 'carry shortcomings'? >>> >>> Same for glk, this an SOF-based solution. >> >> Perhaps the flag could be set conditionally for those two? >> >> Even when you address the problem in the topology file, you do not get >> any confirmation user replaced the invalid file. skylake-driver topology >> were not part of any firmware-alike package. Please note that I actually >> did all that I believe could be done to repair those topologies and >> provided valid references at avs-topology/for-skylake-driver [1]. > > Humm, the commit daa480bde6b3 ("ASoC: soc-core: tidyup for > snd_soc_dapm_add_routes()") dates from August 2019 and was included in > kernel 5.4. > > Why are we seeing issues on route checks with the Skylake driver in > 2024? Are we saying that the card creation failed for the last 5 years? > > I must be missing something here. Nah, no customer would allow that kind of delay :D Unfortunately, nothing out of ordinary. In 2018/19/20 we had to fix everything "immediately" and not everything got pushed to upstream-users.
diff --git a/sound/soc/intel/boards/bxt_da7219_max98357a.c b/sound/soc/intel/boards/bxt_da7219_max98357a.c index 540f7a29310a..3fe3f38c6cb6 100644 --- a/sound/soc/intel/boards/bxt_da7219_max98357a.c +++ b/sound/soc/intel/boards/bxt_da7219_max98357a.c @@ -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, }; diff --git a/sound/soc/intel/boards/bxt_rt298.c b/sound/soc/intel/boards/bxt_rt298.c index c0eb65c14aa9..afc499be8db2 100644 --- a/sound/soc/intel/boards/bxt_rt298.c +++ b/sound/soc/intel/boards/bxt_rt298.c @@ -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, }; diff --git a/sound/soc/intel/boards/glk_rt5682_max98357a.c b/sound/soc/intel/boards/glk_rt5682_max98357a.c index 657e4658234c..695ba9855233 100644 --- a/sound/soc/intel/boards/glk_rt5682_max98357a.c +++ b/sound/soc/intel/boards/glk_rt5682_max98357a.c @@ -613,6 +613,7 @@ static struct snd_soc_card glk_audio_card_rt5682_m98357a = { .dapm_routes = geminilake_map, .num_dapm_routes = ARRAY_SIZE(geminilake_map), .fully_routed = true, + .disable_route_checks = true, .late_probe = glk_card_late_probe, }; diff --git a/sound/soc/intel/boards/kbl_da7219_max98357a.c b/sound/soc/intel/boards/kbl_da7219_max98357a.c index a5d8965303a8..9dbc15f9d1c9 100644 --- a/sound/soc/intel/boards/kbl_da7219_max98357a.c +++ b/sound/soc/intel/boards/kbl_da7219_max98357a.c @@ -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, }; diff --git a/sound/soc/intel/boards/kbl_da7219_max98927.c b/sound/soc/intel/boards/kbl_da7219_max98927.c index 98c11ec0adc0..e662da5af83b 100644 --- a/sound/soc/intel/boards/kbl_da7219_max98927.c +++ b/sound/soc/intel/boards/kbl_da7219_max98927.c @@ -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, }; diff --git a/sound/soc/intel/boards/kbl_rt5660.c b/sound/soc/intel/boards/kbl_rt5660.c index 30e0aca161cd..894d127c482a 100644 --- a/sound/soc/intel/boards/kbl_rt5660.c +++ b/sound/soc/intel/boards/kbl_rt5660.c @@ -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, }; diff --git a/sound/soc/intel/boards/kbl_rt5663_max98927.c b/sound/soc/intel/boards/kbl_rt5663_max98927.c index 9071b1f1cbd0..646e8ff8e961 100644 --- a/sound/soc/intel/boards/kbl_rt5663_max98927.c +++ b/sound/soc/intel/boards/kbl_rt5663_max98927.c @@ -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, }; diff --git a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c index 178fe9c37df6..924d5d1de03a 100644 --- a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c +++ b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c @@ -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, }; diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c index 6e172719c979..54e8af2e10cc 100644 --- a/sound/soc/intel/boards/skl_hda_dsp_generic.c +++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c @@ -100,6 +100,7 @@ static struct snd_soc_card hda_soc_card = { .dapm_routes = skl_hda_map, .add_dai_link = skl_hda_add_dai_link, .fully_routed = true, + .disable_route_checks = true, .late_probe = skl_hda_card_late_probe, }; diff --git a/sound/soc/intel/boards/skl_nau88l25_max98357a.c b/sound/soc/intel/boards/skl_nau88l25_max98357a.c index 0e7025834594..e4630c33176e 100644 --- a/sound/soc/intel/boards/skl_nau88l25_max98357a.c +++ b/sound/soc/intel/boards/skl_nau88l25_max98357a.c @@ -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, }; diff --git a/sound/soc/intel/boards/skl_rt286.c b/sound/soc/intel/boards/skl_rt286.c index c59c60e28091..9a8044274908 100644 --- a/sound/soc/intel/boards/skl_rt286.c +++ b/sound/soc/intel/boards/skl_rt286.c @@ -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, };
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> --- sound/soc/intel/boards/bxt_da7219_max98357a.c | 1 + sound/soc/intel/boards/bxt_rt298.c | 1 + sound/soc/intel/boards/glk_rt5682_max98357a.c | 1 + sound/soc/intel/boards/kbl_da7219_max98357a.c | 1 + sound/soc/intel/boards/kbl_da7219_max98927.c | 4 ++++ sound/soc/intel/boards/kbl_rt5660.c | 1 + sound/soc/intel/boards/kbl_rt5663_max98927.c | 2 ++ sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c | 1 + sound/soc/intel/boards/skl_hda_dsp_generic.c | 1 + sound/soc/intel/boards/skl_nau88l25_max98357a.c | 1 + sound/soc/intel/boards/skl_rt286.c | 1 + 11 files changed, 15 insertions(+)