Bug 103404

Summary: HDMI Audio with RX Vega not working on drm-next-4.15-dc (device listed as unconnected)
Product: DRI Reporter: randomsalad
Component: DRM/AMDgpuAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium CC: harry.wentland, jordan.lazare, sunpeng.li
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg output filtered to show drm messages
none
Parsed edid output for the receiver.
none
Parsed edid output for the monitor, connected via DP.
none
cat /proc/asound/card0/eld#0.*
none
[PATCH 1/2] drm/amd: Add DCE12 resource strap registers
none
[PATCH 2/2] drm/amd/display: Read resource_straps from registers for DCE12
none
Compilation error for the patch none

Description randomsalad 2017-10-22 15:07:59 UTC
Created attachment 134990 [details]
dmesg output filtered to show drm messages

When using a DC-patched kernel (the drm-next-4.15-dc branch to be specific), HDMI audio output on RX Vega does not work, as the device(s) are simply listed as unconnected.

Audio over DisplayPort works, but the second device (A 5.1 Surround Sound AV Receiver) does not register as an audio-output.
It doesn't matter which port is used; All 4 physical monitor outputs (3 DisplayPorts, 1 HDMI), when connected to another device, be it the AV receiver or the monitor, fails to register any audio outputs. Only DisplayPort->DisplayPort works.

The attached dmesg log file shows both devices being connected and detected as audio outputs by drm, including the number of configurations available on each.
Comment 1 randomsalad 2017-10-22 15:09:49 UTC
Created attachment 134991 [details]
Parsed edid output for the receiver.
Comment 2 randomsalad 2017-10-22 15:10:30 UTC
Created attachment 134992 [details]
Parsed edid output for the monitor, connected via DP.
Comment 3 randomsalad 2017-10-22 15:11:45 UTC
Created attachment 134993 [details]
cat /proc/asound/card0/eld#0.*
Comment 4 monkeykulig 2017-10-29 10:31:05 UTC
I have exactly the same problem here with a rx vega 56 and rx vega 64
Comment 5 Harry Wentland 2017-10-30 14:12:00 UTC
It looks like we missed this when bringing up Vega. We got a patch in the works. It should land sometime this week.
Comment 6 monkeykulig 2017-10-31 13:46:48 UTC
Thank you for your quick response,  I am glad to hear that a patch will be there soon
Comment 7 Leo Li 2017-10-31 20:33:59 UTC
Created attachment 135191 [details] [review]
[PATCH 1/2] drm/amd: Add DCE12 resource strap registers
Comment 8 Leo Li 2017-10-31 20:34:38 UTC
Created attachment 135192 [details] [review]
[PATCH 2/2] drm/amd/display: Read resource_straps from registers for DCE12
Comment 9 Leo Li 2017-10-31 20:36:26 UTC
@randomsalad, I've attached the patches. Please let me know if they resolve the issue.
Comment 10 randomsalad 2017-10-31 21:08:53 UTC
Created attachment 135197 [details]
Compilation error for the patch

The proposed patch doesn't compile when applied to an otherwise clean version of drm-next-4.15-dc (commit id 9b38bd1b8f5c874c3d1f330e0dcf4e7d84137477 at time of writing). Does it rely on other changes present on the WIP branch? I've attached the compilation errors.
Comment 11 randomsalad 2017-10-31 21:12:59 UTC
Whoops, seems I blundered and didn't see there was not one, but two different patch files.

The compilation succeeds now, will proceed to testing it.
Comment 12 randomsalad 2017-10-31 21:21:14 UTC
I can confirm the patch works, and was the only thing missing to get HDMI audio working on my Vega card. I can confirm it works for atleast 5.1 and 2.0 channel audio as those are the only options available to me with my Receiver, though this was just what I needed.

Thanks!
Comment 13 Leo Li 2017-11-01 14:03:38 UTC
Thanks for the confirmation, marking this as resolved.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.