X freezes for a second or every now and then when lid closed

Chris Wilson chris at chris-wilson.co.uk
Mon Oct 29 13:11:30 UTC 2018


Quoting Joel Fernandes (2018-10-27 09:14:07)
> On Sat, Oct 27, 2018 at 12:38:56AM -0700, Joel Fernandes wrote:
> > Hi!
> > My Linux laptop running kernel v4.17 freezes intermittently when the laptop
> > lid is closed but external monitors are connected to 2 HDMI ports. I provided
> > details on the issue, any idea what could be causing it?
> > 
> > I ruled out many different subsystems by trial and error, finally I enabled
> > ftrace events on power subsystem and see that the freeze is precisely at the
> > same time as drm_mode_getconnector is called on these events and its the Xorg
> > process. I think since Xorg is busy on this drm_mode_getconnector ioctl, its
> > not able to perform its duties.
> > 
> > I get a stacktrace like so:
> >           Xorg-1285  [001] ....   801.156606: pm_qos_update_request:
> >                pm_qos_class=CPU_DMA_LATENCY value=-1
> >           Xorg-1285  [001] ....   801.156607: pm_qos_update_target:
> >                action=UPDATE_REQ prev_value=0 curr_value=2000000000
> >           Xorg-1285  [001] ....   801.156609: <stack trace>
> >  => pm_qos_update_target
> >  => intel_dp_aux_xfer
> >  => intel_dp_aux_transfer
> >  => drm_dp_dpcd_access
> >  => drm_dp_dpcd_read
> >  => intel_dp_read_dpcd
> >  => intel_dp_detect
> >  => drm_helper_probe_single_connector_modes
> >  => drm_mode_getconnector
> >  => drm_ioctl_kernel
> >  => drm_ioctl
> >  => do_vfs_ioctl
> >  => ksys_ioctl
> >  => __x64_sys_ioctl
> >  => do_syscall_64
> >  => entry_SYSCALL_64_after_hwframe
> > 
> > The X version I'm running is X.Org X Server 1.19.6
> > 
> > I also see these in /var/log/Xorg.0.log every 30 seconds and it seems
> > correlated to the time of freezing:
> > [  1141.925] (--) modeset(0): HDMI max TMDS frequency 170000KHz
> > [  1142.223] (II) modeset(0): EDID vendor "HWP", prod id 13093
> > [  1142.223] (II) modeset(0): Using hsync ranges from config file
> > [  1142.223] (II) modeset(0): Using vrefresh ranges from config file
> > [  1142.223] (II) modeset(0): Printing DDC gathered Modelines:
> > [  1142.223] (II) modeset(0): Modeline "1920x1080"x0.0  148.50  1920 2008
> > 2052 2200  1080 1084 1089 1125 +hsync +vsync (67.5 kHz eP)
> > [  1142.223] (II) modeset(0): Modeline "1920x1080"x0.0  148.50  1920 2448
> > 2492 2640  1080 1084 1089 1125 +hsync +vsync (56.2 kHz e)
> > 
> > Let me know if you spot anything weird, and if you have any suggestions?
> 
> Just for documenting it, the issue seems very similar to what is reported in
> this comment:
> https://forums.linuxmint.com/viewtopic.php?t=253475#p1457587 
> 
> I am indeed using Cinammon as well. With the lid closed, the same 'modeset'
> log messages appear and freeze the system every 30 seconds.

30s == hotplug polling kthread; the implication would be that it is
generating a hotplug uevent everytime. drm.debug=0xe should record what
it going on, so capture a dmesg with the lid closed.

Platform and panel HW would be useful to know, dmesg from boot is
usually sufficient.
-Chris


More information about the xorg-devel mailing list