All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Christian A. Ehrhardt" <lk@c--e.de>
To: alsa-devel@alsa-project.org
Cc: linux-kernel@vger.kernel.org,
	Lucas Tanure <tanureal@opensource.cirrus.com>,
	Stefan Binding <sbinding@opensource.cirrus.com>,
	Vitaly Rodionov <vitalyr@opensource.cirrus.com>,
	Takashi Iwai <tiwai@suse.com>, Jaroslav Kysela <perex@perex.cz>
Subject: hda/cs8409: Fix internal speaker detection
Date: Fri, 31 Dec 2021 14:12:21 +0100	[thread overview]
Message-ID: <20211231131221.itwotyfk5qomn7n6@cae.in-ulm.de> (raw)


Hi,

I have a DELL Inspirion 3501 laptop with a cirrus cs8904 HDA codec.
With more recent kernels the internal speakers stopped working.
I bisected the issue and tracked it down to this commit 

| commit c8b4f0865e82c14924c69c07d985af3ee9133316
| Author: Stefan Binding <sbinding@opensource.cirrus.com>
| Date:   Wed Aug 11 19:56:52 2021 +0100
|
|     ALSA: hda/cs8409: Remove unnecessary delays
        
After a bit of experimenting with the timeouts I came
up with the patch below that fixes the issue for me.

However, I don't have the specs for the chip, i.e. I don't
know what a theoretically correct value would be.

Suggested patch below, please consider inclusion.

     regards   Christian

From 9c796d221171c6d12fd84ae4f5c8315030c8c4ca Mon Sep 17 00:00:00 2001
From: "Christian A. Ehrhardt" <lk@c--e.de>
Date: Fri, 31 Dec 2021 10:33:19 +0100
Subject: [PATCH 1/2] ALSA: hda/cs8409: Increase delay during jack detection

Commit c8b4f0865e82 reduced delays related to cs42l42 jack
detection. However, the change was too aggressive. As a result
internal speakers on DELL Inspirion 3501 ac8b4f0865e82re not detected.

Increase the delay in cs42l42_run_jack_detect() a bit.

Fixes: c8b4f0865e82 ("ALSA: hda/cs8409: Remove unnecessary delays")
Signed-off-by: Christian A. Ehrhardt <lk@c--e.de>
---
 sound/pci/hda/patch_cs8409.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/pci/hda/patch_cs8409.c b/sound/pci/hda/patch_cs8409.c
index 039b9f2f8e94..bf5d7f0c6ba5 100644
--- a/sound/pci/hda/patch_cs8409.c
+++ b/sound/pci/hda/patch_cs8409.c
@@ -628,8 +628,8 @@ static void cs42l42_run_jack_detect(struct sub_codec *cs42l42)
 	cs8409_i2c_write(cs42l42, 0x1b74, 0x07);
 	cs8409_i2c_write(cs42l42, 0x131b, 0xFD);
 	cs8409_i2c_write(cs42l42, 0x1120, 0x80);
-	/* Wait ~100us*/
-	usleep_range(100, 200);
+	/* Wait ~20ms*/
+	usleep_range(20000, 25000);
 	cs8409_i2c_write(cs42l42, 0x111f, 0x77);
 	cs8409_i2c_write(cs42l42, 0x1120, 0xc0);
 }
-- 
2.32.0



WARNING: multiple messages have this Message-ID (diff)
From: "Christian A. Ehrhardt" <lk@c--e.de>
To: alsa-devel@alsa-project.org
Cc: Stefan Binding <sbinding@opensource.cirrus.com>,
	Lucas Tanure <tanureal@opensource.cirrus.com>,
	Vitaly Rodionov <vitalyr@opensource.cirrus.com>,
	Takashi Iwai <tiwai@suse.com>,
	linux-kernel@vger.kernel.org
Subject: hda/cs8409: Fix internal speaker detection
Date: Fri, 31 Dec 2021 14:12:21 +0100	[thread overview]
Message-ID: <20211231131221.itwotyfk5qomn7n6@cae.in-ulm.de> (raw)


Hi,

I have a DELL Inspirion 3501 laptop with a cirrus cs8904 HDA codec.
With more recent kernels the internal speakers stopped working.
I bisected the issue and tracked it down to this commit 

| commit c8b4f0865e82c14924c69c07d985af3ee9133316
| Author: Stefan Binding <sbinding@opensource.cirrus.com>
| Date:   Wed Aug 11 19:56:52 2021 +0100
|
|     ALSA: hda/cs8409: Remove unnecessary delays
        
After a bit of experimenting with the timeouts I came
up with the patch below that fixes the issue for me.

However, I don't have the specs for the chip, i.e. I don't
know what a theoretically correct value would be.

Suggested patch below, please consider inclusion.

     regards   Christian

From 9c796d221171c6d12fd84ae4f5c8315030c8c4ca Mon Sep 17 00:00:00 2001
From: "Christian A. Ehrhardt" <lk@c--e.de>
Date: Fri, 31 Dec 2021 10:33:19 +0100
Subject: [PATCH 1/2] ALSA: hda/cs8409: Increase delay during jack detection

Commit c8b4f0865e82 reduced delays related to cs42l42 jack
detection. However, the change was too aggressive. As a result
internal speakers on DELL Inspirion 3501 ac8b4f0865e82re not detected.

Increase the delay in cs42l42_run_jack_detect() a bit.

Fixes: c8b4f0865e82 ("ALSA: hda/cs8409: Remove unnecessary delays")
Signed-off-by: Christian A. Ehrhardt <lk@c--e.de>
---
 sound/pci/hda/patch_cs8409.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/pci/hda/patch_cs8409.c b/sound/pci/hda/patch_cs8409.c
index 039b9f2f8e94..bf5d7f0c6ba5 100644
--- a/sound/pci/hda/patch_cs8409.c
+++ b/sound/pci/hda/patch_cs8409.c
@@ -628,8 +628,8 @@ static void cs42l42_run_jack_detect(struct sub_codec *cs42l42)
 	cs8409_i2c_write(cs42l42, 0x1b74, 0x07);
 	cs8409_i2c_write(cs42l42, 0x131b, 0xFD);
 	cs8409_i2c_write(cs42l42, 0x1120, 0x80);
-	/* Wait ~100us*/
-	usleep_range(100, 200);
+	/* Wait ~20ms*/
+	usleep_range(20000, 25000);
 	cs8409_i2c_write(cs42l42, 0x111f, 0x77);
 	cs8409_i2c_write(cs42l42, 0x1120, 0xc0);
 }
-- 
2.32.0



             reply	other threads:[~2021-12-31 13:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-31 13:12 Christian A. Ehrhardt [this message]
2021-12-31 13:12 ` hda/cs8409: Fix internal speaker detection Christian A. Ehrhardt
2022-01-04 15:33 ` Takashi Iwai
2022-01-04 15:33   ` Takashi Iwai

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=20211231131221.itwotyfk5qomn7n6@cae.in-ulm.de \
    --to=lk@c--e.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=sbinding@opensource.cirrus.com \
    --cc=tanureal@opensource.cirrus.com \
    --cc=tiwai@suse.com \
    --cc=vitalyr@opensource.cirrus.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.