On 04/16/2018 10:23 AM, Vinod Koul wrote:
This series adds support in SoundWire subsystem for:
- Documentation for stream support
- stream management
- data port management
- DAI ops in cadence and Intel drivers
- ASoC API to propagate SDW stream
Updates in v3:
- Remove stream state transition checks and redefine stream states
- Update bansk switch routines
- Other nitpicks pointed out by Pierre.
Thanks Vinod and team. This is much better than v2, now the stream management makes more sense. The only part that isn't clear is that the framework is supposed to call sdw_stream_add_master() last (to transition to CONFIGURED state), and that is not explicitly described in the documentation. The release part also has issues if the master is handled first, so again I believe there is an assumption that the slaves will be handled first.
There are still 3 or 4 issues on channel count and remaining comments not fixed, but this is starting to be reasonably self-explanatory and useful.
Updates in v2:
- Make ASoC API inlined
- Make stream states as states and not action
- Update the direction enum
- Fix some typos and comment updates
Sanyog Kale (7): Documentation: soundwire: Add more documentation soundwire: Add support for SoundWire stream management soundwire: Add support for port management soundwire: Add Master and Slave port programming soundwire: Add helpers for ports operations soundwire: Add bank switch routine soundwire: Add stream configuration APIs
Shreyas NC (2): ASoC: Add SoundWire stream programming interface soundwire: Remove cdns_master_ops
Vinod Koul (4): soundwire: cdns: Add port routines soundwire: cdns: Add stream routines soundwire: intel: Add stream initialization soundwire: intel: Add audio DAI ops
.../driver-api/soundwire/error_handling.rst | 65 + Documentation/driver-api/soundwire/index.rst | 3 + Documentation/driver-api/soundwire/locking.rst | 106 ++ Documentation/driver-api/soundwire/stream.rst | 372 +++++ drivers/soundwire/Kconfig | 2 +- drivers/soundwire/Makefile | 2 +- drivers/soundwire/bus.c | 43 + drivers/soundwire/bus.h | 72 + drivers/soundwire/cadence_master.c | 453 +++++- drivers/soundwire/cadence_master.h | 151 ++ drivers/soundwire/intel.c | 528 ++++++- drivers/soundwire/intel.h | 4 + drivers/soundwire/intel_init.c | 3 + drivers/soundwire/stream.c | 1471 ++++++++++++++++++++ include/linux/soundwire/sdw.h | 332 ++++- include/linux/soundwire/sdw_intel.h | 14 + include/sound/soc-dai.h | 21 + 17 files changed, 3628 insertions(+), 14 deletions(-) create mode 100644 Documentation/driver-api/soundwire/error_handling.rst create mode 100644 Documentation/driver-api/soundwire/locking.rst create mode 100644 Documentation/driver-api/soundwire/stream.rst create mode 100644 drivers/soundwire/stream.c