Hi Broonie > -----Original Message----- > From: Mark Brown <broonie@xxxxxxxxxx> > Sent: Tuesday, August 20, 2024 12:07 AM > To: Ding, Shenghao <shenghao-ding@xxxxxx> > Cc: andriy.shevchenko@xxxxxxxxxxxxxxx; lgirdwood@xxxxxxxxx; > perex@xxxxxxxx; pierre-louis.bossart@xxxxxxxxxxxxxxx; > 13916275206@xxxxxxx; zhourui@xxxxxxxxxx; alsa-devel@xxxxxxxxxxxxxxxx; > Salazar, Ivan <i-salazar@xxxxxx>; liam.r.girdwood@xxxxxxxxx; Yue, Jaden > <jaden-yue@xxxxxx>; yung-chuan.liao@xxxxxxxxxxxxxxx; Rao, Dipa > <dipa@xxxxxx>; yuhsuan@xxxxxxxxxx; Lo, Henry <henry.lo@xxxxxx>; > tiwai@xxxxxxx; Xu, Baojun <baojun.xu@xxxxxx>; Baojun.Xu@xxxxxxx; Chadha, > Jasjot Singh <j-chadha@xxxxxx>; judyhsiao@xxxxxxxxxx; Navada Kanyana, > Mukund <navada@xxxxxx>; cujomalainey@xxxxxxxxxx; Kutty, Aanya > <aanya@xxxxxx>; Mahmud, Nayeem <nayeem.mahmud@xxxxxx>; > savyasanchi.shukla@xxxxxxxxxxxxx; flaviopr@xxxxxxxxxxxxx; Ji, Jesse <jesse- > ji@xxxxxx>; darren.ye@xxxxxxxxxxxx; antheas.dk@xxxxxxxxx; > Jerry2.Huang@xxxxxxxxxxxxxxxxxx; jim.shil@xxxxxxxxxxx > Subject: [EXTERNAL] Re: [PATCH v1] ASoc: tas2781: fixed the issue that the > chip do not shutdown immediatly after aplay stopped > > On Mon, Aug 19, 2024 at 10:10:12PM +0800, Shenghao Ding wrote: > > Issue reported from customer that the chip do not shutdown after aplay > > stopped until 6 mins later. Drop tasdevice_dapm_event and implement > > .stream_mute in the tasdevice_dai_ops. > > Six minutes sounds like a usersrpace issue with userspace sitting playing silence > for a long time rather than a driver issue. By default DAPM does defer > powerdown, but only by seconds not minutes. > > > - /* Codec Lock Release*/ > > - mutex_unlock(&tas_priv->codec_lock); > > + /* Codec Lock/UnLock */ > > + guard(mutex)(&tas_priv->codec_lock); > > + tasdevice_tuning_switch(tas_priv, mute); > > This is a much heavier weight operation than we're expecting for a mute, it > should usually just be literally muting - one or two register writes, not a power > up/down sequence Can the power on is still kept in DAMP, and move the power off(Only set the register 0x2 to 0xe) into the .mute_stream?