ALT Linux kernel packages development
 help / color / mirror / Atom feed
From: kovalev@altlinux.org
To: devel-kernel@lists.altlinux.org
Subject: [d-kernel] [PATCH 20/33] ASoC: codecs: ES8326: Solve error interruption issue
Date: Mon, 29 Jul 2024 08:10:09 +0300
Message-ID: <20240729051022.98198-21-kovalev@altlinux.org> (raw)
In-Reply-To: <20240729051022.98198-1-kovalev@altlinux.org>

From: Zhang Yi <zhangyi@everest-semi.com>

commit 8a655cee6c9d4588570ad0cb099c5660f9a44a12 upstream.

We got an error report about headphone type detection and button detection.
We fixed the headphone type detection error by adjusting the debounce timer
configuration. And we fixed the button detection error by disabling the
button detection feature when the headphone are unplugged and enabling it
when headphone are plugged in.

Signed-off-by: Zhang Yi <zhangyi@everest-semi.com>
Link: https://msgid.link/r/20240402062043.20608-2-zhangyi@everest-semi.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>
---
 sound/soc/codecs/es8326.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/sound/soc/codecs/es8326.c b/sound/soc/codecs/es8326.c
index 93e42777b4a87f..4f6f2e3aeced83 100644
--- a/sound/soc/codecs/es8326.c
+++ b/sound/soc/codecs/es8326.c
@@ -835,6 +835,7 @@ static void es8326_jack_detect_handler(struct work_struct *work)
 		regmap_update_bits(es8326->regmap, ES8326_HPDET_TYPE, 0x03, 0x01);
 		regmap_write(es8326->regmap, ES8326_SYS_BIAS, 0x0a);
 		regmap_update_bits(es8326->regmap, ES8326_HP_DRIVER_REF, 0x0f, 0x03);
+		regmap_write(es8326->regmap, ES8326_INT_SOURCE, ES8326_INT_SRC_PIN9);
 		/*
 		 * Inverted HPJACK_POL bit to trigger one IRQ to double check HP Removal event
 		 */
@@ -857,6 +858,8 @@ static void es8326_jack_detect_handler(struct work_struct *work)
 			 * set auto-check mode, then restart jack_detect_work after 400ms.
 			 * Don't report jack status.
 			 */
+			regmap_write(es8326->regmap, ES8326_INT_SOURCE,
+					(ES8326_INT_SRC_PIN9 | ES8326_INT_SRC_BUTTON));
 			regmap_update_bits(es8326->regmap, ES8326_HPDET_TYPE, 0x03, 0x01);
 			es8326_enable_micbias(es8326->component);
 			usleep_range(50000, 70000);
@@ -979,7 +982,7 @@ static int es8326_resume(struct snd_soc_component *component)
 	regmap_write(es8326->regmap, ES8326_VMIDSEL, 0x0E);
 	regmap_write(es8326->regmap, ES8326_ANA_LP, 0xf0);
 	usleep_range(10000, 15000);
-	regmap_write(es8326->regmap, ES8326_HPJACK_TIMER, 0xe9);
+	regmap_write(es8326->regmap, ES8326_HPJACK_TIMER, 0xd9);
 	regmap_write(es8326->regmap, ES8326_ANA_MICBIAS, 0xcb);
 	/* set headphone default type and detect pin */
 	regmap_write(es8326->regmap, ES8326_HPDET_TYPE, 0x83);
@@ -1030,8 +1033,7 @@ static int es8326_resume(struct snd_soc_component *component)
 	es8326_enable_micbias(es8326->component);
 	usleep_range(50000, 70000);
 	regmap_update_bits(es8326->regmap, ES8326_HPDET_TYPE, 0x03, 0x00);
-	regmap_write(es8326->regmap, ES8326_INT_SOURCE,
-		    (ES8326_INT_SRC_PIN9 | ES8326_INT_SRC_BUTTON));
+	regmap_write(es8326->regmap, ES8326_INT_SOURCE, ES8326_INT_SRC_PIN9);
 	regmap_write(es8326->regmap, ES8326_INTOUT_IO,
 		     es8326->interrupt_clk);
 	regmap_write(es8326->regmap, ES8326_SDINOUT1_IO,
-- 
2.33.8



  parent reply	other threads:[~2024-07-29  5:10 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-29  5:09 [d-kernel] [PATCH c10f2/c10f1 6.1.y 0/33] ASoC: codecs: es83x6: fix support kovalev
2024-07-29  5:09 ` [d-kernel] [PATCH 01/33] ASoC: codecs: ES8316: fix build warning kovalev
2024-07-29  5:09 ` [d-kernel] [PATCH 02/33] ASoC: codecs: ES8326: Add es8326_mute function kovalev
2024-07-29  5:09 ` [d-kernel] [PATCH 03/33] ASoC: codecs: ES8326: Change Hp_detect register names kovalev
2024-07-29  5:09 ` [d-kernel] [PATCH 04/33] ASoC: codecs: ES8326: Change Volatile Reg function kovalev
2024-07-29  5:09 ` [d-kernel] [PATCH 05/33] ASoC: codecs: ES8326: Fix power-up sequence kovalev
2024-07-29  5:09 ` [d-kernel] [PATCH 06/33] ASOC: codecs: ES8326: Add calibration support for version_b kovalev
2024-07-29  5:09 ` [d-kernel] [PATCH 07/33] ASoC: codecs: ES8326: Update jact detection function kovalev
2024-07-29  5:09 ` [d-kernel] [PATCH 08/33] ASoC: codecs: ES8326: Add chip version flag kovalev
2024-07-29  5:09 ` [d-kernel] [PATCH 09/33] ASoC: codecs: ES8326: Changing initialisation and broadcasting kovalev
2024-07-29  5:09 ` [d-kernel] [PATCH 10/33] ASoC: codecs: ES8326: Changing the headset detection time kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 11/33] ASoC: codecs: ES8326: improving crosstalk performance kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 12/33] ASoC: codecs: ES8326: Improving the THD+N performance kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 13/33] ASoC: codecs: ES8326: Minimize the pop noise on headphone kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 14/33] ASoC: codecs: ES8326: fix the capture noise issue kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 15/33] ASoC: codecs: ES8326: Remove executable bit kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 16/33] ASoC: codecs: ES8326: Adding new volume kcontrols kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 17/33] ASoC: codecs: ES8326: Changing members of private structure kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 18/33] ASoC: codecs: ES8326: Reducing power consumption kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 19/33] ASoC: codecs: ES8326: Delete unused REG_SUPPLY kovalev
2024-07-29  5:10 ` kovalev [this message]
2024-07-29  5:10 ` [d-kernel] [PATCH 21/33] ASoC: codecs: ES8326: modify clock table kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 22/33] ASoC: codecs: ES8326: Solve a headphone detection issue after suspend and resume kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 23/33] ASoC: codecs: ES8326: Removing the control of ADC_SCALE kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 24/33] ASoC: codecs: ES8326: solve hp and button detect issue kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 25/33] ASoC: codecs: ES8326: Solve headphone detection issue kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 26/33] ASoC: codecs: ES8326: Slove " kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 27/33] ASoC: codecs: ES8326: Minimize the pop noise kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 28/33] ASoC: codecs: ES8326: regcache_sync error issue kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 29/33] ASoC: codecs: ES8326: suspend issue kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 30/33] ASoC: Intel: sof-essx8336 - add DMI info for Aquarius laptops kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 31/33] ASoC: Intel: sof-essx8336 - add DMI info of the Kraftway ACCORD S15T laptop kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 32/33] ASoC: Intel: sof-essx8336 - add DMI info of the ACD Smart Solutions TG819S laptop kovalev
2024-07-29  5:10 ` [d-kernel] [PATCH 33/33] ASoC: Intel: sof-essx8336: force card->name for the es8326 codec kovalev
2024-07-29  5:47 ` [d-kernel] [PATCH c10f2/c10f1 6.1.y 0/33] ASoC: codecs: es83x6: fix support Vitaly Chikunov
2024-07-30  7:48   ` Vasiliy Kovalev

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=20240729051022.98198-21-kovalev@altlinux.org \
    --to=kovalev@altlinux.org \
    --cc=devel-kernel@lists.altlinux.org \
    /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

ALT Linux kernel packages development

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel-kernel/0 devel-kernel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel-kernel devel-kernel/ http://lore.altlinux.org/devel-kernel \
		devel-kernel@altlinux.org devel-kernel@altlinux.ru devel-kernel@altlinux.com
	public-inbox-index devel-kernel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git