Re: [PATCH 03/16] ASoC: tas2781: disable regmap regcache

From: Mark Brown
Date: Thu Dec 07 2023 - 13:21:10 EST


On Thu, Dec 07, 2023 at 12:59:44AM +0100, Gergo Koteles wrote:

> The amp has 3 level addressing (BOOK, PAGE, REG).
> The regcache couldn't handle it.

So the books aren't currently used so the driver actually works?

> static int tas2781_system_suspend(struct device *dev)
> @@ -770,10 +758,7 @@ static int tas2781_system_suspend(struct device *dev)
> return ret;
>
> /* Shutdown chip before system suspend */
> - regcache_cache_only(tas_priv->regmap, false);
> tasdevice_tuning_switch(tas_priv, 1);
> - regcache_cache_only(tas_priv->regmap, true);
> - regcache_mark_dirty(tas_priv->regmap);
>
> /*
> * Reset GPIO may be shared, so cannot reset here.

How can this work over system suspend? This just removes the cache with
no replacement so if the device looses power over suspend (which seems
likely) then all the register state will be lost. A similar issue may
potentially exist over runtime suspend on an ACPI system with
sufficiently heavily optimised power management.

Attachment: signature.asc
Description: PGP signature