From: Sasha Levin <sashal@kernel.org> To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Matthias Blankertz <matthias.blankertz@cetitec.com>, Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>, Mark Brown <broonie@kernel.org>, Sasha Levin <sashal@kernel.org>, alsa-devel@alsa-project.org Subject: [PATCH AUTOSEL 4.19 10/30] ASoC: rsnd: Fix HDMI channel mapping for multi-SSI mode Date: Thu, 30 Apr 2020 09:53:05 -0400 [thread overview] Message-ID: <20200430135325.20762-10-sashal@kernel.org> (raw) In-Reply-To: <20200430135325.20762-1-sashal@kernel.org> From: Matthias Blankertz <matthias.blankertz@cetitec.com> [ Upstream commit b94e164759b82d0c1c80d4b1c8f12c9bee83f11d ] The HDMI?_SEL register maps up to four stereo SSI data lanes onto the sdata[0..3] inputs of the HDMI output block. The upper half of the register contains four blocks of 4 bits, with the most significant controlling the sdata3 line and the least significant the sdata0 line. The shift calculation has an off-by-one error, causing the parent SSI to be mapped to sdata3, the first multi-SSI child to sdata0 and so forth. As the parent SSI transmits the stereo L/R channels, and the HDMI core expects it on the sdata0 line, this causes no audio to be output when playing stereo audio on a multichannel capable HDMI out, and multichannel audio has permutated channels. Fix the shift calculation to map the parent SSI to sdata0, the first child to sdata1 etc. Signed-off-by: Matthias Blankertz <matthias.blankertz@cetitec.com> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/20200415141017.384017-3-matthias.blankertz@cetitec.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org> --- sound/soc/sh/rcar/ssiu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/sh/rcar/ssiu.c b/sound/soc/sh/rcar/ssiu.c index 016fbf5ac242c..7b5eb316c3665 100644 --- a/sound/soc/sh/rcar/ssiu.c +++ b/sound/soc/sh/rcar/ssiu.c @@ -172,7 +172,7 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod, i; for_each_rsnd_mod_array(i, pos, io, rsnd_ssi_array) { - shift = (i * 4) + 16; + shift = (i * 4) + 20; val = (val & ~(0xF << shift)) | rsnd_mod_id(pos) << shift; } -- 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Sasha Levin <sashal@kernel.org> To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Matthias Blankertz <matthias.blankertz@cetitec.com>, Sasha Levin <sashal@kernel.org>, alsa-devel@alsa-project.org, Mark Brown <broonie@kernel.org>, Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Subject: [PATCH AUTOSEL 4.19 10/30] ASoC: rsnd: Fix HDMI channel mapping for multi-SSI mode Date: Thu, 30 Apr 2020 09:53:05 -0400 [thread overview] Message-ID: <20200430135325.20762-10-sashal@kernel.org> (raw) In-Reply-To: <20200430135325.20762-1-sashal@kernel.org> From: Matthias Blankertz <matthias.blankertz@cetitec.com> [ Upstream commit b94e164759b82d0c1c80d4b1c8f12c9bee83f11d ] The HDMI?_SEL register maps up to four stereo SSI data lanes onto the sdata[0..3] inputs of the HDMI output block. The upper half of the register contains four blocks of 4 bits, with the most significant controlling the sdata3 line and the least significant the sdata0 line. The shift calculation has an off-by-one error, causing the parent SSI to be mapped to sdata3, the first multi-SSI child to sdata0 and so forth. As the parent SSI transmits the stereo L/R channels, and the HDMI core expects it on the sdata0 line, this causes no audio to be output when playing stereo audio on a multichannel capable HDMI out, and multichannel audio has permutated channels. Fix the shift calculation to map the parent SSI to sdata0, the first child to sdata1 etc. Signed-off-by: Matthias Blankertz <matthias.blankertz@cetitec.com> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/20200415141017.384017-3-matthias.blankertz@cetitec.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org> --- sound/soc/sh/rcar/ssiu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/sh/rcar/ssiu.c b/sound/soc/sh/rcar/ssiu.c index 016fbf5ac242c..7b5eb316c3665 100644 --- a/sound/soc/sh/rcar/ssiu.c +++ b/sound/soc/sh/rcar/ssiu.c @@ -172,7 +172,7 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod, i; for_each_rsnd_mod_array(i, pos, io, rsnd_ssi_array) { - shift = (i * 4) + 16; + shift = (i * 4) + 20; val = (val & ~(0xF << shift)) | rsnd_mod_id(pos) << shift; } -- 2.20.1
next prev parent reply other threads:[~2020-04-30 13:54 UTC|newest] Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-04-30 13:52 [PATCH AUTOSEL 4.19 01/30] iio:ad7797: Use correct attribute_group Sasha Levin 2020-04-30 13:52 ` [PATCH AUTOSEL 4.19 02/30] ASoC: topology: Check return value of pcm_new_ver Sasha Levin 2020-04-30 13:52 ` Sasha Levin 2020-04-30 13:52 ` [PATCH AUTOSEL 4.19 03/30] nfsd: memory corruption in nfsd4_lock() Sasha Levin 2020-04-30 13:52 ` [PATCH AUTOSEL 4.19 04/30] selftests/ipc: Fix test failure seen after initial test run Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 05/30] ASoC: sgtl5000: Fix VAG power-on handling Sasha Levin 2020-04-30 13:53 ` Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 06/30] ASoC: q6dsp6: q6afe-dai: add missing channels to MI2S DAIs Sasha Levin 2020-04-30 13:53 ` Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 07/30] usb: dwc3: gadget: Properly set maxpacket limit Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 08/30] usb: dwc3: gadget: Do link recovery for SS and SSP Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 09/30] ASoC: rsnd: Fix parent SSI start/stop in multi-SSI mode Sasha Levin 2020-04-30 13:53 ` Sasha Levin 2020-04-30 13:53 ` Sasha Levin [this message] 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 10/30] ASoC: rsnd: Fix HDMI channel mapping for " Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 11/30] ASoC: codecs: hdac_hdmi: Fix incorrect use of list_for_each_entry Sasha Levin 2020-04-30 13:53 ` Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 12/30] ARM: dts: bcm283x: Disable dsi0 node Sasha Levin 2020-04-30 13:53 ` Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 13/30] svcrdma: Fix trace point use-after-free race Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 14/30] drm/amdgpu: Correctly initialize thermal controller for GPUs with Powerplay table v0 (e.g Hawaii) Sasha Levin 2020-04-30 13:53 ` Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 15/30] wimax/i2400m: Fix potential urb refcnt leak Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 16/30] net: stmmac: fix enabling socfpga's ptp_ref_clock Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 17/30] net: stmmac: Fix sub-second increment Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 18/30] ASoC: rsnd: Don't treat master SSI in multi SSI setup as parent Sasha Levin 2020-04-30 13:53 ` Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 19/30] ASoC: rsnd: Fix "status check failed" spam for multi-SSI Sasha Levin 2020-04-30 13:53 ` Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 20/30] net/mlx5: Fix failing fw tracer allocation on s390 Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 21/30] cpumap: Avoid warning when CONFIG_DEBUG_PER_CPU_MAPS is enabled Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 22/30] ASoC: wm8960: Fix wrong clock after suspend & resume Sasha Levin 2020-04-30 13:53 ` Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 23/30] cifs: protect updating server->dstaddr with a spinlock Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 24/30] s390/ftrace: fix potential crashes when switching tracers Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 25/30] scripts/config: allow colons in option strings for sed Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 26/30] perf/core: fix parent pid/tid in task exit events Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 27/30] lib/mpi: Fix building for powerpc with clang Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 28/30] net: bcmgenet: suppress warnings on failed Rx SKB allocations Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 29/30] net: systemport: " Sasha Levin 2020-04-30 13:53 ` [PATCH AUTOSEL 4.19 30/30] bpf, x86_32: Fix incorrect encoding in BPF_LDX zero-extension Sasha Levin
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=20200430135325.20762-10-sashal@kernel.org \ --to=sashal@kernel.org \ --cc=alsa-devel@alsa-project.org \ --cc=broonie@kernel.org \ --cc=kuninori.morimoto.gx@renesas.com \ --cc=linux-kernel@vger.kernel.org \ --cc=matthias.blankertz@cetitec.com \ --cc=stable@vger.kernel.org \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.