All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: alsa-devel@alsa-project.org
Cc: linux-kernel@vger.kernel.org, tiwai@suse.de, broonie@kernel.org,
	vkoul@kernel.org, gregkh@linuxfoundation.org, jank@cadence.com,
	srinivas.kandagatla@linaro.org, slawomir.blauciak@intel.com,
	Bard liao <yung-chuan.liao@linux.intel.com>,
	Rander Wang <rander.wang@linux.intel.com>,
	Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Subject: [PATCH 00/10] soundwire: bus: fix race conditions, add suspend-resume
Date: Tue, 14 Jan 2020 18:08:34 -0600	[thread overview]
Message-ID: <20200115000844.14695-1-pierre-louis.bossart@linux.intel.com> (raw)

The existing mainline code for SoundWire does not handle critical race
conditions, and does not have any support for pm_runtime suspend or
clock-stop modes needed for e.g. jack detection or external VAD.

As suggested by Vinod, these patches for the bus are shared first -
with the risk that they are separated from their actual use in Intel
drivers, so reviewers might wonder why they are needed in the first
place.

For reference, the complete set of 90+ patches required for SoundWire
on Intel platforms is available here:

https://github.com/thesofproject/linux/pull/1692

These patches are not Intel-specific and are likely required for
e.g. Qualcomm-based implementations.

All the patches in this series were generated during the joint
Intel-Realtek validation effort on Intel reference designs and
form-factor devices. The support for the initialization_complete
signaling is already available in the Realtek codecs drivers merged in
the ASoC tree (rt700, rt711, rt1308, rt715)

Pierre-Louis Bossart (8):
  soundwire: bus: fix race condition with probe_complete signaling
  soundwire: bus: fix race condition with enumeration_complete signaling
  soundwire: bus: fix race condition with initialization_complete
    signaling
  soundwire: bus: add PM/no-PM versions of read/write functions
  soundwire: bus: write Slave Device Number without runtime_pm
  soundwire: bus: add helper to clear Slave status to UNATTACHED
  soundwire: bus: disable pm_runtime in sdw_slave_delete
  soundwire: bus: don't treat CMD_IGNORED as error on ClockStop

Rander Wang (2):
  soundwire: bus: fix io error when processing alert event
  soundwire: bus: add clock stop helpers

 drivers/soundwire/bus.c       | 509 ++++++++++++++++++++++++++++++++--
 drivers/soundwire/bus.h       |   9 +
 drivers/soundwire/bus_type.c  |   5 +
 drivers/soundwire/slave.c     |   4 +
 include/linux/soundwire/sdw.h |  24 ++
 5 files changed, 526 insertions(+), 25 deletions(-)

-- 
2.20.1


WARNING: multiple messages have this Message-ID (diff)
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: alsa-devel@alsa-project.org
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
	tiwai@suse.de, gregkh@linuxfoundation.org,
	linux-kernel@vger.kernel.org,
	Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
	vkoul@kernel.org, broonie@kernel.org,
	srinivas.kandagatla@linaro.org, jank@cadence.com,
	slawomir.blauciak@intel.com,
	Bard liao <yung-chuan.liao@linux.intel.com>,
	Rander Wang <rander.wang@linux.intel.com>
Subject: [alsa-devel] [PATCH 00/10] soundwire: bus: fix race conditions, add suspend-resume
Date: Tue, 14 Jan 2020 18:08:34 -0600	[thread overview]
Message-ID: <20200115000844.14695-1-pierre-louis.bossart@linux.intel.com> (raw)

The existing mainline code for SoundWire does not handle critical race
conditions, and does not have any support for pm_runtime suspend or
clock-stop modes needed for e.g. jack detection or external VAD.

As suggested by Vinod, these patches for the bus are shared first -
with the risk that they are separated from their actual use in Intel
drivers, so reviewers might wonder why they are needed in the first
place.

For reference, the complete set of 90+ patches required for SoundWire
on Intel platforms is available here:

https://github.com/thesofproject/linux/pull/1692

These patches are not Intel-specific and are likely required for
e.g. Qualcomm-based implementations.

All the patches in this series were generated during the joint
Intel-Realtek validation effort on Intel reference designs and
form-factor devices. The support for the initialization_complete
signaling is already available in the Realtek codecs drivers merged in
the ASoC tree (rt700, rt711, rt1308, rt715)

Pierre-Louis Bossart (8):
  soundwire: bus: fix race condition with probe_complete signaling
  soundwire: bus: fix race condition with enumeration_complete signaling
  soundwire: bus: fix race condition with initialization_complete
    signaling
  soundwire: bus: add PM/no-PM versions of read/write functions
  soundwire: bus: write Slave Device Number without runtime_pm
  soundwire: bus: add helper to clear Slave status to UNATTACHED
  soundwire: bus: disable pm_runtime in sdw_slave_delete
  soundwire: bus: don't treat CMD_IGNORED as error on ClockStop

Rander Wang (2):
  soundwire: bus: fix io error when processing alert event
  soundwire: bus: add clock stop helpers

 drivers/soundwire/bus.c       | 509 ++++++++++++++++++++++++++++++++--
 drivers/soundwire/bus.h       |   9 +
 drivers/soundwire/bus_type.c  |   5 +
 drivers/soundwire/slave.c     |   4 +
 include/linux/soundwire/sdw.h |  24 ++
 5 files changed, 526 insertions(+), 25 deletions(-)

-- 
2.20.1

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

             reply	other threads:[~2020-01-15  0:09 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-15  0:08 Pierre-Louis Bossart [this message]
2020-01-15  0:08 ` [alsa-devel] [PATCH 00/10] soundwire: bus: fix race conditions, add suspend-resume Pierre-Louis Bossart
2020-01-15  0:08 ` [PATCH 01/10] soundwire: bus: fix race condition with probe_complete signaling Pierre-Louis Bossart
2020-01-15  0:08   ` [alsa-devel] " Pierre-Louis Bossart
2020-01-15  0:08 ` [PATCH 02/10] soundwire: bus: fix race condition with enumeration_complete signaling Pierre-Louis Bossart
2020-01-15  0:08   ` [alsa-devel] " Pierre-Louis Bossart
2020-01-15  0:08 ` [PATCH 03/10] soundwire: bus: fix race condition with initialization_complete signaling Pierre-Louis Bossart
2020-01-15  0:08   ` [alsa-devel] " Pierre-Louis Bossart
2020-01-15  0:08 ` [PATCH 04/10] soundwire: bus: add PM/no-PM versions of read/write functions Pierre-Louis Bossart
2020-01-15  0:08   ` [alsa-devel] " Pierre-Louis Bossart
2020-01-15  0:08 ` [PATCH 05/10] soundwire: bus: write Slave Device Number without runtime_pm Pierre-Louis Bossart
2020-01-15  0:08   ` [alsa-devel] " Pierre-Louis Bossart
2020-01-15  0:08 ` [PATCH 06/10] soundwire: bus: add helper to clear Slave status to UNATTACHED Pierre-Louis Bossart
2020-01-15  0:08   ` [alsa-devel] " Pierre-Louis Bossart
2020-01-15  0:08 ` [PATCH 07/10] soundwire: bus: disable pm_runtime in sdw_slave_delete Pierre-Louis Bossart
2020-01-15  0:08   ` [alsa-devel] " Pierre-Louis Bossart
2020-01-15  0:08 ` [PATCH 08/10] soundwire: bus: fix io error when processing alert event Pierre-Louis Bossart
2020-01-15  0:08   ` [alsa-devel] " Pierre-Louis Bossart
2020-01-15  0:08 ` [PATCH 09/10] soundwire: bus: add clock stop helpers Pierre-Louis Bossart
2020-01-15  0:08   ` [alsa-devel] " Pierre-Louis Bossart
2020-01-15  0:08 ` [PATCH 10/10] soundwire: bus: don't treat CMD_IGNORED as error on ClockStop Pierre-Louis Bossart
2020-01-15  0:08   ` [alsa-devel] " Pierre-Louis Bossart
2020-02-10 14:30 ` [alsa-devel] [PATCH 00/10] soundwire: bus: fix race conditions, add suspend-resume Pierre-Louis Bossart
2020-02-10 14:30   ` Pierre-Louis Bossart
2020-02-25 10:27 ` Vinod Koul
2020-02-25 10:27   ` Vinod Koul
2020-02-25 15:23   ` Pierre-Louis Bossart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200115000844.14695-1-pierre-louis.bossart@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jank@cadence.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rander.wang@linux.intel.com \
    --cc=ranjani.sridharan@linux.intel.com \
    --cc=slawomir.blauciak@intel.com \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=tiwai@suse.de \
    --cc=vkoul@kernel.org \
    --cc=yung-chuan.liao@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.