On Mon, Sep 27, 2021 at 11:48:56AM -0500, Pierre-Louis Bossart wrote: > On 9/27/21 11:06 AM, Mark Brown wrote: > > More specifically what it does is make the invalidation of the register > > cache unconditional. It doesn't really matter if the invalidation is > > done on suspend or resume, so long as it happens before we attempt to > > resync - this could also be done by deleting the first_hw_init check. > Mark, that's exactly my point: if the amp rejoins the bus, we will > *always* mark the cache as dirty, before the resync is done in the > resume sequence. Ah, yes - I see. > I am really trying to figure out if we have a major flaw in the resume > sequence and why things are different in the case of the Maxim amp. > Instead of changing the suspend sequence, can we please try to modify > the max98373_io_init() routine to unconditionally flag the cache as > dirty, maybe this points to a problem with the management of the > max98373->first_hw_init flag. A quick survey of other drivers suggests that this pattern should be factored out into some helpers as it looks like there's several ways of implementing it that look very similar but not quite the same...
Attachment:
signature.asc
Description: PGP signature