From: Andrey Golovko <andrey.golovko@gmail.com>
To: Antoine Monnet <antoine@montane.tech>, linux-sound@vger.kernel.org
Cc: Shenghao Ding <shenghao-ding@ti.com>, Kevin Lu <kevin-lu@ti.com>,
Baojun Xu <baojun.xu@ti.com>, Sen Wang <sen@ti.com>,
Mark Brown <broonie@kernel.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Vijendar Mukunda <Vijendar.Mukunda@amd.com>,
Vinod Koul <vkoul@kernel.org>,
Bard Liao <yung-chuan.liao@linux.intel.com>,
Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>,
Robin Everaars <robineveraars@pm.me>,
Ville Saarinen <wiza@saarinenkoti.fi>,
linux-kernel@vger.kernel.org
Subject: Re: ASoC: tas2783-sdw: no stereo channel split for two mono amps -> mono output (AMD ACP SoundWire, ASUS ProArt PX13)
Date: Thu, 13 Aug 2026 00:33:29 +0300 [thread overview]
Message-ID: <cc1960d677a7f5a5c86d48c3037c0aa6@gmail.com> (raw)
In-Reply-To: <778f017a-e1c2-4ab6-9968-6e4c6285180b@montane.tech>
Antoine,
your patch from 27 July is still the only working stereo fix for these
boards, and it is now the only one left: Ville withdrew his series on
11 August and asked that the tags go to Robin and to you, and nobody
else has posted anything. It has never been sent as a formal [PATCH],
so as things stand it cannot be applied by anyone.
I think it should be, and I would like to know how you want that to
happen.
Where it has been tested
========================
- your machine, ASUS ProArt PX13 HN7306EA (the original report);
- mine, ASUS ProArt PX13 HN7306EAC: Tested-by sent on 7 August, and
re-confirmed yesterday on a current broonie/sound for-next kernel --
speaker-test -c2 -s1 is the physically left speaker, -s2 the right,
with no audible level imbalance between them;
- Robin's board, same amp pair, where the one-channel-mask approach was
independently established and measured.
Robin has asked for Reported-by: and Suggested-by: on the channel-mask
patch, since his 5 August report and the follow-up measurement
established both the approach and the positional behaviour of
sdw_compute_slave_ports().
Two options
===========
Either you post it yourself as a proper [PATCH] -- which I would prefer,
it is your work -- or, if you would rather not spend time on it, I am
happy to send it with your authorship intact:
From: Antoine Monnet <antoine@montane.tech>
Reported-by: Robin Everaars <robineveraars@pm.me>
Suggested-by: Robin Everaars <robineveraars@pm.me>
Tested-by: Andrey Golovko <andrey@golovko.me>
Just say which, and if the second, whether you want anything changed
first. I will not send anything under your name without your word.
One thing worth putting in the changelog
========================================
The name_prefix -> BIT(n) mapping reads as if the bit chose the channel,
and it does not. As Robin measured, inverting the two masks between the
amps does not move the audio: sdw_compute_slave_ports() advances the
payload offset by hweight32(ch_mask) and never looks at which bit is
set, so a one-channel mask fixes mono by defeating mirror mode, and L/R
then follows codec order in the DAI link, which on these boards happens
to match the speakers.
That is worth a sentence in the commit message so nobody later reads the
mapping as an ABI promise. It does not make the patch less correct -- the
split it produces is right on three machines -- but it is the honest
description of why it works.
For completeness on the SDCA-correct alternative that Pierre-Louis raised:
Ville measured that UDMPU23 ClusterIndex is simply not implemented on his
TAS2783 revision, answering COMMAND_IGNORED to writes and to a plain read
alike, so that route is closed at least on that silicon. TI have not
commented on the intended mechanism.
Unrelated, but you followed it: the "no audio after s2idle resume" problem
you reported in July is understood and patched. After S0i3 the amplifier
comes back with PDE23 at PS3, and a data port cannot complete channel
preparation while the Function is powered down; the power-up only ever
happened in hw_params(), which a resumed stream never calls again. Patch:
https://lore.kernel.org/all/20260813001500.9218-1-andrey.golovko@gmail.com/
Thanks,
Andrey
prev parent reply other threads:[~2026-08-12 21:33 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-19 0:53 ASoC: tas2783-sdw: no stereo channel split for two mono amps -> mono output (AMD ACP SoundWire, ASUS ProArt PX13) Antoine Monnet
2026-07-27 8:48 ` Andrey Golovko
2026-07-27 11:21 ` Antoine Monnet
2026-08-07 5:21 ` Andrey Golovko
2026-08-07 9:19 ` Pierre-Louis Bossart
2026-08-12 21:33 ` Andrey Golovko [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cc1960d677a7f5a5c86d48c3037c0aa6@gmail.com \
--to=andrey.golovko@gmail.com \
--cc=Vijendar.Mukunda@amd.com \
--cc=antoine@montane.tech \
--cc=baojun.xu@ti.com \
--cc=broonie@kernel.org \
--cc=kevin-lu@ti.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=pierre-louis.bossart@linux.dev \
--cc=robineveraars@pm.me \
--cc=sen@ti.com \
--cc=shenghao-ding@ti.com \
--cc=vkoul@kernel.org \
--cc=wiza@saarinenkoti.fi \
--cc=yung-chuan.liao@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox