ASoC: SOF: Intel: hda: add WAKEEN interrupt support for SoundWire
authorRander Wang <rander.wang@intel.com>
Wed, 25 Mar 2020 21:50:25 +0000 (16:50 -0500)
committerMark Brown <broonie@kernel.org>
Fri, 27 Mar 2020 15:16:35 +0000 (15:16 +0000)
commitbbd19cdca8279cf244a301c6a13ae5ec9e4ef976
tree93d91d82859f4de2f8763774b8ee53d1a2897cf4
parent02df8f4364b070428af0e5b6c8739c884c8ad4e7
ASoC: SOF: Intel: hda: add WAKEEN interrupt support for SoundWire

When a SoundWire link is in clock stop state, a Slave device may wake
up the Master for some events such as jack detection. The WAKEEN
interrupt will be triggered and processed by the audio pci device.

If audio device is in D3, the interrupt will be routed to PME, or
aggregated at cAVS level as interrupt when audio device is in D0. This
patch only supports D3 case, where the audio pci device will be
resumed by a PME event and the WAKEEN interrupt will be processed
after audio pci device is powered up and ROM is initialized
successfully.

The WAKEEN handling is only enabled after the first boot due to
dependencies on a shim_lock mutex being initialized.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Rander Wang <rander.wang@intel.com>
Link: https://lore.kernel.org/r/20200325215027.28716-10-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda-loader.c
sound/soc/sof/intel/hda.c
sound/soc/sof/intel/hda.h