From: Jaroslav Kysela <perex@perex.cz>
To: Takashi Iwai <tiwai@suse.de>,
"Maciej S. Szmigiero" <mail@maciej.szmigiero.name>
Cc: Takashi Iwai <tiwai@suse.com>, Kailang Yang <kailang@realtek.com>,
Oder Chiou <oder_chiou@realtek.com>,
Shuming Fan <shumingf@realtek.com>,
Qiu Wenbo <qiuwenbo@kylinos.com.cn>,
linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] ALSA: hda/realtek: Enable PC beep passthrough for HP EliteBook 855 G7
Date: Mon, 17 Feb 2025 11:11:37 +0100 [thread overview]
Message-ID: <beb7bb41-fb5b-4b6b-86c3-509e97a30614@perex.cz> (raw)
In-Reply-To: <87jz9o99ef.wl-tiwai@suse.de>
On 17. 02. 25 11:02, Takashi Iwai wrote:
> On Sun, 16 Feb 2025 22:31:03 +0100,
> Maciej S. Szmigiero wrote:
>>
>> PC speaker works well on this platform in BIOS and in Linux until sound
>> card drivers are loaded. Then it stops working.
>>
>> There seems to be a beep generator node at 0x1a in this CODEC
>> (ALC269_TYPE_ALC215) but it seems to be only connected to capture mixers
>> at nodes 0x22 and 0x23.
>> If I unmute the mixer input for 0x1a at node 0x23 and start recording
>> from its "ALC285 Analog" capture device I can clearly hear beeps in that
>> recording.
>>
>> So the beep generator is indeed working properly, however I wasn't able to
>> figure out any way to connect it to speakers.
>>
>> However, the bits in the "Passthrough Control" register (0x36) seems to
>> work at least partially: by zeroing "B" and "h" and setting "S" I can at
>> least make the PIT PC speaker output appear either in this laptop speakers
>> or headphones (depending on whether they are connected or not).
>>
>>
>> There are some caveats, however:
>> * If the CODEC gets runtime-suspended the beeps stop so it needs HDA beep
>> device for keeping it awake during beeping.
>>
>> * If the beep generator node is generating any beep the PC beep passthrough
>> seems to be temporarily inhibited, so the HDA beep device has to be
>> prevented from using the actual beep generator node - but the beep device
>> is still necessary due to the previous point.
>>
>> * In contrast with other platforms here beep amplification has to be
>> disabled otherwise the beeps output are WAY louder than they were on pure
>> BIOS setup.
>>
>>
>> Unless someone (from Realtek probably) knows how to make the beep generator
>> node output appear in speakers / headphones using PC beep passthrough seems
>> to be the only way to make PC speaker beeping actually work on this
>> platform.
>>
>> Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
>> ---
>>
>> Since more than 6 weeks has now passed since the previous version of this
>> patch was posted, yet no better or other solution was provided I'm
>> re-submitting an updated version of the original patch.
>>
>> This solution has been working fine for me on this platform all that time,
>> without any obvious issues.
>>
>> Changes from v1:
>> * Correct the typo in !IS_ENABLED(CONFIG_INPUT_PCSPKR) code that the
>> kernel test robot found.
>>
>> * Change codec_warn() into dev_warn_once(hda_codec_dev(codec))
>> to avoid spamming the kernel log at runtime PM CODEC re-init.
>
> This is really a thing to be checked by Realtek people at first, as
> it's very vendor-specific thing.
>
> Kailang, please check this.
The primary issue seems to be with the beep signal routing to the analog
outputs. The hidden codec registers accessed through the coefficient nodes may
play a role for this setup. Only Realtek can give a solid answer for this
(lack of public codec documentation).
Jaroslav
--
Jaroslav Kysela <perex@perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.
next prev parent reply other threads:[~2025-02-17 10:11 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-16 21:31 [PATCH v2] ALSA: hda/realtek: Enable PC beep passthrough for HP EliteBook 855 G7 Maciej S. Szmigiero
2025-02-17 10:02 ` Takashi Iwai
2025-02-17 10:11 ` Jaroslav Kysela [this message]
2025-02-17 10:17 ` Maciej S. Szmigiero
2025-02-17 10:52 ` Takashi Iwai
2025-02-17 13:18 ` Maciej S. Szmigiero
2025-02-19 8:32 ` Kailang
2025-02-19 11:16 ` Maciej S. Szmigiero
2025-03-03 12:45 ` Takashi Iwai
2025-03-04 6:26 ` Kailang
2025-03-04 8:30 ` Takashi Iwai
2025-02-19 8:39 ` Kailang
2025-02-19 6:00 ` Kailang
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=beb7bb41-fb5b-4b6b-86c3-509e97a30614@perex.cz \
--to=perex@perex.cz \
--cc=kailang@realtek.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=mail@maciej.szmigiero.name \
--cc=oder_chiou@realtek.com \
--cc=qiuwenbo@kylinos.com.cn \
--cc=shumingf@realtek.com \
--cc=tiwai@suse.com \
--cc=tiwai@suse.de \
/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