ASoC: es8316: fix register sync error in suspend/resume tests
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Thu, 22 Sep 2022 09:59:12 +0000 (11:59 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 22 Sep 2022 11:33:12 +0000 (12:33 +0100)
The SOF CI tests report failures with the following error thrown

kernel: es8316 i2c-ESSX8336:00: Unable to sync registers 0x0-0x1. -121

ES8336 only supports I2C read/write one byte a time, so we do need to
set the .use_single_read and .use_single_write flags to avoid this
sync issue.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: FRED OH <fred.oh@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20220922095912.27010-1-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/es8316.c

index de7185f73e1e726dc73df15b096b21623d183d9e..10a204255b6a1fee6bb1cfa737f6150038594095 100644 (file)
@@ -793,6 +793,8 @@ static const struct regmap_access_table es8316_volatile_table = {
 static const struct regmap_config es8316_regmap = {
        .reg_bits = 8,
        .val_bits = 8,
+       .use_single_read = true,
+       .use_single_write = true,
        .max_register = 0x53,
        .volatile_table = &es8316_volatile_table,
        .cache_type = REGCACHE_RBTREE,