From: Sheetal <sheetal@nvidia.com>
To: Liam Girdwood <lgirdwood@gmail.com>, Mark Brown <broonie@kernel.org>
Cc: Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
"Thierry Reding" <thierry.reding@kernel.org>,
Jonathan Hunter <jonathanh@nvidia.com>,
Sameer Pujar <spujar@nvidia.com>,
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
Mohan Kumar <mkumard@nvidia.com>, <linux-sound@vger.kernel.org>,
<linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
Sheetal <sheetal@nvidia.com>
Subject: [RFC PATCH v2 0/2] ASoC: tegra: ASRC ratio control updates
Date: Mon, 5 Oct 2026 08:52:25 +0000 [thread overview]
Message-ID: <20261005085227.2133834-1-sheetal@nvidia.com> (raw)
This RFC updates the Tegra ASRC software ratio controls so userspace
programs the integer and fractional ratio parts through one paired ALSA
mixer control.
This is a userspace-visible ALSA mixer control ABI change. Existing
userspace that programs the ratio with separate controls must switch from
the legacy commands:
amixer -c APE cset name="ASRC1 Ratio<N> Integer Part" \
<integer part>
amixer -c APE cset name="ASRC1 Ratio<N> Fractional Part" \
<fractional part>
to the paired control:
amixer -c APE cset name="ASRC1 Ratio<N>" \
"<integer part>,<fractional part>"
For example:
amixer -c APE cset name="ASRC1 Ratio1" "0,715827882"
The ABI change is needed because the previous separate controls can expose
hardware to a transient mixed ratio when one part has been updated but the
other still contains the old value. The paired control lets the driver
validate and program the full ratio together.
For active streams, the driver only unlocks and re-locks the stream when
the new software ratio differs from the cached ratio by more than 20%.
Hardware allows direct updates for smaller ratio changes, while larger
jumps require the stream lock to be refreshed.
Changes in v2:
- Split the Stream6 input threshold fix out as a separate non-RFC patch,
since that fix is independent of this ABI discussion.
- Expanded the ABI-change description with legacy userspace commands and
the new paired control command.
- Clarified why the driver keeps conditional unlock/relock handling for
active stream ratio updates.
Sheetal (2):
ASoC: tegra: Update ASRC ratio controls
ASoC: tegra: Cache ASRC ratios until streams are active
sound/soc/tegra/tegra186_asrc.c | 511 +++++++++++++++++++++-----------
sound/soc/tegra/tegra186_asrc.h | 5 +
2 files changed, 346 insertions(+), 170 deletions(-)
--
2.43.0
next reply other threads:[~2026-10-05 8:55 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-05 8:52 Sheetal [this message]
2026-10-05 8:52 ` [RFC PATCH v2 1/2] ASoC: tegra: Update ASRC ratio controls Sheetal
2026-10-05 8:52 ` [RFC PATCH v2 2/2] ASoC: tegra: Cache ASRC ratios until streams are active Sheetal
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=20261005085227.2133834-1-sheetal@nvidia.com \
--to=sheetal@nvidia.com \
--cc=broonie@kernel.org \
--cc=jonathanh@nvidia.com \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=mkumard@nvidia.com \
--cc=perex@perex.cz \
--cc=spujar@nvidia.com \
--cc=thierry.reding@kernel.org \
--cc=tiwai@suse.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
all inboxes | Powered by JetHome®