ASoC: SOF: Intel: hda: retrieve SoundWire eml_lock and pass pointer
Use new helper and interface to make sure the HDaudio and SoundWire parts use the same mutex when accessing shared registers. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Acked-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20230515071042.2038-9-yung-chuan.liao@linux.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
ec2c9dbe53
commit
be1798d0d7
|
@ -175,6 +175,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
|
||||
|
|
Loading…
Reference in New Issue