Audio out on DisplayPort but not HDMI, on AMD Ryzen APU/Vega

Takashi Iwai tiwai at suse.de
Thu Jul 8 14:53:18 CEST 2021


On Thu, 08 Jul 2021 14:26:54 +0200,
Damjan Georgievski wrote:
> 
> On Thu, 8 Jul 2021 at 13:37, Takashi Iwai <tiwai at suse.de> wrote:
> >
> > On Fri, 02 Jul 2021 15:27:30 +0200,
> > Damjan Georgievski wrote:
> > >
> > > I have a desktop computer with an AMD Ryzen 5 4650G PRO APU (CPU + on-die GPU).
> > > The motherboard (MSI Mortar B550m wifi / bios 1.6). has one
> > > displayport and one HDMI outputs.
> > > The displayport is connected to my Lenovo P27 monitor, and the HDMI to
> > > my Samsung TV.
> > >
> > > When I choose the GPU as an audio out, I only get audio on the 3.5"
> > > headphones jack of the Lenovo monitor, while I would like to get the
> > > audio on the Samsung TV over HDMI.
> > > I can't find a way to switch the different outputs (neither over
> > > pipewire or just using native alsa).
> > >
> > > pavucontrol configuration https://i.imgur.com/9nbVtNz.png
> > > alsamixer -c0 only has only one option to mute s/pdif, which mutes the
> > > output on the displayport -> Lenovo -> 3.5" jack.
> > >
> > >
> > > $ aplay -l
> > > **** List of PLAYBACK Hardware Devices ****
> > > card 1: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
> > >  Subdevices: 1/1
> > >  Subdevice #0: subdevice #0
> > > card 2: Generic_1 [HD-Audio Generic], device 0: ALCS1200A Analog
> > > [ALCS1200A Analog]
> > >  Subdevices: 1/1
> > >  Subdevice #0: subdevice #0
> > > card 2: Generic_1 [HD-Audio Generic], device 1: ALCS1200A Digital
> > > [ALCS1200A Digital]
> > >  Subdevices: 1/1
> > >  Subdevice #0: subdevice #0
> > >
> > > Am I correct that card 1 here ^ should have at least two devices?
> >
> > It could have more entries, depending on the configuration.
> > I suppose you enabled CONFIG_SND_HDA_CODEC_HDMI properly?
> 
> yes - CONFIG_SND_HDA_CODEC_HDMI=m is enabled.
> I've been using the  Arch distro kernel, which has that enabled; but
> also with self-compiled 5.13.0 from
> stable, with the same distro config; and with 5.14-git (77d34a468)
> with the same config.
> All have the same behaviour.
> 
> Should this hardware be supported with the
> sound/soc/amd/renoir/rn-pci-acp3x.c driver (instead of snd_hda_intel)?
> … since it is a Renoir desktop APU.
> 
> > Please give alsa-info.sh output for more detailed analysis.
> 
> http://alsa-project.org/db/?f=00b31f3f0e6c58b56c73f98aec7c6b5ccaff700e

The codec proc output there shows that only one pin is enabled for
HDMI/DP output, and that's the reason why the driver created only one
stream.  It's basically a BIOS setup.

The patch below should enable all pins forcibly and this should give
more streams.  Give it a try.


Takashi

--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -1940,6 +1940,7 @@ static int hdmi_add_cvt(struct hda_codec *codec, hda_nid_t cvt_nid)
 static const struct snd_pci_quirk force_connect_list[] = {
 	SND_PCI_QUIRK(0x103c, 0x870f, "HP", 1),
 	SND_PCI_QUIRK(0x103c, 0x871a, "HP", 1),
+	SND_PCI_QUIRK(0x1462, 0xec94, "MS-7C94", 1),
 	{}
 };
 


More information about the Alsa-devel mailing list