kernel_optimize_test/drivers/soundwire
Pierre-Louis Bossart af4cc91782 soundwire: cadence: mask Slave interrupt before stopping clock
Intel QA reported a very rare case, possibly hardware-dependent, where
a Slave can become UNATTACHED during a clock stop sequence, which
leads to timeouts and failed suspend sequences.

This patch suppresses the handling of all Slave events while this
transition happens. The two cases that matter are:

a) alerts: if the Slave wants to signal an alert condition, it can do
so using the in-band wake, so there's almost no impact with this
patch.

b) sync loss or imp-def reset: in those cases, bringing back the Slave
to functional state requires a complete re-enumeration. It's better to
just ignore this case and restart cleanly, rather than attempt a
'clean' suspend.

Validation results show the timeouts no longer visible with this patch.

GitHub issue: https://github.com/thesofproject/linux/issues/1678
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20200317163329.25501-8-pierre-louis.bossart@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2020-03-19 12:43:04 +05:30
..
bus_type.c soundwire: bus: fix race condition with probe_complete signaling 2020-02-25 15:57:01 +05:30
bus.c soundwire: bus: provide correct return value on error 2020-03-03 10:28:46 +05:30
bus.h soundwire: bus: add helper to clear Slave status to UNATTACHED 2020-02-25 15:57:02 +05:30
cadence_master.c soundwire: cadence: mask Slave interrupt before stopping clock 2020-03-19 12:43:04 +05:30
cadence_master.h soundwire: cadence: add clock_stop/restart routines 2020-03-19 12:43:03 +05:30
debugfs.c soundwire: add debugfs support 2019-08-23 12:01:02 +05:30
intel_init.c soundwire: intel: update stream callbacks for hwparams/free stream operations 2019-12-12 09:17:06 +05:30
intel.c soundwire: cadence: simplifiy cdns_init() 2020-03-19 12:43:03 +05:30
intel.h soundwire: intel: update stream callbacks for hwparams/free stream operations 2019-12-12 09:17:06 +05:30
Kconfig soundwire: qcom: add support for SoundWire controller 2020-01-14 11:57:47 +05:30
Makefile soundwire: qcom: add support for SoundWire controller 2020-01-14 11:57:47 +05:30
mipi_disco.c soundwire: mipi_disco: Switch to use fwnode_property_count_uXX() 2019-08-02 17:15:13 +05:30
qcom.c soundwire: qcom: add support for SoundWire controller 2020-01-14 11:57:47 +05:30
slave.c soundwire: bus: fix race condition with initialization_complete signaling 2020-02-25 15:57:02 +05:30
stream.c soundwire: stream: use sdw_write instead of update 2020-03-13 18:06:05 +05:30