Kernel changes causing AMDGPU / DRM to fail? i2c related?

From: Stefan Esser <se_at_FreeBSD.org>
Date: Sat, 29 Jan 2022 21:25:17 UTC
After rebooting with freshly built world, kernel and the amdgpu driver
my console stopped working. It goes blank and the display goes into a
power save mode, as soon as the amdgpu driver is loaded.

The GPU (a Radeon R7 250E) is correctly detected as before, but there
is an error message "drmn0: [drm] Cannot find any crtc or sizes".

I'm asking here and not on the ports list, since the AMDGPU driver has
not been updated for half a year. But to be sure that there is no mismatch
between kernel and user land, I have rebuilt all X11 server and library
ports.

There have been changes affecting the i2c driver, IIRC, and the error
message seems to point at an issue obtaining information from the LCD
display.

The output of "grep drm /var/run/dmesg.boot" follows:

[drm] amdgpu kernel modesetting enabled.
drmn0: <drmn> on vgapci0
vgapci0: child drmn0 requested pci_enable_io
vgapci0: child drmn0 requested pci_enable_io
[drm] initializing kernel modesetting (VERDE 0x1002:0x683F 0x174B:0xA001 0x00).
[drm] register mmio base: 0xFCE00000
[drm] register mmio size: 262144
[drm] add ip block number 0 <si_common>
[drm] add ip block number 1 <gmc_v6_0>
[drm] add ip block number 2 <si_ih>
[drm] add ip block number 3 <gfx_v6_0>
[drm] add ip block number 4 <si_dma>
[drm] add ip block number 5 <si_dpm>
[drm] add ip block number 6 <dce_v6_0>
[drm] BIOS signature incorrect 0 0
[drm] vm size is 512 GB, 2 levels, block size is 10-bit, fragment size is 9-bit
drmn0: successfully loaded firmware image 'amdgpu/verde_mc.bin'
drmn0: VRAM: 1024M 0x000000F400000000 - 0x000000F43FFFFFFF (1024M used)
drmn0: GART: 1024M 0x000000FF00000000 - 0x000000FF3FFFFFFF
[drm] Detected VRAM RAM=1024M, BAR=256M
[drm] RAM width 128bits GDDR5
[drm] amdgpu: 1024M of VRAM memory ready
[drm] amdgpu: 3072M of GTT memory ready.
[drm] GART: num cpu pages 262144, num gpu pages 262144
drmn0: PCIE GART of 1024M enabled (table at 0x000000F400500000).
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
drmn0: successfully loaded firmware image 'amdgpu/verde_pfp.bin'
drmn0: successfully loaded firmware image 'amdgpu/verde_me.bin'
drmn0: successfully loaded firmware image 'amdgpu/verde_ce.bin'
drmn0: successfully loaded firmware image 'amdgpu/verde_rlc.bin'
drmn0: successfully loaded firmware image 'amdgpu/verde_smc.bin'
[drm] Internal thermal controller without fan control
[drm] amdgpu: dpm initialized
[drm] Connector DP-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.DP-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector HDMI-A-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.HDMI-A-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector DVI-I-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.DVI-I-1
[drm]   - kern.vt.fb.default_mode
[drm] AMDGPU Display Connectors
[drm] Connector 0:
[drm]   DP-1
[drm]   HPD4
[drm]   DDC: 0x1950 0x1950 0x1951 0x1951 0x1952 0x1952 0x1953 0x1953
[drm]   Encoders:
[drm]     DFP1: INTERNAL_UNIPHY2
[drm] Connector 1:
[drm]   HDMI-A-1
[drm]   HPD1
[drm]   DDC: 0x195c 0x195c 0x195d 0x195d 0x195e 0x195e 0x195f 0x195f
[drm]   Encoders:
[drm]     DFP2: INTERNAL_UNIPHY2
[drm] Connector 2:
[drm]   DVI-I-1
[drm]   HPD2
[drm]   DDC: 0x1958 0x1958 0x1959 0x1959 0x195a 0x195a 0x195b 0x195b
[drm]   Encoders:
[drm]     DFP3: INTERNAL_UNIPHY
[drm]     CRT1: INTERNAL_KLDSCP_DAC1
drmn0: [drm] Cannot find any crtc or sizes
drmn0: [drm] Cannot find any crtc or sizes
drmn0: [drm] Cannot find any crtc or sizes
[drm] Initialized amdgpu 3.37.0 20150101 for drmn0 on minor 0

A successful driver attach from a reboot a few days ago had ended in:

[drm]     CRT1: INTERNAL_KLDSCP_DAC1
[drm] fb mappable at 0xE0503000
[drm] vram apper at 0xE0000000
[drm] size 33177600
[drm] fb depth is 24
[drm]    pitch is 15360
[drm] Initialized amdgpu 3.36.0 20150101 for drmn0 on minor 0

Regards, STefan