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

From: Tijl Coosemans <tijl_at_FreeBSD.org>
Date: Mon, 31 Jan 2022 16:02:30 UTC
On Sun, 30 Jan 2022 21:23:49 +0300 Vladimir Kondratyev
<wulf@FreeBSD.org> wrote:
> On 30.01.2022 00:25, Stefan Esser 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.
> 
> drm-kmod commit 534aa199c10d forced it to use i2c from base.
> 
> You may try to checkout previous revision (444dc58f0247) to find out if in-base 
> i2c is guilty or not.

I found that since base dbc920bd9a9b (linuxkpi interval_tree)
linuxkpi.ko now exports some rb_* functions (from rbtree.h).  These are
declared static inline but the compiler may decide not to inline them.
These functions conflict with the ones in linuxkpi_gplv2.ko from
drm-kmod, because both implementations use a different order for the
fields in struct rb_node.