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
next 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: linkBe 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.