[PATCH] ASoC: rt5682: remove jack detect delay

Takashi Iwai tiwai at suse.de
Thu Feb 18 09:44:30 CET 2021


On Thu, 18 Feb 2021 09:38:53 +0100,
Shuming [范書銘] <shumingf at realtek.com> wrote:
> 
> > There is a 250ms delay on the jack detect interrupt currently, this delay is
> > observable to users who are using inline controls. It can also mask multiple
> > presses which is a negative experience.
> > 
> > Cc: Bard liao <yung-chuan.liao at linux.intel.com>
> > Cc: Shuming Fan <shumingf at realtek.com>
> > 
> > Signed-off-by: Curtis Malainey <cujomalainey at chromium.org>
> > ---
> >  sound/soc/codecs/rt5682-i2c.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/sound/soc/codecs/rt5682-i2c.c b/sound/soc/codecs/rt5682-i2c.c
> > index 93c1603b42f1..b15c3e7d1f59 100644
> > --- a/sound/soc/codecs/rt5682-i2c.c
> > +++ b/sound/soc/codecs/rt5682-i2c.c
> > @@ -78,7 +78,7 @@ static irqreturn_t rt5682_irq(int irq, void *data)
> >  	struct rt5682_priv *rt5682 = data;
> > 
> >  	mod_delayed_work(system_power_efficient_wq,
> > -		&rt5682->jack_detect_work, msecs_to_jiffies(250));
> > +		&rt5682->jack_detect_work, 0);
> 
> How about using the device property to adjust the delay time?
> I think it should keep the workqueue to do the jack/button detection because the jack type detection will take some times to do.

One might check twice (or more) if it's not certain, too.  That is,
check the jack immediately, and if the jack state really changed,
report it so.  OTOH, if the jack state doesn't change from the old
state, it can retry after some delay.


thanks,

Takashi


More information about the Alsa-devel mailing list