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

From: Tomoaki AOKI <junchoon_at_dec.sakura.ne.jp>
Date: Sat, 29 Jan 2022 22:25:49 UTC
On Sat, 29 Jan 2022 22:25:17 +0100
Stefan Esser <se@FreeBSD.org> wrote:

> 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

Are you sure your ports tree is up-to-date and graphics/drm-*-kmod
you installed (IIRC, should be needed for -intel and -amdgpu drivers)
is also updated? drm-*-kmod could be affected by LinuxKPI updates in
base.

 *There can be some (sometime very wide) timeframe between LinuxKPI
  update and corresponding linux-*-kmod catches up with it.

Looking into cgit.freebsd.org, at least drm-current-kmod is updated 36
hours ago. Not sure it's related or not, though.

 *I always prefer nvidia dGPU because of these dangerous span.
  So I've forced to choose ThinkPad P series (without "s") which
  usually can disable CPU-integrated Intel GPU and run nvidia GPU
  alone though BIOS setting.

-- 
Tomoaki AOKI    <junchoon@dec.sakura.ne.jp>