linux_dsm_epyc7002/sound/soc/sh
Matthias Blankertz b94e164759
ASoC: rsnd: Fix HDMI channel mapping for multi-SSI mode
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>
2020-04-16 12:44:59 +01:00
..
rcar ASoC: rsnd: Fix HDMI channel mapping for multi-SSI mode 2020-04-16 12:44:59 +01:00
dma-sh7760.c ASoC: sh: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:46 +00:00
fsi.c ASoC: sh: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:46 +00:00
hac.c ASoC: soc-core: remove bus_control 2020-01-21 17:07:08 +00:00
Kconfig ASoC: sh: Kconfig: convert to SPDX identifiers 2018-07-30 12:02:29 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
migor.c ASoC: sh: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:46 +00:00
sh7760-ac97.c ASoC: sh: sh7760-ac97: use modern dai_link style 2019-06-06 21:37:35 +01:00
siu_dai.c ASoC: siu: convert to SPDX identifiers 2018-06-18 12:16:42 +01:00
siu_pcm.c ASoC: sh: Drop superfluous ioctl PCM ops 2019-12-11 16:51:07 +00:00
siu.h ASoC: siu: convert to SPDX identifiers 2018-06-18 12:16:42 +01:00
ssi.c ASoC: ssi: convert to SPDX identifiers 2018-06-18 12:16:37 +01:00