[PATCH 0/7] SoundWire: intel: fix SHIM programming sequences

Pierre-Louis Bossart
2020-03-11T22:10:40Z

The low-level register programming sequences contributed in
71bb8a1b059ecd ('soundwire: intel: Add Intel Master driver') do not
follow the internal documentation and recommended flows. It's anyone's
guess how the code might have worked. Fix and add all missing helpers
for clock-stop and hardware-based synchronization.

This patchset needs to be applied on top of "[PATCH 00/16] SoundWire:
cadence: add clock stop and fix programming sequences"

Reviewers might object that the code is provided without some required
initializations for mutexes and shim masks, they will be added as part
of the transition to sdw_master_device - still stuck as of 3/11.

Pierre-Louis Bossart (6):
soundwire: intel: add helpers for link power down and shim wake
soundwire: intel: reuse code for wait loops to set/clear bits
soundwire: intel: add mutex to prevent concurrent access to SHIM
registers
soundwire: intel: add definitions for shim_mask
soundwire: intel: introduce a helper to arm link synchronization
soundwire: intel: introduce helper for link synchronization

Rander Wang (1):
soundwire: intel: follow documentation sequences for SHIM registers

drivers/soundwire/intel.c | 342 ++++++++++++++++++++++------
drivers/soundwire/intel.h | 4 +
include/linux/soundwire/sdw_intel.h | 2 +
3 files changed, 277 insertions(+), 71 deletions(-)

--
2.20.1