aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.10/950-0631-ASoC-codec-hdmi-codec-Support-IEC958-encoded-PCM-for.patch
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas <noltari@gmail.com>2021-08-21 10:54:34 +0200
committerÁlvaro Fernández Rojas <noltari@gmail.com>2021-08-21 19:07:07 +0200
commit8299d1f057439f94c6a4412e2e5c5082b82a30c9 (patch)
tree1bf678d61f11f7394493be464c7876e496f7faed /target/linux/bcm27xx/patches-5.10/950-0631-ASoC-codec-hdmi-codec-Support-IEC958-encoded-PCM-for.patch
parent33b6885975ce376ff075362b7f0890326043111b (diff)
downloadupstream-8299d1f057439f94c6a4412e2e5c5082b82a30c9.tar.gz
upstream-8299d1f057439f94c6a4412e2e5c5082b82a30c9.tar.bz2
upstream-8299d1f057439f94c6a4412e2e5c5082b82a30c9.zip
bcm27xx: add kernel 5.10 support
Rebased RPi foundation patches on linux 5.10.59, removed applied and reverted patches, wireless patches and defconfig patches. bcm2708: boot tested on RPi B+ v1.2 bcm2709: boot tested on RPi 4B v1.1 4G bcm2711: boot tested on RPi 4B v1.1 4G Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0631-ASoC-codec-hdmi-codec-Support-IEC958-encoded-PCM-for.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.10/950-0631-ASoC-codec-hdmi-codec-Support-IEC958-encoded-PCM-for.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0631-ASoC-codec-hdmi-codec-Support-IEC958-encoded-PCM-for.patch b/target/linux/bcm27xx/patches-5.10/950-0631-ASoC-codec-hdmi-codec-Support-IEC958-encoded-PCM-for.patch
new file mode 100644
index 0000000000..cb9bbe350a
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.10/950-0631-ASoC-codec-hdmi-codec-Support-IEC958-encoded-PCM-for.patch
@@ -0,0 +1,53 @@
+From ab79274c7bab8e16822077ae0850e6cf9b2ec1b4 Mon Sep 17 00:00:00 2001
+From: Sia Jee Heng <jee.heng.sia@intel.com>
+Date: Thu, 4 Feb 2021 09:42:55 +0800
+Subject: [PATCH] ASoC: codec: hdmi-codec: Support IEC958 encoded PCM
+ format
+
+Existing hdmi-codec driver only support standard pcm format.
+Support of IEC958 encoded format pass from ALSA IEC958 plugin is needed
+so that the IEC958 encoded data can be streamed to the HDMI chip.
+
+Signed-off-by: Sia Jee Heng <jee.heng.sia@intel.com>
+Link: https://lore.kernel.org/r/20210204014258.10197-2-jee.heng.sia@intel.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ include/sound/hdmi-codec.h | 5 +++++
+ sound/soc/codecs/hdmi-codec.c | 4 +++-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+--- a/include/sound/hdmi-codec.h
++++ b/include/sound/hdmi-codec.h
+@@ -34,6 +34,11 @@ struct hdmi_codec_daifmt {
+ unsigned int frame_clk_inv:1;
+ unsigned int bit_clk_master:1;
+ unsigned int frame_clk_master:1;
++ /* bit_fmt could be standard PCM format or
++ * IEC958 encoded format. ALSA IEC958 plugin will pass
++ * IEC958_SUBFRAME format to the underneath driver.
++ */
++ snd_pcm_format_t bit_fmt;
+ };
+
+ /*
+--- a/sound/soc/codecs/hdmi-codec.c
++++ b/sound/soc/codecs/hdmi-codec.c
+@@ -487,6 +487,7 @@ static int hdmi_codec_hw_params(struct s
+ hp.sample_rate = params_rate(params);
+ hp.channels = params_channels(params);
+
++ cf->bit_fmt = params_format(params);
+ return hcp->hcd.ops->hw_params(dai->dev->parent, hcp->hcd.data,
+ cf, &hp);
+ }
+@@ -615,7 +616,8 @@ static const struct snd_soc_dai_ops hdmi
+ SNDRV_PCM_FMTBIT_S20_3LE | SNDRV_PCM_FMTBIT_S20_3BE |\
+ SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S24_3BE |\
+ SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S24_BE |\
+- SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S32_BE)
++ SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S32_BE |\
++ SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE)
+
+ static int hdmi_codec_pcm_new(struct snd_soc_pcm_runtime *rtd,
+ struct snd_soc_dai *dai)