Linux Sound subsystem development
 help / color / mirror / Atom feed
From: "Péter Ujfalusi" <peter.ujfalusi@linux.intel.com>
To: Alexander Kaplan <alexander.kaplan@sms-medipool.de>,
	Takashi Iwai <tiwai@suse.com>,
	linux-sound@vger.kernel.org
Cc: Jaroslav Kysela <perex@perex.cz>,
	Kai Vehmanen <kai.vehmanen@linux.intel.com>,
	Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>,
	stable@vger.kernel.org, "Shankar, Uma" <uma.shankar@intel.com>
Subject: Re: [PATCH] ALSA: hda/hdmi: disable KAE for Intel Panther Lake
Date: Thu, 11 Jun 2026 12:08:57 +0300	[thread overview]
Message-ID: <5e05e954-338c-4a87-8a60-1fd2bd6bb8ce@linux.intel.com> (raw)
In-Reply-To: <20260610174834.6301-1-alexander.kaplan@sms-medipool.de>

Hi,

On 10/06/2026 20:48, Alexander Kaplan wrote:
> On Panther Lake the keep-alive engine poisons the display side of the
> audio path for multichannel PCM.
> Once KAE has been active in the running display power cycle, the first
> 6 or 8 channel stream on that pin plays silent and wedges the pin.
> All subsequent streams stay silent regardless of their format.
> Only a display power domain cycle recovers the pin, in practice a
> reboot or one suspend cycle.
> 
> The wedge sits behind the audio converter.
> Sample counters in the display audio register block keep running during
> the silent playback while the output stays dead.
> The wedge survives clearing the KAE bit ahead of the stream id
> programming, fully quiescing the converter (KAE bit, stream id and
> format cleared before the multichannel setup), a complete codec and
> controller reset through a driver rebind with the keep-alive kept off,
> and powering down the audio well for ten minutes.
> The sequence is harmless when the keep-alive was never enabled in the
> running display power cycle, which isolates the KAE hardware as the
> trigger.
> 
> Easy reproducer on a sink whose LPCM capability is limited to
> 2 channels:
> speaker-test -c2 plays, one speaker-test -c6 run plays silent and every
> following speaker-test -c2 stays silent until reboot.
> With enable_silent_stream=0 the same sequence plays normally.

Normally I have KAE disabled for power saving reasons on my laptops, but
did a quick test on my PTL:
# cat /proc/asound/card0/codec#2 | grep KAE
  Digital: Enabled KAE

speaker-test -c2 / -c6 works as many times as I run them in all permutation.

> 
> This is the failure class already known from commit 6ab6f98fcdc9
> ("ALSA: hda/hdmi: disable KAE for Intel DG2").
> Handle Panther Lake like DG2 and fall back to the older i915 silent
> stream method, which uses the regular stream path instead of the
> keep-alive engine.
> Like on DG2 this keeps the codec powered while the silent stream runs.
> 
> Cc: stable@vger.kernel.org
> Fixes: e9481d9b83f8 ("ALSA: hda: add HDMI codec ID for Intel PTL")
> Signed-off-by: Alexander Kaplan <alexander.kaplan@sms-medipool.de>
> ---
> Found and verified on an ASUS NUC 16 Pro (Panther Lake H, codec
> 0x80862822) driving an LG TV through a Synaptics VMM7100 DP-to-HDMI
> protocol converter, kernel 7.1-rc7.
> The poisoning is independent of the sink and of the video mode.

My setup is: laptop HDMI -> SYNIC HDMI audio extractor -> HDMI KVM ->
monitor w/o speakers.
I use the extractor to grab the audio and it is clean every time I play
audio to HDMI.

Can this be somehow related to the DP-to-HDMI converter? Have you tested
that with other machine?
Or a combination of xe2+DP-to-HDMI?

Ccing Uma for display side
> This may also fix the silent Dolby TrueHD passthrough on Battlemage
> reported in
> https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/7515.
> Battlemage uses the same keep-alive code path and TrueHD passthrough
> is the same first-multichannel-stream pattern, but I could not test
> that hardware.
> 
> Workaround for affected systems without this patch:
> snd_hda_codec_intelhdmi.enable_silent_stream=0.
> 
>  sound/hda/codecs/hdmi/intelhdmi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sound/hda/codecs/hdmi/intelhdmi.c b/sound/hda/codecs/hdmi/intelhdmi.c
> index 6a7882544a..52997caae9 100644
> --- a/sound/hda/codecs/hdmi/intelhdmi.c
> +++ b/sound/hda/codecs/hdmi/intelhdmi.c
> @@ -791,7 +791,7 @@ static const struct hda_device_id snd_hda_id_intelhdmi[] = {
>  	HDA_CODEC_ID_MODEL(0x8086281e, "Battlemage HDMI",	MODEL_ADLP),
>  	HDA_CODEC_ID_MODEL(0x8086281f, "Raptor Lake P HDMI",	MODEL_ADLP),
>  	HDA_CODEC_ID_MODEL(0x80862820, "Lunar Lake HDMI",	MODEL_ADLP),
> -	HDA_CODEC_ID_MODEL(0x80862822, "Panther Lake HDMI",	MODEL_ADLP),
> +	HDA_CODEC_ID_MODEL(0x80862822, "Panther Lake HDMI",	MODEL_TGL),
>  	HDA_CODEC_ID_MODEL(0x80862823, "Wildcat Lake HDMI",	MODEL_ADLP),
>  	HDA_CODEC_ID_MODEL(0x80862824, "Nova Lake HDMI",	MODEL_ADLP),
>  	HDA_CODEC_ID_MODEL(0x80862882, "Valleyview2 HDMI",	MODEL_BYT),

-- 
Péter


  reply	other threads:[~2026-06-11  9:08 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-10 17:48 [PATCH] ALSA: hda/hdmi: disable KAE for Intel Panther Lake Alexander Kaplan
2026-06-11  9:08 ` Péter Ujfalusi [this message]
2026-06-11  9:33   ` Péter Ujfalusi
2026-06-11 14:44     ` Alexander Kaplan
2026-06-12 12:45       ` Péter Ujfalusi
2026-06-12 18:13         ` Alexander Kaplan
2026-06-16 19:13           ` Kai Vehmanen

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=5e05e954-338c-4a87-8a60-1fd2bd6bb8ce@linux.intel.com \
    --to=peter.ujfalusi@linux.intel.com \
    --cc=alexander.kaplan@sms-medipool.de \
    --cc=kai.vehmanen@linux.intel.com \
    --cc=linux-sound@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=pierre-louis.bossart@linux.dev \
    --cc=stable@vger.kernel.org \
    --cc=tiwai@suse.com \
    --cc=uma.shankar@intel.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