[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20250105162407.30870-1-martin.blumenstingl@googlemail.com>
Date: Sun, 5 Jan 2025 17:24:07 +0100
From: Martin Blumenstingl <martin.blumenstingl@...glemail.com>
To: dri-devel@...ts.freedesktop.org,
linux-sound@...r.kernel.org
Cc: mperttunen@...dia.com,
jonathanh@...dia.com,
linux-tegra@...r.kernel.org,
linux-kernel@...r.kernel.org,
hjc@...k-chips.com,
heiko@...ech.de,
andy.yan@...k-chips.com,
lgirdwood@...il.com,
broonie@...nel.org,
perex@...ex.cz,
tiwai@...e.com,
dmitry.baryshkov@...aro.org,
mripard@...nel.org,
Martin Blumenstingl <martin.blumenstingl@...glemail.com>
Subject: [RFT PATCH v1] ASoC: hdmi-codec: wire up the .prepare callback also for SPDIF DAI ops
Commit 2fef64eec23a ("ASoC: hdmi-codec: Add a prepare hook") added a
prepare implementation. Back then the new callback was only integrated
with hdmi_codec_i2s_dai_ops (which is used by the I2S input code-path).
It was not added to hdmi_codec_spdif_dai_ops (which is used by the SPDIF
input code-path).
With commit baf616647fe6 ("drm/connector: implement generic HDMI audio
helpers") the DRM subsystem has gained a helper framework which can be
used by HDMI controller drivers. HDMI controller drivers are often
tightly coupled with the hdmi-codec because of the so-called HDMI audio
infoframe (which is often managed by the display controller).
To allow the new DRM HDMI audio framework to work with the hdmi-codec
driver for SPDIF inputs we also need to hook up the prepare callback to
hdmi_codec_spdif_dai_ops. Just hooking into the hw_params callback would
not be enough as hw_params (is called too early and) doesn't have access
to the HDMI audio infoframe contents.
Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@...glemail.com>
---
The following three upstream drivers can use the hdmi-codec with SPDIF
inputs:
- drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
- drivers/gpu/drm/rockchip/cdn-dp-core.c
- drivers/gpu/drm/tegra/hdmi.c
It would be great if any of the maintainers of these platforms could
confirm that this patch doesn't break anything.
Mark, since there are a few minor hdmi-codec changes in the drm-misc
tree: will or take this patch through your tree or should Dmitry take
it (he added the other hdmi-codec changes with your Ack in drm-misc)?
sound/soc/codecs/hdmi-codec.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c
index 69f98975e14a..f485f26b9f57 100644
--- a/sound/soc/codecs/hdmi-codec.c
+++ b/sound/soc/codecs/hdmi-codec.c
@@ -942,6 +942,7 @@ static const struct snd_soc_dai_ops hdmi_codec_spdif_dai_ops = {
.startup = hdmi_codec_startup,
.shutdown = hdmi_codec_shutdown,
.hw_params = hdmi_codec_hw_params,
+ .prepare = hdmi_codec_prepare,
.mute_stream = hdmi_codec_mute,
.pcm_new = hdmi_codec_pcm_new,
};
--
2.47.1
Powered by blists - more mailing lists