On Fri, Jan 29, 2021 at 01:32:38PM +0000, Srinivas Kandagatla wrote: > On 28/01/2021 16:07, Mark Brown wrote: > > > + if (rx->rx_mclk_users == 0) { > > > + regcache_mark_dirty(regmap); > > > + regcache_sync(regmap); > > I'd expect this to be joined up with whatever caused the register state > > to become invalid, this looks like it's inviting bugs. This also seems > > to have only one caller... > Few lines below we are moving the digital clock from OFF to ON which will > change the state of registers. There are two callers, one from DAPM RX CLK > widget and other from soundwire clock gate! We will potentially enter this > path when we are resuming from clk pause state! You're not syncing with whatever invalidated the register state and caused it to need a resync, or if you think whatever invalidated the register state is in this function you're resyncing before taking any other action which means there's some kind of ordering issue.
Attachment:
signature.asc
Description: PGP signature