From: shengjiu.wang@oss.nxp.com
To: lgirdwood@gmail.com, broonie@kernel.org, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org, Frank.Li@nxp.com,
s.hauer@pengutronix.de, kernel@pengutronix.de,
festevam@gmail.com, shawnguo@kernel.org,
linux-sound@vger.kernel.org, devicetree@vger.kernel.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, shengjiu.wang@gmail.com,
Xiubo.Lee@gmail.com, nicoleotsuka@gmail.com, perex@perex.cz,
tiwai@suse.com, linuxppc-dev@lists.ozlabs.org
Cc: Shengjiu Wang <shengjiu.wang@nxp.com>
Subject: [PATCH v3 0/5] ASoC: fsl_asrc/fsl_easrc: expose per-pair/context DAIs and fix DMA race
Date: Tue, 4 Aug 2026 18:02:13 +0800 [thread overview]
Message-ID: <20260804100218.49587-1-shengjiu.wang@oss.nxp.com> (raw)
From: Shengjiu Wang <shengjiu.wang@nxp.com>
This series extends the i.MX ASRC and EASRC drivers to expose one DAI
per hardware conversion pair/context, allowing multiple independent
conversion paths to be active simultaneously.
Patches 1-2 update the DT bindings to add a ports container so each
conversion path can be wired independently in the audio graph. The old
single port property is kept but marked deprecated.
Patch 3 moves dma_params into struct fsl_asrc_pair so each pair owns its
own copy, and registers it with the cpu DAI using per-direction setters in
fsl_asrc_dma_startup(). This removes the per-DAI probe callbacks from
fsl_asrc.c and fsl_easrc.c, which are no longer needed.
Patches 4-5 expose the individual DAIs: fsl_asrc registers three DAIs
(asrc-0/1/2) and fsl_easrc registers four (easrc-0/1/2/3). The first
DAI in each driver retains the original generic stream names for
backward compatibility with existing machine drivers.
Changes since v2:
- add ports example to original example case in yaml file as port is
deprecated
- remove the label in example.
Changes since v1:
- Patch 3 is new: moves dma_params into struct fsl_asrc_pair (one per pair)
- Per-direction snd_soc_dai_dma_data_set_playback/capture used instead
of snd_soc_dai_init_dma_data to avoid clearing the other direction
- dma_params_tx/rx removed from struct fsl_asrc; single dma_params per
pair suffices because each pair is unidirectional
- per-DAI probe callbacks removed (startup now sets dma_data)
- Cover letter and commit messages updated to reflect the above
- DAI names changed: paira/pairb/pairc -> asrc-0/asrc-1/asrc-2,
ctxa/ctxb/ctxc/ctxd -> easrc-0/easrc-1/easrc-2/easrc-3; use index-based
naming consistent with port@N in the DT binding
- Stream names changed: ASRCB/ASRCC/ASRCD -> ASRC1/ASRC2/ASRC3; align with
the index-based DAI names above
- Binding port descriptions updated: pair A/B/C -> conversion path 0/1/2;
hardware-agnostic wording to match port@N numbering
Shengjiu Wang (5):
ASoC: dt-bindings: fsl,imx-asrc: update port binding to support
multiple paths
ASoC: dt-bindings: fsl,easrc: add ports binding for multiple
conversion paths
ASoC: fsl_asrc/fsl_easrc: move DMA params into pair/context struct
ASoC: fsl_asrc: expose individual DAIs per conversion path
ASoC: fsl_easrc: expose individual DAIs per conversion path
.../devicetree/bindings/sound/fsl,easrc.yaml | 45 +++++++
.../bindings/sound/fsl,imx-asrc.yaml | 45 ++++++-
sound/soc/fsl/fsl_asrc.c | 100 +++++++++-----
sound/soc/fsl/fsl_asrc_common.h | 7 +-
sound/soc/fsl/fsl_asrc_dma.c | 14 ++
sound/soc/fsl/fsl_easrc.c | 123 +++++++++++++-----
6 files changed, 263 insertions(+), 71 deletions(-)
--
2.34.1
next reply other threads:[~2026-08-04 9:55 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-04 10:02 shengjiu.wang [this message]
2026-08-04 10:02 ` [PATCH v3 1/5] ASoC: dt-bindings: fsl,imx-asrc: update port binding to support multiple paths shengjiu.wang
2026-08-04 14:39 ` Frank Li
2026-08-05 6:57 ` Shengjiu Wang
2026-08-05 17:06 ` Frank Li
2026-08-06 5:27 ` Shengjiu Wang
2026-08-06 16:40 ` Frank Li
2026-08-04 10:02 ` [PATCH v3 2/5] ASoC: dt-bindings: fsl,easrc: add ports binding for multiple conversion paths shengjiu.wang
2026-08-04 14:40 ` Frank Li
2026-08-04 10:02 ` [PATCH v3 3/5] ASoC: fsl_asrc/fsl_easrc: move DMA params into pair/context struct shengjiu.wang
2026-08-04 10:15 ` sashiko-bot
2026-08-04 10:02 ` [PATCH v3 4/5] ASoC: fsl_asrc: expose individual DAIs per conversion path shengjiu.wang
2026-08-04 10:20 ` sashiko-bot
2026-08-04 10:02 ` [PATCH v3 5/5] ASoC: fsl_easrc: " shengjiu.wang
2026-08-04 10:12 ` sashiko-bot
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=20260804100218.49587-1-shengjiu.wang@oss.nxp.com \
--to=shengjiu.wang@oss.nxp.com \
--cc=Frank.Li@nxp.com \
--cc=Xiubo.Lee@gmail.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=nicoleotsuka@gmail.com \
--cc=perex@perex.cz \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=shengjiu.wang@gmail.com \
--cc=shengjiu.wang@nxp.com \
--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