alistair23-linux/drivers/soundwire
Pierre-Louis Bossart 310f6dc6dc soundwire: bus: filter-out unwanted interrupt reports
Unlike the traditional usage, in the SoundWire specification the
interrupt masks only gate the propagation of an interrupt condition to
the PING frame status. They do not gate the changes of the INT_STAT
registers, which will happen regardless of the mask settings. See
Figure 116 of the SoundWire 1.2 specification for an in-depth
description of the interrupt model.

When the bus driver reads the SCP_INT1_STAT register, it will retrieve
all the interrupt status, including for the mask fields that were not
explicitly set. For example, even if the PARITY mask is not set, the
PARITY error status will be reported if an implementation-defined
interrupt for jack detection is enabled and occurs.

Filtering undesired interrupt reports and handling has to be
implemented in software. This patch enables this filtering for the
INT1_IMPL_DEF, PARITY and BUS_CLASH interrupt sources.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Link: https://lore.kernel.org/r/20200908134521.6781-3-yung-chuan.liao@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2020-09-10 11:21:04 +05:30
..
bus.c soundwire: bus: filter-out unwanted interrupt reports 2020-09-10 11:21:04 +05:30
bus.h soundwire: add Slave sysfs support 2020-05-20 17:22:41 +05:30
bus_type.c soundwire: extend SDW_SLAVE_ENTRY 2020-06-30 21:26:17 +05:30
cadence_master.c soundwire: cadence: fix race condition between suspend and Slave device alerts 2020-09-09 13:14:42 +05:30
cadence_master.h soundwire: cadence: fix race condition between suspend and Slave device alerts 2020-09-09 13:14:42 +05:30
debugfs.c soundwire: debugfs: clarify SDPX license with GPL-2.0-only 2020-05-05 08:51:44 +05:30
intel.c soundwire: intel: remove stream handling from .prepare and .hw_free 2020-09-04 14:51:12 +05:30
intel.h soundwire: intel: pass link_mask information to each master 2020-09-03 16:14:39 +05:30
intel_init.c soundwire: intel_init: use FIELD_{GET|PREP} 2020-09-04 14:46:42 +05:30
Kconfig soundwire: qcom: avoid dependency on CONFIG_SLIMBUS 2020-09-07 19:47:13 +05:30
Makefile soundwire: Replace 'objs' by 'y' 2020-06-22 17:06:08 +05:30
master.c soundwire: master: enable pm runtime 2020-08-17 12:04:48 +05:30
mipi_disco.c soundwire: fix port_ready[] dynamic allocation in mipi_disco 2020-09-03 16:02:29 +05:30
qcom.c soundwire: qcom: fix SLIBMUS/SLIMBUS typo 2020-09-09 13:27:17 +05:30
slave.c soundwire: slave: use SDW_DISCO_LINK_ID() 2020-09-04 14:46:42 +05:30
stream.c soundwire: stream: fix NULL/IS_ERR confusion 2020-09-04 14:51:12 +05:30
sysfs_local.h soundwire: add Slave sysfs support 2020-05-20 17:22:41 +05:30
sysfs_slave.c soundwire: fix trailing line in sysfs_slave.c 2020-05-20 17:27:45 +05:30
sysfs_slave_dpn.c soundwire: fix spelling mistake 2020-05-20 17:29:37 +05:30