]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commit
ASoC: RT5677-SPI: Disable 16Bit SPI Transfers
authorCurtis Malainey <cujomalainey@chromium.org>
Fri, 3 May 2019 19:32:14 +0000 (12:32 -0700)
committerStefan Bader <stefan.bader@canonical.com>
Tue, 30 Jul 2019 10:58:17 +0000 (12:58 +0200)
commit0ca242f8c9ab38c97c1d451d4b14bbfe62899301
treeb4fdc0b471da568d9880a19e17a678481438973c
parent07f9f07d6c9d1bc3fc27f16282c33a481434b5fd
ASoC: RT5677-SPI: Disable 16Bit SPI Transfers

BugLink: https://bugs.launchpad.net/bugs/1836614
commit a46eb523220e242affb9a6bc9bb8efc05f4f7459 upstream.

The current algorithm allows 3 types of transfers, 16bit, 32bit and
burst. According to Realtek, 16bit transfers have a special restriction
in that it is restricted to the memory region of
0x18020000 ~ 0x18021000. This region is the memory location of the I2C
registers. The current algorithm does not uphold this restriction and
therefore fails to complete writes.

Since this has been broken for some time it likely no one is using it.
Better to simply disable the 16 bit writes. This will allow users to
properly load firmware over SPI without data corruption.

Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
Reviewed-by: Ben Zhang <benzh@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
sound/soc/codecs/rt5677-spi.c