[Intel-gfx] Bug: Pipe A underrun on resolution switching on 830MG

Thomas Richter thor at math.tu-berlin.de
Thu Jun 5 00:43:56 CEST 2014


Hi folks,

when switching resolutions with xrandr (or otherwise) on the 830MG 
chipset, I usually get a "Pipe A underrun" error,
sometimes resulting in a completely black screen. To my understanding, 
the internal screen is connected to pipe B on
this laptop, thus I wonder why I get the error. Thus, something seems to 
be broken:

[  406.282457] WARNING: CPU: 0 PID: 2048 at 
drivers/gpu/drm/i915/intel_display.c:2148 
intel_crtc_disable_planes+0x15f/0x170 [i915]()
[  406.282463] Modules linked in: michael_mic arc4 ecb 
lib80211_crypt_tkip lib80211_crypt_ccmp binfmt_misc fuse loop 
firewire_sbp2 hid_generic usbhid hid snd_intel8x0 snd_ac97_codec 
ac97_bus ipw2100 snd_pcm libipw sg cfg80211 i915 snd_seq snd_seq_device 
snd_timer snd mousedev sr_mod firewire_ohci rfkill cdrom i2c_algo_bit 
pcmcia firewire_core drm_kms_helper lib80211 soundcore crc_itu_t irda 
uhci_hcd apanel yenta_socket pcmcia_rsrc input_polldev usbcore drm 
i2c_i801 psmouse evdev 8139too pcspkr 8139cp mii pcmcia_core crc_ccitt 
8250 fujitsu_laptop battery video lpc_ich serial_core mfd_core 
usb_common intel_agp i2c_core intel_gtt led_class agpgart ac button
[  406.282576] CPU: 0 PID: 2048 Comm: Xorg Tainted: G        W     
3.15.0-rc7+ #3
[  406.282583] Hardware name: FUJITSU SIEMENS LIFEBOOK S Series/FJNB159, 
BIOS Version 1.07  10/28/2002
[  406.282589]  c1316e2e c103451f c13aa868 00000000 00000800 f9092e08 
00000864 f9049bcf
[  406.282603]  f9049bcf 00070180 f4a90000 f6b20000 00000000 c1034569 
00000009 00000000
[  406.282616]  f9049bcf f5884aa0 18000000 00003286 00000000 f5a9d000 
f6b20178 f6b20000
[  406.282630] Call Trace:
[  406.282645]  [<c1316e2e>] ? dump_stack+0xa/0x13
[  406.282659]  [<c103451f>] ? warn_slowpath_common+0x7f/0xb0
[  406.282709]  [<f9049bcf>] ? intel_crtc_disable_planes+0x15f/0x170 [i915]
[  406.282757]  [<f9049bcf>] ? intel_crtc_disable_planes+0x15f/0x170 [i915]
[  406.282768]  [<c1034569>] ? warn_slowpath_null+0x19/0x20
[  406.282816]  [<f9049bcf>] ? intel_crtc_disable_planes+0x15f/0x170 [i915]
[  406.282863]  [<f9049c1a>] ? i9xx_crtc_disable+0x3a/0x620 [i915]
[  406.282877]  [<c10d8e20>] ? __pollwait+0xf0/0xf0
[  406.282887]  [<c10d8e20>] ? __pollwait+0xf0/0xf0
[  406.282934]  [<f903f78f>] ? intel_dump_pipe_config.isra.45+0x2f/0x3a0 
[i915]
[  406.282983]  [<f904bbae>] ? __intel_set_mode+0x76e/0x14e0 [i915]
[  406.283032]  [<f904ef33>] ? intel_set_mode+0x23/0x40 [i915]
[  406.283079]  [<f904fcf3>] ? intel_crtc_set_config+0x863/0xc90 [i915]
[  406.283095]  [<c117a196>] ? idr_mark_full+0x46/0x50
[  406.283105]  [<c117a93e>] ? idr_alloc+0x7e/0xe0
[  406.283143]  [<f862c816>] ? drm_mode_set_config_internal+0x46/0xb0 [drm]
[  406.283169]  [<f862fc20>] ? drm_mode_setcrtc+0xc0/0x560 [drm]
[  406.283216]  [<f904723e>] ? intel_crtc_load_lut+0x10e/0x1a0 [i915]
[  406.283242]  [<f862fb60>] ? drm_mode_setplane+0x3f0/0x3f0 [drm]
[  406.283262]  [<f8622704>] ? drm_ioctl+0x1a4/0x5c0 [drm]
[  406.283289]  [<f862fb60>] ? drm_mode_setplane+0x3f0/0x3f0 [drm]
[  406.283311]  [<f8622560>] ? drm_copy_field+0x70/0x70 [drm]
[  406.283322]  [<c10d7fd0>] ? do_vfs_ioctl+0x70/0x540
[  406.283334]  [<c10c93c1>] ? vfs_read+0x101/0x140
[  406.283345]  [<c10d84e3>] ? SyS_ioctl+0x43/0x80
[  406.283360]  [<c131a72f>] ? sysenter_do_call+0x12/0x26
[  406.283367] ---[ end trace ea667942c60a2cf6 ]---
[  406.324991] [drm:i8xx_irq_handler] *ERROR* pipe A underrun
[  413.437244] [drm:i8xx_irq_handler] *ERROR* pipe A underrun

Note that I *also* get a PIPE A underrun error on the boot console, and 
occasionally a pipe B underrun error, again
on the boot console. The errors in the boot console appear regardless of 
whether the pipe A quirk is enabled or not,
thus the problem seems to be somewhere in the mode switching code. Would 
it be possible to switch a mode by
1) enabling pipe A, 2) switching, 3) disabling pipe A? Note again that 
turning on pipe A with the quirk mode breaks
both the boot console and resume from ram, so that is not an alternative 
either...

Greetings,
     Thomas




More information about the Intel-gfx mailing list