[PATCH 0/2] ASoC: SOF/soundwire: use resume_and_get on component probe

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Thu Jun 16 23:08:23 CEST 2022


While testing driver bind/unbind sequences, I stumbled on a corner
case where the SoundWire bus can be suspended before the ASoC card
registration happens. During the registration, register accesses would
then lead to timeouts. This does not happen in regular usages where
the card registration happens within the 3-second time window before
suspend.

Adding a simple pm_runtime_resume_and_get() on component probe solves
the issue, but experiments showed it was too invasive to add at the
ASoC core level, with multiple regressions reported by our CI.

This patchset limits the additional resume to the SOF and SoundWire
codec drivers. An additional patch for the soundwire/intel component
will be sent separately.

Pierre-Louis Bossart (2):
  ASoC: SOF: pcm: use pm_resume_and_get() on component probe
  ASoC: codecs: soundwire: call pm_runtime_resume() in component probe

 sound/soc/codecs/max98373.c   | 14 +++++++++++++-
 sound/soc/codecs/rt1308-sdw.c | 12 ++++++++++++
 sound/soc/codecs/rt1316-sdw.c | 12 ++++++++++++
 sound/soc/codecs/rt700.c      |  5 +++++
 sound/soc/codecs/rt711-sdca.c |  5 +++++
 sound/soc/codecs/rt711.c      |  5 +++++
 sound/soc/codecs/rt715-sdca.c | 12 ++++++++++++
 sound/soc/codecs/rt715.c      | 12 ++++++++++++
 sound/soc/sof/pcm.c           | 11 +++++++++++
 9 files changed, 87 insertions(+), 1 deletion(-)

-- 
2.34.1



More information about the Alsa-devel mailing list