mirror of
https://github.com/torvalds/linux.git
synced 2024-12-14 15:13:52 +00:00
ASoC: max98090: Fix reset at resume time
Reset needs to wait 20ms before other codec IO is performed. This wait was not being performed. Fix this by making sure the reset register is not restored with the cache, but use the manual reset method in resume with the wait. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
This commit is contained in:
parent
729af1ce6c
commit
25b4ab430f
@ -255,6 +255,7 @@ static struct reg_default max98090_reg[] = {
|
||||
static bool max98090_volatile_register(struct device *dev, unsigned int reg)
|
||||
{
|
||||
switch (reg) {
|
||||
case M98090_REG_SOFTWARE_RESET:
|
||||
case M98090_REG_DEVICE_STATUS:
|
||||
case M98090_REG_JACK_STATUS:
|
||||
case M98090_REG_REVISION_ID:
|
||||
@ -2374,6 +2375,8 @@ static int max98090_runtime_resume(struct device *dev)
|
||||
|
||||
regcache_cache_only(max98090->regmap, false);
|
||||
|
||||
max98090_reset(max98090);
|
||||
|
||||
regcache_sync(max98090->regmap);
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user