From 8299d1f057439f94c6a4412e2e5c5082b82a30c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Sat, 21 Aug 2021 10:54:34 +0200 Subject: bcm27xx: add kernel 5.10 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- ...hdmi-codec-Support-IEC958-encoded-PCM-for.patch | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 target/linux/bcm27xx/patches-5.10/950-0631-ASoC-codec-hdmi-codec-Support-IEC958-encoded-PCM-for.patch (limited to 'target/linux/bcm27xx/patches-5.10/950-0631-ASoC-codec-hdmi-codec-Support-IEC958-encoded-PCM-for.patch') 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 +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 +Link: https://lore.kernel.org/r/20210204014258.10197-2-jee.heng.sia@intel.com +Signed-off-by: Mark Brown +Signed-off-by: Maxime Ripard +--- + 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) -- cgit v1.2.3