summaryrefslogtreecommitdiffstats
path: root/drivers/soundwire/slave.c
diff options
context:
space:
mode:
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>2020-09-08 15:45:17 +0200
committerVinod Koul <vkoul@kernel.org>2020-09-10 07:51:04 +0200
commitc2819e196b3cc1901a4612f72e66da4821966a5e (patch)
tree6376e8c559d1c32f780542db0d2be95453e7b6a0 /drivers/soundwire/slave.c
parentsoundwire: bus: filter-out unwanted interrupt reports (diff)
downloadlinux-c2819e196b3cc1901a4612f72e66da4821966a5e.tar.xz
linux-c2819e196b3cc1901a4612f72e66da4821966a5e.zip
soundwire: slave: add first_interrupt_done status
Some Slaves report incorrect information in their interrupt status registers after a master/bus reset, track the initial interrupt handling so that quirks can be introduced to filter out incorrect information while keeping interrupts enabled in steady state. 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-4-yung-chuan.liao@linux.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/soundwire/slave.c')
-rw-r--r--drivers/soundwire/slave.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/soundwire/slave.c b/drivers/soundwire/slave.c
index 2191dd6e7aa4..4a250d33de5d 100644
--- a/drivers/soundwire/slave.c
+++ b/drivers/soundwire/slave.c
@@ -58,6 +58,7 @@ static int sdw_slave_add(struct sdw_bus *bus,
slave->dev_num = 0;
init_completion(&slave->probe_complete);
slave->probed = false;
+ slave->first_interrupt_done = false;
for (i = 0; i < SDW_MAX_PORTS; i++)
init_completion(&slave->port_ready[i]);