diff options
| author | Mark Brown <broonie@kernel.org> | 2021-08-06 01:46:24 +0100 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2021-08-06 01:46:24 +0100 |
| commit | ddaa1ed52c5da64fe9adf1d5ea6202cda3a53eea (patch) | |
| tree | 119c5b9dcf67841af4a92f3d3a9b5e4efcc4557b /sound/soc/sof/intel/hda.c | |
| parent | 585fb31c2c3aad38a5add009171d7e3277b76d45 (diff) | |
| parent | e2f6867299ac85ce227eee18be11ce2c4a568447 (diff) | |
Merge some cs42l42 patches into asoc-5.15
Diffstat (limited to 'sound/soc/sof/intel/hda.c')
| -rw-r--r-- | sound/soc/sof/intel/hda.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c index b4e35fbbe693..f60e2c57d3d0 100644 --- a/sound/soc/sof/intel/hda.c +++ b/sound/soc/sof/intel/hda.c @@ -200,12 +200,16 @@ static int hda_sdw_probe(struct snd_sof_dev *sdev) int hda_sdw_startup(struct snd_sof_dev *sdev) { struct sof_intel_hda_dev *hdev; + struct snd_sof_pdata *pdata = sdev->pdata; hdev = sdev->pdata->hw_pdata; if (!hdev->sdw) return 0; + if (pdata->machine && !pdata->machine->mach_params.link_mask) + return 0; + return sdw_intel_startup(hdev->sdw); } @@ -1015,6 +1019,14 @@ static int hda_generic_machine_select(struct snd_sof_dev *sdev) hda_mach->mach_params.dmic_num = dmic_num; pdata->machine = hda_mach; pdata->tplg_filename = tplg_filename; + + if (codec_num == 2) { + /* + * Prevent SoundWire links from starting when an external + * HDaudio codec is used + */ + hda_mach->mach_params.link_mask = 0; + } } } |
