From: Curtis Malainey <cujomalainey@google.com>
To: Shuming Fan <shumingf@realtek.com>
Cc: "Oder Chiou" <oder_chiou@realtek.com>,
"Jack Yu" <jack.yu@realtek.com>,
"ALSA development" <alsa-devel@alsa-project.org>,
"Lars-Peter Clausen" <lars@metafoo.de>,
"Liam Girdwood" <lgirdwood@gmail.com>,
"Mark Brown" <broonie@kernel.org>,
"Derek [方德義]" <derek.fang@realtek.com>,
"Nujella, Sathyanarayana" <sathyanarayana.nujella@intel.com>,
"Arava, Jairaj" <jairaj.arava@intel.com>,
"Flove(HsinFu)" <flove@realtek.com>
Subject: Re: [PATCH] ASoC: rt5682: add delay time of workqueue to control next IRQ event
Date: Tue, 9 Mar 2021 10:38:37 -0800 [thread overview]
Message-ID: <CAOReqxgPnL51MNY6Z4JHnNSbkjKnuZG+LQGWYNKMaob4f_pqcw@mail.gmail.com> (raw)
In-Reply-To: <20210309085827.32032-1-shumingf@realtek.com>
On Tue, Mar 9, 2021 at 12:58 AM <shumingf@realtek.com> wrote:
>
> From: Shuming Fan <shumingf@realtek.com>
>
> This patch keeps the delay time (50 ms) for jack detection and zero delay time for the button press.
> This patch improves the reaction of the button press.
>
> Signed-off-by: Shuming Fan <shumingf@realtek.com>
Thanks for fixing this up
Tested-by Curtis Malainey <cujomalainey@chromium.org>
> ---
> sound/soc/codecs/rt5682-i2c.c | 2 +-
> sound/soc/codecs/rt5682-sdw.c | 2 +-
> sound/soc/codecs/rt5682.c | 2 ++
> sound/soc/codecs/rt5682.h | 1 +
> 4 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/sound/soc/codecs/rt5682-i2c.c b/sound/soc/codecs/rt5682-i2c.c
> index 93c1603b42f1..8ea9f1d9fec0 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, msecs_to_jiffies(rt5682->irq_work_delay_time));
>
> return IRQ_HANDLED;
> }
> diff --git a/sound/soc/codecs/rt5682-sdw.c b/sound/soc/codecs/rt5682-sdw.c
> index 5e097f776561..fed80c8f994f 100644
> --- a/sound/soc/codecs/rt5682-sdw.c
> +++ b/sound/soc/codecs/rt5682-sdw.c
> @@ -677,7 +677,7 @@ static int rt5682_interrupt_callback(struct sdw_slave *slave,
>
> if (status->control_port & 0x4) {
> mod_delayed_work(system_power_efficient_wq,
> - &rt5682->jack_detect_work, msecs_to_jiffies(250));
> + &rt5682->jack_detect_work, msecs_to_jiffies(rt5682->irq_work_delay_time));
> }
>
> return 0;
> diff --git a/sound/soc/codecs/rt5682.c b/sound/soc/codecs/rt5682.c
> index 559dc6db1f7c..0e2a10ed11da 100644
> --- a/sound/soc/codecs/rt5682.c
> +++ b/sound/soc/codecs/rt5682.c
> @@ -1094,6 +1094,7 @@ void rt5682_jack_detect_handler(struct work_struct *work)
> /* jack was out, report jack type */
> rt5682->jack_type =
> rt5682_headset_detect(rt5682->component, 1);
> + rt5682->irq_work_delay_time = 0;
> } else if ((rt5682->jack_type & SND_JACK_HEADSET) ==
> SND_JACK_HEADSET) {
> /* jack is already in, report button event */
> @@ -1139,6 +1140,7 @@ void rt5682_jack_detect_handler(struct work_struct *work)
> } else {
> /* jack out */
> rt5682->jack_type = rt5682_headset_detect(rt5682->component, 0);
> + rt5682->irq_work_delay_time = 50;
> }
>
> snd_soc_jack_report(rt5682->hs_jack, rt5682->jack_type,
> diff --git a/sound/soc/codecs/rt5682.h b/sound/soc/codecs/rt5682.h
> index 1f9c51a5b9bf..74ff66767016 100644
> --- a/sound/soc/codecs/rt5682.h
> +++ b/sound/soc/codecs/rt5682.h
> @@ -1439,6 +1439,7 @@ struct rt5682_priv {
> int pll_out[RT5682_PLLS];
>
> int jack_type;
> + int irq_work_delay_time;
> };
>
> extern const char *rt5682_supply_names[RT5682_NUM_SUPPLIES];
> --
> 2.29.0
>
next prev parent reply other threads:[~2021-03-09 18:39 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-09 8:58 [PATCH] ASoC: rt5682: add delay time of workqueue to control next IRQ event shumingf
2021-03-09 18:38 ` Curtis Malainey [this message]
2021-03-09 19:06 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAOReqxgPnL51MNY6Z4JHnNSbkjKnuZG+LQGWYNKMaob4f_pqcw@mail.gmail.com \
--to=cujomalainey@google.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=derek.fang@realtek.com \
--cc=flove@realtek.com \
--cc=jack.yu@realtek.com \
--cc=jairaj.arava@intel.com \
--cc=lars@metafoo.de \
--cc=lgirdwood@gmail.com \
--cc=oder_chiou@realtek.com \
--cc=sathyanarayana.nujella@intel.com \
--cc=shumingf@realtek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).