On Mon, Feb 10, 2025 at 07:27:28AM +0100, Matthieu Herrb wrote:
> Hi,
> 
> sorry to not having being able to test the drm upgrade on this machine
> earlier, but the new drm code hangs on boot shorly after attachine
> drm, clearing the screen and displaying:
> 
> wsdisplay0 at inteldrm0 mux1: console (std, vt100, emulation), using
> wskbd1
> 
> It's not a hard hang (the capslock led still toggles, and the CPU
> don't seem to go full speed, power use stays uner 1A at 19V), but I
> can't enter DDB nor do a Ctl+Alt+Del to trigger a reboot.
> I've the latest BIOS for this machine.

I had another report like this today.  Machine could still change
virtual terminals.  It was also Alder Lake.

Unfortunately it isn't something I see on my Alder Lake or
Meteor Lake machines.

Perhaps it involves some kind or deferred fbdev or hotplug.
Do either of these printfs show?

Index: sys/dev/pci/drm/drm_fb_helper.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/drm_fb_helper.c,v
diff -u -p -r1.41 drm_fb_helper.c
--- sys/dev/pci/drm/drm_fb_helper.c     7 Feb 2025 03:03:08 -0000       1.41
+++ sys/dev/pci/drm/drm_fb_helper.c     10 Feb 2025 06:46:09 -0000
@@ -224,8 +224,10 @@ __drm_fb_helper_restore_fbdev_mode_unloc
        if (!drm_fbdev_emulation || !fb_helper)
                return -ENODEV;
 
-       if (READ_ONCE(fb_helper->deferred_setup))
+       if (READ_ONCE(fb_helper->deferred_setup)) {
+printf("%s deferred_setup\n", __func__);
                return 0;
+       }
 
 #ifdef __OpenBSD__
        force = true;
@@ -248,8 +250,10 @@ __drm_fb_helper_restore_fbdev_mode_unloc
                fb_helper->delayed_hotplug = false;
        mutex_unlock(&fb_helper->lock);
 
-       if (do_delayed)
+       if (do_delayed) {
+printf("%s do_delayed\n", __func__);
                drm_fb_helper_hotplug_event(fb_helper);
+       }
 
        return ret;
 }

Reply via email to