5.7-rc1 kernel, DDC/CI monitor control not working
The following commit between kernel 5.6 and 5.7-rc1 breaks DDC/CI control of the monitor for me:
drm/amdgpu/display: split dp connector registration (v4):
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=405a1f9090d1acec75aeb86569da60beca9fe68f
405a1f9090d1acec75aeb86569da60beca9fe68f
I found this commit through doing 'git bisect' between v5.7-rc1
(bad) and v5.6
(good) tags.
My hardware setup is an AMD RX480 card and the monitor is connected through Displayport on output DP-1 (DisplayPort-0 in Xorg):
$ grep . /sys/class/drm/card0/card0-*/status
/sys/class/drm/card0/card0-DP-1/status:connected
/sys/class/drm/card0/card0-DP-2/status:disconnected
/sys/class/drm/card0/card0-DVI-D-1/status:disconnected
/sys/class/drm/card0/card0-HDMI-A-1/status:disconnected
/sys/class/drm/card0/card0-HDMI-A-2/status:disconnected
Here's the "ddcutil" and "i2cdetect" output on a good kernel:
$ sudo ddcutil detect
Display 1
I2C bus: /dev/i2c-1
EDID synopsis:
Mfg id: ACR
Model: XF270HU
Serial number: T78EE0048521
Manufacture year: 2018
EDID version: 1.4
VCP version: 2.2
$ sudo i2cdetect -l
i2c-3 i2c dmdc I2C adapter
i2c-1 i2c dmdc I2C adapter
i2c-8 smbus SMBus PIIX4 adapter port 2 at 0b00 SMBus adapter
i2c-6 i2c AMDGPU DM i2c hw bus 4 I2C adapter
i2c-4 i2c AMDGPU DM i2c hw bus 2 I2C adapter
i2c-2 i2c AMDGPU DM i2c hw bus 1 I2C adapter
i2c-0 i2c AMDGPU DM i2c hw bus 0 I2C adapter
i2c-7 smbus SMBus PIIX4 adapter port 0 at 0b00 SMBus adapter
i2c-5 i2c AMDGPU DM i2c hw bus 3 I2C adapter
On a bad kernel, things look like this:
$ sudo ddcutil detect
No displays found
$ sudo i2cdetect -l
i2c-3 i2c AMDGPU DM i2c hw bus 3 I2C adapter
i2c-1 i2c AMDGPU DM i2c hw bus 1 I2C adapter
i2c-6 smbus SMBus PIIX4 adapter port 2 at 0b00 SMBus adapter
i2c-4 i2c AMDGPU DM i2c hw bus 4 I2C adapter
i2c-2 i2c AMDGPU DM i2c hw bus 2 I2C adapter
i2c-0 i2c AMDGPU DM i2c hw bus 0 I2C adapter
i2c-5 smbus SMBus PIIX4 adapter port 0 at 0b00 SMBus adapter
EDIT:
Here's the Xorg log and dmesg output for good 5.6.4 kernel and bad 5.7-rc1: