On 20-03-13 16:55:47, Philipp Zabel wrote: > On Fri, 2020-03-13 at 16:16 +0200, Abel Vesa wrote: > [...] > > > > + if (assert) { > > > > + pm_runtime_get_sync(rcdev->dev); > > > > > > This seems wrong. Why is the runtime PM reference count incremented when > > > a reset is asserted ... > > > > The audiomix IP has its own power domain. > > The reset controller does not control the power domain for its > consumers. The consumer of this reset should implement runtime PM. > No, the reset controller itself is part of a more complex IP called audiomix that has its own power domain. > > The way I see it, when the last deassert is done, there is no point > > in keeping the audiomix on. So, unless the clock controller part of it does it, > > the audiomix will be powered down. > > You mean when the last assert is done? Presumably the driver wants to > use the hardware after deasserting the reset and asserts the reset when > it is done. No, I mean deassert. If there is no reset asserted anymore, then the audiomix can power down, if nothing else (I'm talking about the other stuff that's in the audiomix, like clock controller) keeping it on. The reset controller needs to be on only when there is an assertion of at least one reset bit going on. > > regards > Philipp