Notes on Driver amdgpu

Based on Linux GPU driver documentation for amdgpu

Kernel option amdgpu.dc (Display Core)

Disable/Enable Display Core driver for debugging (1 = enable, 0 = disable). The default is -1 (automatic for each asic).

amdgpu.dc value Meaning
0 disable Display Core
1 enable Display Core
default = -1 enable/disable based on asic


TODO: insert list of GPUs supporting DC

Kernal option amdgpu.hw_i2c

To enable hw i2c engine. Only affects non-DC display handling. The default is 0 (Disabled).

amdgpu.hw_i2c (applies only if Display Core disabled)

amdgpu.hw_i2c value Meaning
0 (default) disable
1 enable

Tested on RX580 (Ellesmere), Kernel 5.13

Name in /sys/bus/i2c/devices/i2c-N/name

Case 1: Display Core disabled and hw_i2c=0

Connector Name
DVI, HDMI AMDGPU i2c bit bus 0xNN
DP: CardM-DP-N, e.g. Card0-DP-1


Case 2: Display Core disabled and hw_i2c=1 Connector | Name ----------|---------- DVI, HDMI | AMDGPU i2c hw bus 0xNN DP: | CardM-DP-N, e.g. Card0-DP-1 I2C communication fails on DVI and HDMI Case 3: Display Core enabled Connector | Name ----------|---------- DVI, HDMI | AMDGPU DM i2c hw bus 0x9N DP: | AMDGPU DM aux hw bus N

Where is /sys/bus/i2c/devices/i2c-name set?

Message Format | Message Source -------------------------|---------------- AMDGPU DM aux hw bus N | drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c AMDGPU i2c hw bus 0xNN | drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c AMDGPU i2c bit bus 0xNN | drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c

If Display Dore is enabled, a line containining either "Display Core initialized" or "Display Core failed to initialize" is found in the system log. Message source: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c, drivers/gpu/drm/amd/display/dc/core/dc.c To check:

# egrep -e "Kernel command line|Display Core"  /var/log/syslog