On Fri, 22 Dec 2023 00:48:56 +0100, Gergo Koteles wrote: > > There are two problems with using regcache in this module. > > The amplifier has 3 addressing levels (BOOK, PAGE, REG). The firmware > contains blocks that must be written to BOOK 0x8C. The regcache doesn't > know anything about BOOK, so regcache_sync writes invalid values to the > actual BOOK. > > The module handles 2 or more separate amplifiers. The amplifiers have > different register values, and the module uses only one regmap/regcache > for all the amplifiers. The regcache_sync only writes the last amplifier > used. > > The module successfully restores all the written register values (RC > profile, program, configuration, calibration) without regcache. > > Remove regcache functions and set regmap cache_type to REGCACHE_NONE. > > Link: https://lore.kernel.org/r/21a183b5a08cb23b193af78d4b1114cc59419272.1701906455.git.soyer@xxxxxx/ > > Fixes: 5be27f1e3ec9 ("ALSA: hda/tas2781: Add tas2781 HDA driver") > CC: stable@xxxxxxxxxxxxxxx > Signed-off-by: Gergo Koteles <soyer@xxxxxx> Applied to for-linus branch now. Thanks. Takashi