From: Takashi Iwai <tiwai@suse.de>
To: Razvan Dinculescu <razvandinculescu@gmail.com>
Cc: Takashi Iwai <tiwai@suse.com>, Jaroslav Kysela <perex@perex.cz>,
linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] ALSA: hda/hdmi: Don't share an assigned converter on NVIDIA codecs
Date: Tue, 03 Nov 2026 15:49:41 +0100 [thread overview]
Message-ID: <87wlquvuka.wl-tiwai@suse.de> (raw)
In-Reply-To: <20261102190417.2661176-1-razvandinculescu@gmail.com>
On Mon, 02 Nov 2026 20:04:17 +0100,
Razvan Dinculescu wrote:
>
> All pins of the NVIDIA HDMI/DP codecs share one connection list, so a
> converter can be selected by several pins at once. Unlike the Intel
> codecs (intel_not_share_assigned_cvt()), the NVIDIA ones never move an
> idle pin off the converter that another pin streams on, and the display
> that should play stays silent.
>
> Seen on an RTX 5090 (codec 0x10de00aa) with a DP monitor on pin 0x04
> and an HDMI TV on pin 0x05. PipeWire probes every PCM at start-up: the
> monitor's PCM got converter 0x08 and kept it selected after closing,
> then the TV's PCM got 0x08 as well when it was opened. With both pins
> on 0x08 the TV played nothing, although its PCM was running and its
> ELD was valid. Opening the monitor's PCM while the TV's was running
> moved the monitor to 0x09 and the TV played at once. Restarting
> PipeWire put both pins back on 0x08.
>
> Implement pin_cvt_fixup for the generic NVIDIA model as Intel does:
> restore the pin's own converter selection, which
> snd_hda_hdmi_generic_pcm_prepare() relies on after the hardware drops
> it, then move every other connected pin that selects the assigned
> converter to an unassigned one. Look the converter up in each pin's
> own connection list instead of assuming the same order on every pin.
>
> Tested on that system with the TV's PCM on 0x08 and the monitor's on
> 0x09, both pins then forced onto 0x08 with hda-verb: a prepare on the
> TV's PCM moved the monitor off 0x08, and a prepare on the monitor's
> PCM put it back on 0x09.
>
> Signed-off-by: Razvan Dinculescu <razvandinculescu@gmail.com>
Applied now. Thanks.
Takashi
prev parent reply other threads:[~2026-11-03 14:49 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-02 19:04 Razvan Dinculescu
2026-11-03 14:49 ` Takashi Iwai [this message]
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=87wlquvuka.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=razvandinculescu@gmail.com \
--cc=tiwai@suse.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
all inboxes | Powered by JetHome®