Bug 212449 - DDC requires amdgpu.dc=0, HDMI sound requires amdgpu.dc=1. Make them work together!
Summary: DDC requires amdgpu.dc=0, HDMI sound requires amdgpu.dc=1. Make them work tog...
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - non Intel) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_video-dri
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-03-26 10:24 UTC by Vyacheslav Dikonov
Modified: 2021-03-28 10:11 UTC (History)
1 user (show)

See Also:
Kernel Version: 5.4.107
Subsystem:
Regression: No
Bisected commit-id:


Attachments
dc=0, hw_i2c=0, DDC works no sound (7.23 KB, text/plain)
2021-03-28 10:02 UTC, Vyacheslav Dikonov
Details
dc=1, hw_i2c=0, DDC fails (4.72 KB, text/plain)
2021-03-28 10:03 UTC, Vyacheslav Dikonov
Details
dc=0, hw_i2c=1, DDC fails (4.72 KB, text/plain)
2021-03-28 10:03 UTC, Vyacheslav Dikonov
Details
dc=0, hw_i2c=1, DDC works no sound (4.76 KB, text/plain)
2021-03-28 10:07 UTC, Vyacheslav Dikonov
Details
Reference logs from a different computer attached to the same display (7.40 KB, text/plain)
2021-03-28 10:09 UTC, Vyacheslav Dikonov
Details

Description Vyacheslav Dikonov 2021-03-26 10:24:56 UTC
I need both DDC and HDMI audio functionality of my radeon RX card, but the amdgpu kernel driver fails to support both at the same time. I can either use DDC with 

"amdgpu.hw_i2c=0 amdgpu.dc=0"

OR HDMI audio  with

"amdgpu.dc=1".


The  "dc=1"  kernel switch disables DDC and "dc=0" disables HDMI audio. The "dcfeaturemask" option might need a new flag to selectively allow i2c communication with the display while still allowing audio to work over HDMI.




___Details___

I run a radeon RX card supported by the amdgpu module

"# lspci
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 550 640SP / RX 560/560X] (rev cf)
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X]"

It has 1 DP, 1 DVI and 1 HDMI outs.


The GPU is connected to: 1) a Dell U3011 display via DVI (only 2560x1600 video) and 2) an audio receiver via HDMI (only audio).
The display is shared with another computer, which takes up the display's DP port. The receiver does not support 2K/4K video resolution and serves as a hifi DAC+amplifier only. HDMI is the only way to pass digtal PCM 5.1 audio.  

I need DDC to switch video inputs of the Dell U3011 display, because its sensor buttons and on-screen menus are a real pain to use. gddccontrol is a handy linux gui app to do it, but it needs i2c and ddc support (which get disabled by the dc=1 switch).
Comment 1 Alex Deucher 2021-03-26 13:28:54 UTC
When DC is enabled the i2c buses are also exposed.  Maybe you are just not using the right i2c bus?
Comment 2 Vyacheslav Dikonov 2021-03-28 10:00:56 UTC
I doubt that. 
Please, see my ddccontrol logs with different settings. It shows that ddccontrol cannot access the controls unless the options are set as dc=0, hw_itc=0.  All logs are taken under root and with POSIX locale. 
I also add a reference log drom a different machine attached to the same display.
Comment 3 Vyacheslav Dikonov 2021-03-28 10:02:17 UTC
Created attachment 296103 [details]
dc=0, hw_i2c=0, DDC works no sound
Comment 4 Vyacheslav Dikonov 2021-03-28 10:03:03 UTC
Created attachment 296105 [details]
dc=1, hw_i2c=0, DDC fails
Comment 5 Vyacheslav Dikonov 2021-03-28 10:03:42 UTC
Created attachment 296107 [details]
dc=0, hw_i2c=1, DDC fails
Comment 6 Vyacheslav Dikonov 2021-03-28 10:04:57 UTC
Comment on attachment 296107 [details]
dc=0, hw_i2c=1, DDC fails

Sorry, misprint. dc=1, hw_i2c=1, DDC fails
Comment 7 Vyacheslav Dikonov 2021-03-28 10:07:32 UTC
Created attachment 296109 [details]
dc=0, hw_i2c=1, DDC works no sound
Comment 8 Vyacheslav Dikonov 2021-03-28 10:07:52 UTC
Comment on attachment 296109 [details]
dc=0, hw_i2c=1, DDC works no sound

DDC FAILS
Comment 9 Vyacheslav Dikonov 2021-03-28 10:09:29 UTC
Created attachment 296111 [details]
Reference logs from a different computer attached to the same display
Comment 10 Vyacheslav Dikonov 2021-03-28 10:11:55 UTC
Excuse me for mistypes in the attachment notes. DDC works ONLY with dc=0 and hw_i2c=0. Everything else leads to errors, Each file contains a correct description.

Note You need to log in before you can comment on or make changes to this bug.