linux/drivers/soundwire
Pierre-Louis Bossart 32d2a8935b soundwire: cadence: add parity error injection through debugfs
The Cadence IP can inject errors, let's make use of this capability to
test Slave parity error checks.

See e.g. example log where both the master and slave detect the parity
error injected on a dummy read command.

cd /sys/kernel/debug/soundwire/master-1/intel-sdw/
echo 1 > cdns-parity-error-injection

[   44.756249] intel-master sdw-master-1: Parity error
[   44.756313] intel-master sdw-master-1: Msg NACK received
[   44.756366] intel-master sdw-master-1: Msg NACKed for Slave 15
[   44.756375] intel-master sdw-master-1: trf on Slave 15 failed:-5
[   44.756382] intel-master sdw-master-1: parity error injection, read: -5
[   44.756649] rt1308 sdw:1:25d:1308:0: Parity error detected

The code makes sure the Master device is resumed, hence the clock
restarted, before sending a parity error.

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-8-yung-chuan.liao@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2020-09-10 11:21:05 +05:30
..
bus_type.c soundwire: extend SDW_SLAVE_ENTRY 2020-06-30 21:26:17 +05:30
bus.c soundwire: bus: export broadcast read/write capability for tests 2020-09-10 11:21:05 +05:30
bus.h soundwire: bus: export broadcast read/write capability for tests 2020-09-10 11:21:05 +05:30
cadence_master.c soundwire: cadence: add parity error injection through debugfs 2020-09-10 11:21:05 +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_init.c soundwire: intel_init: use FIELD_{GET|PREP} 2020-09-04 14:46:42 +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
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: add first_interrupt_done status 2020-09-10 11:21:04 +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_dpn.c soundwire: fix spelling mistake 2020-05-20 17:29:37 +05:30
sysfs_slave.c soundwire: fix trailing line in sysfs_slave.c 2020-05-20 17:27:45 +05:30