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