Message ID | 20230323054452.1543233-9-yung-chuan.liao@linux.intel.com |
---|---|
State | New |
Headers | show |
Series | ASoC/soundwire: add support for ACE2.x | expand |
On Thu, Mar 23, 2023 at 01:44:40PM +0800, Bard Liao wrote: > From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> > > Use new helper and interface to make sure the HDaudio and SoundWire > parts use the same mutex when accessing shared registers. Acked-by: Mark Brown <broonie@kernel.org>
diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c index 22eba57bb3e6..f8cd5a9ebad1 100644 --- a/sound/soc/sof/intel/hda.c +++ b/sound/soc/sof/intel/hda.c @@ -215,6 +215,15 @@ static int hda_sdw_probe(struct snd_sof_dev *sdev) res.alh_base = hdev->desc->sdw_alh_base; res.ext = false; } else { + /* + * retrieve eml_lock needed to protect shared registers + * in the HDaudio multi-link areas + */ + res.eml_lock = hdac_bus_eml_get_mutex(sof_to_bus(sdev), true, + AZX_REG_ML_LEPTR_ID_SDW); + if (!res.eml_lock) + return -ENODEV; + res.mmio_base = sdev->bar[HDA_DSP_HDA_BAR]; /* * the SHIM and SoundWire register offsets are link-specific