On Thu, Aug 03, 2023 at 02:52:20PM +0800, Bard Liao wrote: > From: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> > > The SoundWire bus is handled with a dedicated device, which is placed > between the Intel auxiliary device and peripheral devices, e.g. > > soundwire_intel.link.0/sdw-master-0/sdw:0:025d:0711:01 > > The functionality of this 'sdw-master' device is limited, specifically > for pm_runtime the ASoC framework will not rely on > pm_runtime_get_sync() since it does not register any components. It > will only change status thanks to the parent-child relationship which > guarantees that the 'sdw-master' device will be pm_runtime resumed > before any peripheral device. > > However on startup and system resume it's possible that only the > auxiliary device is pm_runtime active, and the peripheral will only > become active during its io_init routine, leading to another > occurrence of the error reported by the pm_runtime framework: > > rt711 sdw:0:025d:0711:00: runtime PM trying to activate child device > sdw:0:025d:0711:00 but parent (sdw-master-0) is not active > > This patch suggests aligning the sdw-master device status to that of > the auxiliary device. The difference between the two is completely > notional and their pm_status shouldn't be different during the startup > and system resume steps. > > This problem was exposed by recent changes in the timing of the bus > reset, but was present in this driver since we introduced pm_runtime > support. > > Closes: https://github.com/thesofproject/linux/issues/4328 > Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> > Reviewed-by: Ranjani Sridharan <ranjani.sridharan@xxxxxxxxxxxxxxx> > Reviewed-by: Rander Wang <rander.wang@xxxxxxxxx> > Signed-off-by: Bard Liao <yung-chuan.liao@xxxxxxxxxxxxxxx> > --- Tested-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx> Thanks, Charles