Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 04 Sep 2025 01:52:38 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 289284] [patch] AMD Radeon W2100 DisplayPort/HDMI audio does not work
Message-ID:  <bug-289284-227@https.bugs.freebsd.org/bugzilla/>

index | next in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289284

            Bug ID: 289284
           Summary: [patch] AMD Radeon W2100 DisplayPort/HDMI audio does
                    not work
           Product: Base System
           Version: 13.5-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: need.espresso@proton.me

Created attachment 263462
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=263462&action=edit
Removes conditionals and sets corbsize, with reset

Hi,

13.5-RELEASE would not initialize the AMD W2100's DisplayPort (HDMI) audio:

hdac0: <ATI (0xaab0) HDA Controller> mem 0xf1b40000-0xf1b43fff irq 36 at device
0.1 on pci3
hdac0: hdac_get_capabilities: Invalid corb size (0)
device_attach: hdac0 attach returned 6

In researching, I found this series of suggested code changes by avg@:
https://freebsd-current.freebsd.narkive.com/QZiPCBtN/amd64-panic-snd-hda-hdac-get-capabilities-invalid-c
orb-size-0

I can confirm that it fixes the issue -- it now works flawlessly:

hdacc0: <ATI R6xx HDA CODEC> at cad 0 on hdac0
hdaa0: <ATI R6xx Audio Function Group> at nid 1 on hdacc0
[...]
hdac0: <ATI (0xaab0) HDA Controller> mem 0xf1b40000-0xf1b43fff irq 36 at device
0.1 on pci3
hdacc0: <ATI R6xx HDA CODEC> at cad 0 on hdac0
hdaa0: <ATI R6xx Audio Function Group> at nid 1 on hdacc0
pcm0: <ATI R6xx (HDMI)> at nid 3 on hdaa0
pcm1: <ATI R6xx (HDMI)> at nid 5 on hdaa0


Diffs attached:

I heeded the advice in that thread and removed the corbsize and rirbsize checks
on my system.
This is the "just-set-256.diff", which has shown no issues in testing.

However, I also thought it may be wanted to only set corbsize/rirbsize in the
failure condition, and so
I also made "keep-ifs.diff", which also works fine.

Only one of these diffs is needed.  I am open to refining further if need be. 
All credit is avg@'s.

Thanks.

-- 
You are receiving this mail because:
You are the assignee for the bug.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-289284-227>