ASOC: Intel: sof_sdw: restore playback functionality with max98373 amps
authorRander Wang <rander.wang@intel.com>
Wed, 23 Sep 2020 08:05:09 +0000 (11:05 +0300)
committerMark Brown <broonie@kernel.org>
Wed, 23 Sep 2020 17:13:17 +0000 (18:13 +0100)
commit7cc3b56f7324ae120cf3ce57cf0366398eb02f60
tree2259576ce90e3776b2e42b60353374121e9f488a
parente787f5b5b14061bf76518d780b9bc0e9e7dd2739
ASOC: Intel: sof_sdw: restore playback functionality with max98373 amps

The Max98373 amplifier provides I/V feedback information, which keeps
a DAPM path active even when there is no playback happening. This
prevents entry in low-power mode. Rather than adding new controls and
require UCM/user interaction, the method previously applied is to
enable/disable the Speaker pin during the dailink trigger operations.

Recent changes in the SoundWire stream management moved the stream
trigger to the dailink trigger. This change removed the Maxim-specific
pin handling and resulted in a regression. This patch restores
functionality by combining the SoundWire stream trigger with the pin
enable/disable.

Fixes: ae3a3918edf57 ('ASoC: Intel: sof_sdw: add dailink .trigger callback')
Fixes: 06998d49bcac8 ('ASoC: Intel: sof_sdw: add dailink .prepare and .hw_free callback')
Signed-off-by: Rander Wang <rander.wang@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Keyon Jie <yang.jie@linux.intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20200923080514.3242858-2-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/sof_sdw.c
sound/soc/intel/boards/sof_sdw_common.h
sound/soc/intel/boards/sof_sdw_max98373.c