[Bug 105902] New: Closing and repoening laptop lid causes scanout corruption (regression since 4.15.12)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Apr 5 08:39:01 UTC 2018


https://bugs.freedesktop.org/show_bug.cgi?id=105902

            Bug ID: 105902
           Summary: Closing and repoening laptop lid causes scanout
                    corruption (regression since 4.15.12)
           Product: DRI
           Version: XOrg git
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: NEW
          Severity: major
          Priority: medium
         Component: DRM/Intel
          Assignee: intel-gfx-bugs at lists.freedesktop.org
          Reporter: wdraxinger.maillist at draxit.de
        QA Contact: intel-gfx-bugs at lists.freedesktop.org
                CC: intel-gfx-bugs at lists.freedesktop.org

Created attachment 138616
  --> https://bugs.freedesktop.org/attachment.cgi?id=138616&action=edit
Complete dmesg from boot, including a lid close→open and VT
graphics→text→graphics sequence

Hi,

ever since I upgraded my system to kernel version 4.15.12 I'm experiencing a
kind of interesting problem with my laptop's graphics output.

The system is a Dell Latitude E6400 with Intel GM45 graphics. Kernel version is
4.15.12, X.org driver is xf86-video-intel-2.99.917.812, X.org server is
xorg-server-1.19.6

Output of `lspci -v`:

00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset
Integrated Graphics Controller (rev 07) (prog-if 00 [VGA controller])
    Subsystem: Dell Device 0233
    Flags: bus master, fast devsel, latency 0, IRQ 16
    Memory at f6c00000 (64-bit, non-prefetchable) [size=4M]
    Memory at e0000000 (64-bit, prefetchable) [size=256M]
    I/O ports at ef98 [size=8]
    [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
    Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
    Capabilities: [d0] Power Management version 3
    Kernel driver in use: i915
    Kernel modules: i915

Problem description:

Whenever the laptop's lid is closed and opened the lower part of the graphics
output is rapidly flickering between (corrupted) scanout buffers, with the
expected output appearing intermittently inbetween. If running X.org there's
distinct horizontal tear between where the graphics output is in order and
below which it's corrupted. The vertical position coincides and follows the top
boundary of the cursor. Switching the VT between graphics mode to text and back
to graphics restores the graphics output into a sane state.

However the graphics returns to a sane state only after switching back to
graphics. While in fbcon "text" mode it remains corrupted.

This behavior happens consistently and reproducibly regardless of power
management or ACPI daemons in user space. Putting the system into single-user
mode, terminating all daemons (including udev and other hardware management
stuff) still allows to reproduce the behavior.

Interestingly enough when closing the lid a completely unrelated subsystem
produced kernel messages: The PC-Card / PCMCIA / yenta_cardbus subsystem, emits
these messages when the laptop lid is closed and opened

yenta_cardbus 0000:03:01.0: CardBus bridge to [bus 04]
yenta_cardbus 0000:03:01.0:   bridge window [io  0x5000-0x50ff]
yenta_cardbus 0000:03:01.0:   bridge window [io  0x5400-0x54ff]
yenta_cardbus 0000:03:01.0:   bridge window [mem 0xf0c00000-0xf0ffffff]
yenta_cardbus 0000:03:01.0:   bridge window [mem 0xf1000000-0xf13fffff]
yenta_cardbus 0000:03:01.0: CardBus bridge to [bus 04]
yenta_cardbus 0000:03:01.0:   bridge window [io  0x5000-0x50ff]
yenta_cardbus 0000:03:01.0:   bridge window [io  0x5400-0x54ff]
yenta_cardbus 0000:03:01.0:   bridge window [mem 0xf0c00000-0xf0ffffff]
yenta_cardbus 0000:03:01.0:   bridge window [mem 0xf1000000-0xf13fffff]

I'm really puzzled by these messages, I don't see how the lid is in any way
related to this subsystem.

After that the graphics output is corrupted, but no further kernel messages
produced. However after switching from graphics to text mode and back (and only
after having switched back) the following messages are logged; the backtrace is
logged exactly twice!

------------[ cut here ]------------
cursor A assertion failure (expected off, current on)
WARNING: CPU: 1 PID: 423 at drivers/gpu/drm/i915/intel_display.c:1247
assert_plane+0x90/0xa0 [i915]
Modules linked in: 8021q garp mrp stp llc ext2 joydev i915 dell_smbios_wmi
dell_smm_hwmon dell_wmi i2c_algo_bit iTCO_wdt gpio_ich iTCO_vendor_support
sparse_keymap wmi_bmof dell_rbtn dell_wmi_descriptor uvcvideo videobuf2_vmalloc
videobuf2_memops drm_kms_helper dell_laptop dell_smbios_smm dell_smbios dcdbas
videobuf2_v4l2 coretemp hwmon videobuf2_core input_leds psmouse evdev pcspkr
mac_hid videodev yenta_socket usbkbd media usbmouse pcmcia_rsrc i2c_i801 drm
pcmcia_core lpc_ich snd_hda_codec_hdmi intel_agp intel_gtt shpchp agpgart
syscopyarea sysfillrect sysimgblt fb_sys_fops snd_hda_intel wmi thermal button
battery video ac acpi_cpufreq kvm_intel kvm irqbypass snd_hda_codec_idt
snd_hda_codec_generic snd_hda_codec snd_hda_core snd_hwdep snd_pcm ctr ccm arc4
iwldvm iwlwifi mac80211 cfg80211
 snd_seq snd_seq_device snd_timer snd soundcore vhost_vsock
vmw_vsock_virtio_transport_common vsock vhost_net vhost tap uhid hci_vhci
bluetooth ecdh_generic rfkill vfio_iommu_type1 vfio dm_mod uinput userio
ppp_generic slhc tun loop crc32c_generic btrfs xor zstd_compress raid6_pq
zstd_decompress xxhash cuse fuse ext4 crc16 mbcache jbd2 sd_mod sr_mod cdrom
hid_generic usbhid hid uhci_hcd ahci serio_raw libahci sdhci_pci libata
firewire_ohci ehci_pci sdhci ehci_hcd scsi_mod firewire_core mmc_core crc_itu_t
usbcore
CPU: 1 PID: 423 Comm: Xorg Not tainted 4.15.12_1 #1
Hardware name: Dell Inc. Latitude E6400                  /0W620R, BIOS A25
06/04/2010
RIP: 0010:assert_plane+0x90/0xa0 [i915]
RSP: 0018:ffffb092c124f7a8 EFLAGS: 00010282
RAX: 0000000000000000 RBX: ffff9add52e24400 RCX: 0000000000000035
RDX: 0000000000000001 RSI: 0000000000000002 RDI: 0000000000000292
RBP: 0000000000000000 R08: 000000535d8c721a R09: 0000000000000035
R10: ffff9add52e27000 R11: 0000000000000000 R12: ffff9add54c3bcb0
R13: ffff9add47bcdc00 R14: ffff9add47bcdc28 R15: ffff9add47bcdc30
FS:  00007f47b9c5d8c0(0000) GS:ffff9add5fd00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fff90269fc0 CR3: 0000000215352000 CR4: 00000000000406e0
Call Trace:
 assert_planes_disabled.isra.59+0x48/0x60 [i915]
 intel_disable_pipe+0x52/0x180 [i915]
 i9xx_crtc_disable+0x77/0x430 [i915]
 ? intel_pre_plane_update+0xdf/0x150 [i915]
 intel_atomic_commit_tail+0x7b1/0xd10 [i915]
 intel_atomic_commit+0x266/0x2a0 [i915]
 restore_fbdev_mode_atomic+0x189/0x1f0 [drm_kms_helper]
 drm_fb_helper_restore_fbdev_mode_unlocked.part.25+0x23/0x70 [drm_kms_helper]
 drm_fb_helper_set_par+0x3e/0x70 [drm_kms_helper]
 intel_fbdev_set_par+0x16/0x60 [i915]
 fb_set_var+0x1d0/0x430
 fbcon_blank+0x200/0x340
 ? check_preempt_wakeup+0xe8/0x1b0
 do_unblank_screen+0xa3/0x180
 complete_change_console+0x54/0xd0
 vt_ioctl+0x719/0x11e0
 tty_ioctl+0xf3/0x8a0
 do_vfs_ioctl+0xa4/0x670
 SyS_ioctl+0x74/0x80
 do_syscall_64+0x67/0x100
 entry_SYSCALL_64_after_hwframe+0x3d/0xa2
RIP: 0033:0x7f47b7b266a7
RSP: 002b:00007ffeca93af78 EFLAGS: 00003246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f47b7b266a7
RDX: 0000000000000001 RSI: 0000000000005605 RDI: 000000000000000b
RBP: 0000562d15892254 R08: 0000000000000000 R09: 0000000000000002
R10: 00007ffeca93af2c R11: 0000000000003246 R12: 0000000000000008
R13: 0000562d15892300 R14: 0000562d15892310 R15: 0000562d15892250
Code: ae 9d fd c0 84 c0 48 c7 c2 b1 9d fd c0 48 89 f1 48 c7 c7 a8 b2 fe c0 48
0f 44 ca 40 84 ed 48 0f 45 d6 48 8b 73 18 e8 30 52 12 cf <0f> 0b eb 89 66 90 66
2e 0f 1f 84 00 00 00 00 00 66 66 66 66 90
---[ end trace 90a6895611fa5a9b ]---
------------[ cut here ]------------
cursor A assertion failure (expected off, current on)
WARNING: CPU: 0 PID: 423 at drivers/gpu/drm/i915/intel_display.c:1247
assert_plane+0x90/0xa0 [i915]
Modules linked in: 8021q garp mrp stp llc ext2 joydev i915 dell_smbios_wmi
dell_smm_hwmon dell_wmi i2c_algo_bit iTCO_wdt gpio_ich iTCO_vendor_support
sparse_keymap wmi_bmof dell_rbtn dell_wmi_descriptor uvcvideo videobuf2_vmalloc
videobuf2_memops drm_kms_helper dell_laptop dell_smbios_smm dell_smbios dcdbas
videobuf2_v4l2 coretemp hwmon videobuf2_core input_leds psmouse evdev pcspkr
mac_hid videodev yenta_socket usbkbd media usbmouse pcmcia_rsrc i2c_i801 drm
pcmcia_core lpc_ich snd_hda_codec_hdmi intel_agp intel_gtt shpchp agpgart
syscopyarea sysfillrect sysimgblt fb_sys_fops snd_hda_intel wmi thermal button
battery video ac acpi_cpufreq kvm_intel kvm irqbypass snd_hda_codec_idt
snd_hda_codec_generic snd_hda_codec snd_hda_core snd_hwdep snd_pcm ctr ccm arc4
iwldvm iwlwifi mac80211 cfg80211
 snd_seq snd_seq_device snd_timer snd soundcore vhost_vsock
vmw_vsock_virtio_transport_common vsock vhost_net vhost tap uhid hci_vhci
bluetooth ecdh_generic rfkill vfio_iommu_type1 vfio dm_mod uinput userio
ppp_generic slhc tun loop crc32c_generic btrfs xor zstd_compress raid6_pq
zstd_decompress xxhash cuse fuse ext4 crc16 mbcache jbd2 sd_mod sr_mod cdrom
hid_generic usbhid hid uhci_hcd ahci serio_raw libahci sdhci_pci libata
firewire_ohci ehci_pci sdhci ehci_hcd scsi_mod firewire_core mmc_core crc_itu_t
usbcore
CPU: 0 PID: 423 Comm: Xorg Tainted: G        W        4.15.12_1 #1
Hardware name: Dell Inc. Latitude E6400                  /0W620R, BIOS A25
06/04/2010
RIP: 0010:assert_plane+0x90/0xa0 [i915]
RSP: 0018:ffffb092c124f738 EFLAGS: 00010282
RAX: 0000000000000000 RBX: ffff9add52e24400 RCX: 0000000000000035
RDX: 0000000000000001 RSI: 0000000000000002 RDI: 0000000000000292
RBP: 0000000000000000 R08: 000000535e0f6067 R09: 0000000000000035
R10: ffffb092c124f638 R11: 0000000000000000 R12: ffff9add54c3bcb0
R13: 0000000000000000 R14: ffff9add556e2000 R15: ffff9add52e28000
FS:  00007f47b9c5d8c0(0000) GS:ffff9add5fc00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00005638821db760 CR3: 0000000215352000 CR4: 00000000000406f0
Call Trace:
 assert_planes_disabled.isra.59+0x48/0x60 [i915]
 intel_enable_pipe+0x52/0x200 [i915]
 i9xx_crtc_enable+0x352/0x480 [i915]
 intel_update_crtc+0x39/0x90 [i915]
 intel_update_crtcs+0x47/0x60 [i915]
 intel_atomic_commit_tail+0x212/0xd10 [i915]
 intel_atomic_commit+0x266/0x2a0 [i915]
 restore_fbdev_mode_atomic+0x189/0x1f0 [drm_kms_helper]
 drm_fb_helper_restore_fbdev_mode_unlocked.part.25+0x23/0x70 [drm_kms_helper]
 drm_fb_helper_set_par+0x3e/0x70 [drm_kms_helper]
 intel_fbdev_set_par+0x16/0x60 [i915]
 fb_set_var+0x1d0/0x430
 fbcon_blank+0x200/0x340
 ? check_preempt_wakeup+0xe8/0x1b0
 do_unblank_screen+0xa3/0x180
 complete_change_console+0x54/0xd0
 vt_ioctl+0x719/0x11e0
 tty_ioctl+0xf3/0x8a0
 do_vfs_ioctl+0xa4/0x670
 SyS_ioctl+0x74/0x80
 do_syscall_64+0x67/0x100
 entry_SYSCALL_64_after_hwframe+0x3d/0xa2
RIP: 0033:0x7f47b7b266a7
RSP: 002b:00007ffeca93af78 EFLAGS: 00003246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f47b7b266a7
RDX: 0000000000000001 RSI: 0000000000005605 RDI: 000000000000000b
RBP: 0000562d15892254 R08: 0000000000000000 R09: 0000000000000002
R10: 00007ffeca93af2c R11: 0000000000003246 R12: 0000000000000008
R13: 0000562d15892300 R14: 0000562d15892310 R15: 0000562d15892250
Code: ae 9d fd c0 84 c0 48 c7 c2 b1 9d fd c0 48 89 f1 48 c7 c7 a8 b2 fe c0 48
0f 44 ca 40 84 ed 48 0f 45 d6 48 8b 73 18 e8 30 52 12 cf <0f> 0b eb 89 66 90 66
2e 0f 1f 84 00 00 00 00 00 66 66 66 66 90
---[ end trace 90a6895611fa5a9c ]---
[drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO
underrun
dell_wmi: Unknown key with type 0x0011 and code 0xffd1 pressed


So far I haven't tested if this streches over more than one CRTCs, but I can
check.


Cheers,
Wolfgang

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20180405/3529a833/attachment.html>


More information about the intel-gfx-bugs mailing list