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 nbsp;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 Core 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