From: Samuel Holland <samuel@sholland.org>
To: Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>, Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
Jonathan Corbet <corbet@lwn.net>,
Jerome Brunet <jbrunet@baylibre.com>
Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
Samuel Holland <samuel@sholland.org>,
linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org
Subject: [alsa-devel] [PATCH 0/4] simple-audio-card codec2codec support
Date: Thu, 13 Feb 2020 00:11:43 -0600 [thread overview]
Message-ID: <20200213061147.29386-1-samuel@sholland.org> (raw)
We are currently using simple-audio-card on the Allwinner A64 SoC.
The digital audio codec there (sun8i-codec) has 3 AIFs, one each for the
CPU, the modem, and Bluetooth. Adding support for the secondary AIFs
requires adding codec2codec DAI links.
Since the modem and bt-sco codec DAI drivers only have one set of
possible PCM parameters (namely, 8kHz mono S16LE), there's no real
need for a machine driver to specify the DAI link configuration. The
parameters for these "simple" DAI links can be chosen automatically.
This series adds a single "codec-to-codec" property to the
simple-audio-card binding, which does exactly what it says. It works out
rather nicely without making the device tree binding too complicated.
The first patch fixes a bug I found while implementing this feature.
I tried to reuse as much code as possible, so the middle two patches
refactor a couple of helper functions to be more generic.
Finally, the last patch adds the new feature and its documentation.
Samuel Holland (4):
ASoC: codec2codec: avoid invalid/double-free of pcm runtime
ALSA: pcm: Make snd_pcm_limit_hw_rates take hw directly
ASoC: pcm: Export parameter intersection logic
ASoC: simple-card: Add support for codec-to-codec dai_links
.../devicetree/bindings/sound/simple-card.txt | 1 +
Documentation/sound/soc/codec-to-codec.rst | 9 ++-
.../drm/bridge/synopsys/dw-hdmi-ahb-audio.c | 2 +-
include/sound/pcm.h | 2 +-
include/sound/simple_card_utils.h | 1 +
include/sound/soc.h | 3 +
sound/arm/aaci.c | 2 +-
sound/arm/pxa2xx-ac97.c | 2 +-
sound/core/pcm_misc.c | 14 ++---
sound/firewire/dice/dice-pcm.c | 2 +-
sound/firewire/digi00x/digi00x-pcm.c | 2 +-
sound/firewire/fireworks/fireworks_pcm.c | 2 +-
sound/firewire/motu/motu-pcm.c | 2 +-
sound/firewire/tascam/tascam-pcm.c | 2 +-
sound/pci/atiixp.c | 2 +-
sound/pci/cs5535audio/cs5535audio_pcm.c | 4 +-
sound/pci/hda/hda_controller.c | 4 +-
sound/pci/intel8x0.c | 2 +-
sound/pci/sis7019.c | 2 +-
sound/pci/via82xx.c | 4 +-
sound/soc/generic/simple-card-utils.c | 39 +++++++++++++
sound/soc/generic/simple-card.c | 12 ++++
sound/soc/soc-dapm.c | 3 -
sound/soc/soc-pcm.c | 57 +++++++++++++------
sound/usb/caiaq/audio.c | 4 +-
25 files changed, 130 insertions(+), 49 deletions(-)
--
2.24.1
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next reply other threads:[~2020-02-13 6:40 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-13 6:11 Samuel Holland [this message]
2020-02-13 6:11 ` [alsa-devel] [PATCH 1/4] ASoC: codec2codec: avoid invalid/double-free of pcm runtime Samuel Holland
2020-02-13 8:37 ` Jerome Brunet
2020-02-13 11:37 ` Mark Brown
2020-02-13 13:37 ` Jerome Brunet
2020-02-13 13:31 ` [alsa-devel] Applied "ASoC: codec2codec: avoid invalid/double-free of pcm runtime" to the asoc tree Mark Brown
2020-02-13 6:11 ` [alsa-devel] [PATCH 2/4] ALSA: pcm: Make snd_pcm_limit_hw_rates take hw directly Samuel Holland
2020-02-13 6:30 ` Takashi Iwai
2020-02-15 3:19 ` Samuel Holland
2020-02-13 6:11 ` [alsa-devel] [PATCH 3/4] ASoC: pcm: Export parameter intersection logic Samuel Holland
2020-02-13 6:11 ` [alsa-devel] [PATCH 4/4] ASoC: simple-card: Add support for codec-to-codec dai_links Samuel Holland
2020-02-13 9:18 ` Jerome Brunet
2020-02-13 11:38 ` Mark Brown
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=20200213061147.29386-1-samuel@sholland.org \
--to=samuel@sholland.org \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=jbrunet@baylibre.com \
--cc=lgirdwood@gmail.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=perex@perex.cz \
--cc=robh+dt@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;
as well as URLs for NNTP newsgroup(s).