Problems with videos and i915 driver
Steven Rostedt
rostedt at goodmis.org
Sun Oct 16 11:01:08 PDT 2011
Hi Keith,
I just upgraded my wife's computer with a new motherboard which has a
(lspci -vv):
Intel Corporation Sandy Bridge Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. Device 844d
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 45
Region 0: Memory at fe000000 (64-bit, non-prefetchable) [size=4M]
Region 2: Memory at c0000000 (64-bit, prefetchable) [size=256M]
Region 4: I/O ports at f000 [size=64]
Expansion ROM at <unassigned> [disabled]
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
Address: fee0200c Data: 4191
Capabilities: [d0] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a4] PCI Advanced Features
AFCap: TP+ FLR+
AFCtrl: FLR-
AFStatus: TP-
Kernel driver in use: i915
With the standard F14 kernel, running any videos locked up the display.
I upgraded her kernel to 3.0.6 and now display no longer locks up but
the videos still do not play. Just sound, but the video is a blank
screen. Here's some of the dmesg:
[ 1.777679] [drm] Initialized drm 1.1.0 20060810
[ 1.780689] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 1.780693] i915 0000:00:02.0: setting latency timer to 64
[ 1.810351] i915 0000:00:02.0: irq 45 for MSI/MSI-X
[ 1.810355] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[ 1.810356] [drm] Driver supports precise vblank timestamp query.
[ 1.810383] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[ 2.151171] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:00/input/input2
[ 2.151197] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no)
[ 2.151212] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[ 102.695526] [drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
[ 102.695538] [drm] capturing error event; look for more information in /debug/dri/0/i915_error_state
[ 102.699680] [drm:i915_wait_request] *ERROR* i915_wait_request returns -11 (awaiting 1 at 0, next 2)
[ 104.490507] ------------[ cut here ]------------
[ 104.490529] WARNING: at drivers/gpu/drm/i915/i915_drv.c:322 gen6_gt_force_wake_get+0x29/0x48 [i915]()
[ 104.490533] Hardware name: System Product Name
[ 104.490535] Modules linked in: vfat fat fuse nfs lockd fscache auth_rpcgss nfs_acl sunrpc cpufreq_ondemand acpi_cpufreq freq_table mperf ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables ipv6 uinput snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_seq snd_seq_device snd_pcm ppdev iTCO_wdt parport_pc r8169 pcspkr serio_raw snd_timer snd soundcore snd_page_alloc parport i2c_i801 iTCO_vendor_support xhci_hcd mii microcode usblp joydev pata_acpi ata_generic pata_via wmi usb_storage i915 drm_kms_helper drm i2c_algo_bit i2c_core video [last unloaded: scsi_wait_scan]
[ 104.490579] Pid: 0, comm: swapper Not tainted 3.0.6 #1
[ 104.490581] Call Trace:
[ 104.490583] <IRQ> [<ffffffff8104a9de>] warn_slowpath_common+0x83/0x9b
[ 104.490595] [<ffffffff8104aa10>] warn_slowpath_null+0x1a/0x1c
[ 104.490605] [<ffffffffa006753a>] gen6_gt_force_wake_get+0x29/0x48 [i915]
[ 104.490617] [<ffffffffa006afd9>] i915_read32+0x33/0x6b [i915]
[ 104.490629] [<ffffffffa006dfdf>] i915_hangcheck_elapsed+0xbb/0x1eb [i915]
[ 104.490634] [<ffffffff8105781d>] run_timer_softirq+0x19b/0x280
[ 104.490640] [<ffffffff8100e95d>] ? paravirt_read_tsc+0x9/0xd
[ 104.490651] [<ffffffffa006df24>] ? i915_vblank_swap+0x10/0x10 [i915]
[ 104.490657] [<ffffffff81050645>] __do_softirq+0xc9/0x1b5
[ 104.490661] [<ffffffff8100e95d>] ? paravirt_read_tsc+0x9/0xd
[ 104.490665] [<ffffffff8147269c>] call_softirq+0x1c/0x30
[ 104.490669] [<ffffffff8100aba1>] do_softirq+0x46/0x81
[ 104.490673] [<ffffffff81050922>] irq_exit+0x52/0xaf
[ 104.490677] [<ffffffff81472fb1>] smp_apic_timer_interrupt+0x7c/0x8a
[ 104.490682] [<ffffffff81471e53>] apic_timer_interrupt+0x13/0x20
[ 104.490684] <EOI> [<ffffffff8100e95d>] ? paravirt_read_tsc+0x9/0xd
[ 104.490692] [<ffffffff812664fc>] ? intel_idle+0xd8/0x100
[ 104.490696] [<ffffffff812664de>] ? intel_idle+0xba/0x100
[ 104.490700] [<ffffffff8138ad2d>] cpuidle_idle_call+0xd7/0x168
[ 104.490705] [<ffffffff81008307>] cpu_idle+0xa5/0xdf
[ 104.490711] [<ffffffff81449b7e>] rest_init+0x72/0x74
[ 104.490716] [<ffffffff81b5ab8b>] start_kernel+0x3ca/0x3d5
[ 104.490720] [<ffffffff81b5a2c4>] x86_64_start_reservations+0xaf/0xb3
[ 104.490724] [<ffffffff81b5a140>] ? early_idt_handlers+0x140/0x140
[ 104.490728] [<ffffffff81b5a3ca>] x86_64_start_kernel+0x102/0x111
[ 104.490731] ---[ end trace 0adfc1fb6df717f1 ]---
[ 104.490735] ------------[ cut here ]------------
The warning is coming from:
void gen6_gt_force_wake_get(struct drm_i915_private *dev_priv)
{
WARN_ON(!mutex_is_locked(&dev_priv->dev->struct_mutex));
/* Forcewake is atomic in case we get in here without the lock */
if (atomic_add_return(1, &dev_priv->forcewake_count) == 1)
__gen6_gt_force_wake_get(dev_priv);
}
The mutex isn't locked.
For the full dmesg:
http://rostedt.homelinux.com/private/vid-crash/dmesg
For the /debug/drm directory:
http://rostedt.homelinux.com/private/vid-crash/debugfs-i915.tar.bz2
-- Steve
More information about the dri-devel
mailing list