Currently, in the SoundWire subsystem, the concept of stream is limited to a Master and one or more Slaves(Codecs). This series aims to add support for multiple Master(s) sharing the same reference clock and synchronized in the hardware.
This patch series adds: - Helpers to lock bus instances part of the stream - Boiler plate conversion of code to support a list of Master runtime - Support multi link bank switch to support synchronization between multiple masters - Add Intel platform ops for pre/post bank switch
Changes in v2: - Add the example in Documentation as pointed out by Vinod - As Pierre suggested, added more description to the sdw_acquire_bus_lock() and sdw_release_bus_lock() API and sdw_stream_runtime data structure.
Sanyog Kale (2): Documentation: soundwire: Add documentation for Multi link soundwire: Add support to lock across bus instances
Shreyas NC (3): soundwire: Initialize completion for defer messages soundwire: Add support for multilink bank switch soundwire: intel: Add pre/post bank switch ops
Vinod Koul (1): soundwire: Handle multiple master instances in a stream
Documentation/driver-api/soundwire/stream.rst | 29 +- drivers/soundwire/bus.c | 1 + drivers/soundwire/bus.h | 4 + drivers/soundwire/intel.c | 54 ++++ drivers/soundwire/stream.c | 441 ++++++++++++++++++-------- include/linux/soundwire/sdw.h | 8 +- 6 files changed, 407 insertions(+), 130 deletions(-)