mbox series

[v6,0/4] Add static channel mapping between soundwire master and slave

Message ID 20250206112225.3270400-1-quic_mohs@quicinc.com
Headers show
Series Add static channel mapping between soundwire master and slave | expand

Message

Mohammad Rafi Shaik Feb. 6, 2025, 11:22 a.m. UTC
Add static channel map support between soundwire master and slave.

Currently, the channel value for each soundwire port is hardcoded in the
wcd937x-sdw driver and the same channel  value is configured in the
soundwire master.

The Qualcomm board like the QCM6490-IDP require static channel map
settings for the soundwire master and slave ports.

If another boards which are using enable wcd937x, the channel mapping
index values between master and slave may be different depending on the
board hw design and requirements. If the above properties are not used
in a SoC specific device tree, the channel mapping index values are set
to default.

With the introduction of the following channel mapping properties, it is
now possible to configure the master channel mapping directly from the
device tree.

Added qcom_swrm_set_channel_map api to set the master channel values
which allows more flexible to configure channel values in runtime for
specific active soundwire ports.

Add get and set channel maps support from codec to cpu dais in common
Qualcomm sdw driver.

Changes since v5:
 - Fixed build compile issue with v5-0003 patch, reported by Mark Brown.

Changes since v4:
 - Update the order of channel map index values in v4-0001 dt-bindings patch as suggested by Krzysztof.
 
Changes since v3:
 - Change the order of channel map index values in v3-0002 dt-bindings patch as suggested by Krzysztof.
 - Dropped V3-0001 patch which is not required.

Changes since v2:
 - Rephrase commit description v2-0001 dt-bindings patch as suggested by Krzysztof.

Changes since v1:
 - Modified the design and followed new approach to setting the master channel mask.
 - Used existing set_channel_map api as suggested by Pierre-Louis
 - Fixed the typo mistake in v1-0001 dt-bindings patch.
 - Rephrase the commit description for all v1 patches.

Mohammad Rafi Shaik (4):
  ASoC: dt-bindings: wcd937x-sdw: Add static channel mapping support
  ASoC: codecs: wcd937x: Add static channel mapping support in
    wcd937x-sdw
  soundwire: qcom: Add set_channel_map api support
  ASoC: qcom: sdw: Add get and set channel maps support from codec to
    cpu dais

 .../bindings/sound/qcom,wcd937x-sdw.yaml      | 36 +++++++++++++
 drivers/soundwire/qcom.c                      | 26 +++++++++
 sound/soc/codecs/wcd937x-sdw.c                | 39 ++++++++++++--
 sound/soc/codecs/wcd937x.c                    | 53 ++++++++++++++++++-
 sound/soc/codecs/wcd937x.h                    |  7 ++-
 sound/soc/qcom/sdw.c                          | 34 ++++++++++--
 6 files changed, 185 insertions(+), 10 deletions(-)

Comments

Mark Brown Feb. 7, 2025, 2:02 p.m. UTC | #1
On Thu, 06 Feb 2025 16:52:21 +0530, Mohammad Rafi Shaik wrote:
> Add static channel map support between soundwire master and slave.
> 
> Currently, the channel value for each soundwire port is hardcoded in the
> wcd937x-sdw driver and the same channel  value is configured in the
> soundwire master.
> 
> The Qualcomm board like the QCM6490-IDP require static channel map
> settings for the soundwire master and slave ports.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/4] ASoC: dt-bindings: wcd937x-sdw: Add static channel mapping support
      commit: 72826381215e2f9d2bd2f32f63f76a80942b7fdf
[2/4] ASoC: codecs: wcd937x: Add static channel mapping support in wcd937x-sdw
      commit: c06c4f7cbea1d8dc71485bfddef2849a1b721e67
[3/4] soundwire: qcom: Add set_channel_map api support
      commit: 7796c97df6b1b2206681a07f3c80f6023a6593d5
[4/4] ASoC: qcom: sdw: Add get and set channel maps support from codec to cpu dais
      commit: 0e9a970d7b2cb98d741bc0e32ad8c8f30c009c63

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark