From: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
To: Robin Everaars <robineveraars@pm.me>,
Shenghao Ding <shenghao-ding@ti.com>, Kevin Lu <kevin-lu@ti.com>,
Baojun Xu <baojun.xu@ti.com>, Niranjan H Y <niranjan.hy@ti.com>,
Mark Brown <broonie@kernel.org>,
Liam Girdwood <lgirdwood@gmail.com>,
linux-sound@vger.kernel.org
Subject: Re: [BUG] ASoC: tas2783-sdw: every amp on the link selects the same channel, so a two-amp board plays mono
Date: Thu, 6 Aug 2026 10:47:49 +0200 [thread overview]
Message-ID: <02f2cd9c-519c-4154-be58-9065f34c6001@linux.dev> (raw)
In-Reply-To: <20260805183517.8665-1-robineveraars@pm.me>
> Confirmed fix, measured on this hardware
> ========================================
>
> Writing PPU21 selector 0x10 per amp does fix it. I derive the value from
> component->name_prefix, so tas2783-1 and -3 get 0x01 (Left) and -2 and -4
> get 0x04 (Right), matching the mapping asoc_sdw_ti_spk_rtd_init() already
> applies in sound/soc/sdw_utils/soc_sdw_ti_amp.c.
you mentioned a two-amp board but the wording seems to describe 4 amps?
Also not sure what mapping you are referring to, I looked up the code
and couldn't connect the dots between the last sentence and the code.
> Acoustic result on the same measurement rig as above, right channel only:
>
> before +0.4 dB over the noise floor, i.e. silence
> after +70.7 dB, and the left/right imbalance is 0.3 dB
>
> It also survives an s2idle cycle, which matters here: a driver re-bind re-
> runs tas2783_init_seq and would put 0x01 back, so the value has to be re-
> asserted rather than written once. I do it from the POST_PMU path for that
> reason.
This may work but that isn't the intended role of the PPU (Posture
Processing Unit). The spec says
"
PostureNumber (PPU)
This Control is provided in the PPU for selecting the pre-defined
mapping between input Channels and output
Channels and applying any Posture-related processing.
"
In theory the *same* posture number should be given to both amps, and
they shall modify their input to output mapping accordingly.
For aggregated amps (which is the case here), the spec also says the
PostureNumber register needs to be dual-ranked for synchronous changes
but that part isn't managed by the SoundWire/SDCA core just yet.
next prev parent reply other threads:[~2026-08-06 8:47 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-05 18:35 [BUG] ASoC: tas2783-sdw: every amp on the link selects the same channel, so a two-amp board plays mono Robin Everaars
2026-08-06 8:47 ` Pierre-Louis Bossart [this message]
2026-08-06 18:43 ` Robin Everaars
2026-08-06 20:30 ` Pierre-Louis Bossart
2026-08-07 5:21 ` Andrey Golovko
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=02f2cd9c-519c-4154-be58-9065f34c6001@linux.dev \
--to=pierre-louis.bossart@linux.dev \
--cc=baojun.xu@ti.com \
--cc=broonie@kernel.org \
--cc=kevin-lu@ti.com \
--cc=lgirdwood@gmail.com \
--cc=linux-sound@vger.kernel.org \
--cc=niranjan.hy@ti.com \
--cc=robineveraars@pm.me \
--cc=shenghao-ding@ti.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