Merge series "ASoC: rt1308-sdw: configure amplifier with set_tdm_slot()" from Pierre...
authorMark Brown <broonie@kernel.org>
Thu, 26 Mar 2020 19:04:33 +0000 (19:04 +0000)
committerMark Brown <broonie@kernel.org>
Thu, 26 Mar 2020 19:04:33 +0000 (19:04 +0000)
commitb2fc1c08f74444b72f16bd5dc505eca33d1d6c6b
treef972c862883f4d025d5cc5e4267ea4bcbab822ef
parentcfc509953c1de81cc98e909066bec15316e97db2
parent27a18e9e673f03b48a881e133a532c1619b711c7
Merge series "ASoC: rt1308-sdw: configure amplifier with set_tdm_slot()" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:

When two (or more) amplifiers are on the same link, the integrator may:
a) assign dedicated slots for each of the amplifiers.
b) provide the same configuration to all amplifiers, and rely on
additional controls/processing in the amplifier to generate different
outputs.

case a) was the initial direction for SoundWire and is required for
amplifiers with limited capabilities, but to deal with orientation or
'posture' changes it's easier to implement case b) when the amplifier
can deal with multiple channels.

This patchset suggest the use of the set_tdm_slot() API to define
which of the channels will be consumed by what amplifiers. This maps
well with SoundWire's 'ChannelEnable' registers. The notion of
slot_width is however irrelevant here and ignored, and SoundWire ports
are typically single direction, so only one of the two masks shall be
used.

Pierre-Louis Bossart (2):
  ASoC: rt1308-sdw: add set_tdm_slot() support
  ASoC: rt1308-sdw: use slot and rx_mask to configure stream

 sound/soc/codecs/rt1308-sdw.c | 38 +++++++++++++++++++++++++++++++----
 sound/soc/codecs/rt1308-sdw.h |  2 ++
 2 files changed, 36 insertions(+), 4 deletions(-)

--
2.20.1