We need new fields in existing structures to a) deal with race conditions on codec probe/enumeration b) allow for multi-step ACPI scan/probe/startup on Intel plaforms These structures will be used by the SOF driver as well as codec drivers. To avoid conflicts between ASoC and Soundwire trees, these 6 patches are provided out-of-order, before the functionality enabled in these header files is added in follow-up patch series which can be applied separately in the ASoC and Soundwire trees. As discussed earlier, Vinod would need to provide an immutable tag for Mark Brown, and the integration on the ASoC side of SOF changes and new codecs drivers can proceed in parallel with SoundWire core changes. Note that the SOF changes are not provided as a v3 today due to conflicts with other in-flight SOF cleanups to facilitate support for Device Tree devices. Those changes don't impact the interface definition suggested here but the machine driver detection for SoundWire. The changes should be ready in next week. The mapping between the patches in this series and follow-up ones shouldn't give anyone a migraine: soundwire: sdw_slave: add probe_complete structure and new fields soundwire: bus: fix race condition with probe_complete signaling soundwire: sdw_slave: add enumeration_complete structure soundwire: bus: fix race condition with enumeration_complete signaling soundwire: sdw_slave: add initialization_complete definition soundwire: bus: fix race condition with initialization_complete signaling soundwire: sdw_slave: track unattach_request to handle all init sequences soundwire: bus: fix race condition by tracking UNATTACHED transition Changes since v2: Added new field to deal with a race condition leading to a timeout when the codec goes through a pm_runtime suspend/resume transition while the Master remains active. Clarified commit messages with detailed explanations what those race conditions are and why the changes were introduced. Reordered fields for Intel routines Added kernel-doc definitions for structures Modified the patch subjects to make the mapping between interface definition and implementation straightforward. Changes since v1 (no feedback received since October 23) additional initialization_complete utility to help codec drivers with their resume operation, waiting for the enumeration to complete is not always enough. Pierre-Louis Bossart (5): soundwire: sdw_slave: add probe_complete structure and new fields soundwire: sdw_slave: add enumeration_complete structure soundwire: sdw_slave: add initialization_complete definition soundwire: sdw_slave: track unattach_request to handle all init sequences soundwire: intel: update interfaces between ASoC and SoundWire Rander Wang (1): soundwire: intel: update stream callbacks for hwparams/free stream operations drivers/soundwire/intel.c | 20 +++-- drivers/soundwire/intel.h | 13 ++-- drivers/soundwire/intel_init.c | 31 ++------ include/linux/soundwire/sdw.h | 19 +++++ include/linux/soundwire/sdw_intel.h | 109 +++++++++++++++++++++++++--- 5 files changed, 149 insertions(+), 43 deletions(-) -- 2.20.1 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel