]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: SOF: Intel: BYT: harden IPC initialization and handling
authorKeyon Jie <yang.jie@linux.intel.com>
Tue, 26 May 2020 20:36:40 +0000 (15:36 -0500)
committerMark Brown <broonie@kernel.org>
Wed, 27 May 2020 13:06:59 +0000 (14:06 +0100)
commitec27c5edae32b1cbeaf146688698427aa93321fc
treee5a5d86104b8cc4af56926cf05dacb4d1d7f93b1
parent6f7b1ce0a8dcb9fb45309bd4a308c5ac53fb3063
ASoC: SOF: Intel: BYT: harden IPC initialization and handling

On probe and reset, we should not touch the SHIM_IMRD register since
it is configured by firmware.

The driver only configures SHIM_IMRX with the BUSY interrupt enabled
by default and DONE interrupt disabled. When sending an IPC message,
the DONE interrupt is enabled until the DSP response is provided.

This sequence hardens the IPC communication and avoid
interrupt-related issues when adding/removing modules or during system
suspend-resume transitions.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20200526203640.25980-9-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/byt.c