[Intel-gfx] [PATCH] i915: Restore fence registers on resume

Stefano Avallone stavallo at unina.it
Wed May 6 15:34:30 CEST 2009


On Tuesday 05 May 2009 22:08:49 Kristian Høgsberg wrote:
> 2009/5/5 Stefano Avallone <stavallo at unina.it>:
> > On Monday 04 May 2009 22:07:04 Eric Anholt wrote:
> >> On Mon, 2009-05-04 at 15:59 -0400, Kristian Høgsberg wrote:
> >> > From: Kristian Høgsberg <krh at redhat.com>
> >> >
> >> > Buffers that stay pinned during suspend/resume need to have their
> >> > fence registers rewritten when we come back from resume.
> >> >
> >> > Signed-off-by: Kristian Høgsberg <krh at redhat.com>
> >>
> >> I'd already pulled one for this from keithp.
> >
> > Hmm, maybe it's just me, but I can't find this patch in the
> > drm-intel-next branch of your kernel repository. Can you please tell
> > where it has been applied?
>
> I'd like to second that request - we need this in the Fedora 11
> kernel, and I'd prefer to have the patch that will eventually make it
> upstream in there.

just in case it is of interest...

I've manually applied the patch from keithp on top of 2.6.30-rc4. I am using 
DRI2 and KMS, intel driver 2.7.99.1. I have suspended and resumed my laptop 
(with GM965) and got a couple of Oopses. 

Attached find the syslog and the output of intel-gpu-dump.

Stefano

>
> thanks,
> Kristian


-------------- next part --------------
May  6 00:31:01 dinard kernel: i2c-adapter i2c-2: unable to read EDID block.
May  6 00:31:01 dinard kernel: i915 0000:00:02.0: LVDS-1: no EDID data
May  6 00:31:01 dinard kernel: i2c-adapter i2c-2: unable to read EDID block.
May  6 00:31:01 dinard kernel: i915 0000:00:02.0: LVDS-1: no EDID data
May  6 09:22:31 dinard kernel: Syncing filesystems ... done.
May  6 09:22:33 dinard kernel: Freezing user space processes ... (elapsed 0.02 seconds) done.
May  6 09:22:33 dinard kernel: Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
May  6 09:22:33 dinard kernel: PM: Shrinking memory...  ^H-^H\^H|^H/^H-^H\^H|^H/^H-^Hdone (83938 pages freed)
May  6 09:22:33 dinard kernel: PM: Freed 335752 kbytes in 6.07 seconds (55.31 MB/s)
May  6 09:22:33 dinard kernel: Suspending console(s) (use no_console_suspend to debug)
May  6 09:22:33 dinard kernel: sd 0:0:0:0: [sda] Synchronizing SCSI cache
May  6 09:22:33 dinard kernel: ACPI handle has no context!
May  6 09:22:33 dinard kernel: ACPI handle has no context!
May  6 09:22:33 dinard kernel: tifm_7xx1 0000:09:03.2: PME# disabled
May  6 09:22:33 dinard kernel: tifm_7xx1 0000:09:03.2: PCI INT C disabled
May  6 09:22:33 dinard kernel: ACPI handle has no context!
May  6 09:22:33 dinard kernel: ACPI handle has no context!
May  6 09:22:33 dinard kernel: sky2 eth1: disabling interface
May  6 09:22:33 dinard kernel: sky2 0000:08:00.0: PME# disabled
May  6 09:22:33 dinard kernel: PIIX_IDE 0000:00:1f.1: PCI INT A disabled
May  6 09:22:33 dinard kernel: ehci_hcd 0000:00:1d.7: PCI INT A disabled
May  6 09:22:33 dinard kernel: ehci_hcd 0000:00:1d.7: PME# disabled
May  6 09:22:33 dinard kernel: uhci_hcd 0000:00:1d.2: PCI INT C disabled
May  6 09:22:33 dinard console-kit-daemon[4630]: WARNING: The program /usr/lib/ConsoleKit/run-session.d/pam-foreground-compat.ck didn't exit within 15 seconds; killing it 
May  6 09:22:33 dinard kernel: uhci_hcd 0000:00:1d.1: PCI INT B disabled
May  6 09:22:33 dinard kernel: uhci_hcd 0000:00:1d.0: PCI INT A disabled
May  6 09:22:33 dinard kernel: HDA Intel 0000:00:1b.0: PCI INT A disabled
May  6 09:22:33 dinard kernel: ehci_hcd 0000:00:1a.7: PCI INT C disabled
May  6 09:22:33 dinard kernel: ehci_hcd 0000:00:1a.7: PME# disabled
May  6 09:22:33 dinard kernel: uhci_hcd 0000:00:1a.1: PCI INT B disabled
May  6 09:22:33 dinard kernel: uhci_hcd 0000:00:1a.0: PCI INT A disabled
May  6 09:22:33 dinard kernel: [drm:i915_get_vblank_counter] *ERROR* trying to get vblank count for disabled pipe 0
May  6 09:22:33 dinard kernel: ACPI: Preparing to enter system sleep state S4
May  6 09:22:33 dinard kernel: PM: Saving platform NVS memory
May  6 09:22:33 dinard kernel: Disabling non-boot CPUs ...
May  6 09:22:33 dinard kernel: CPU 1 is now offline
May  6 09:22:33 dinard kernel: SMP alternatives: switching to UP code
May  6 09:22:33 dinard kernel: CPU1 is down
May  6 09:22:33 dinard kernel: Extended CMOS year: 2000
May  6 09:22:33 dinard kernel: PM: Creating hibernation image: 
May  6 09:22:33 dinard kernel: PM: Need to copy 100392 pages
May  6 09:22:33 dinard kernel: Intel machine check architecture supported.
May  6 09:22:33 dinard kernel: Intel machine check reporting enabled on CPU#0.
May  6 09:22:33 dinard kernel: PM: Restoring platform NVS memory
May  6 09:22:33 dinard kernel: Extended CMOS year: 2000
May  6 09:22:33 dinard kernel: Enabling non-boot CPUs ...
May  6 09:22:33 dinard kernel: SMP alternatives: switching to SMP code
May  6 09:22:33 dinard kernel: Booting processor 1 APIC 0x1 ip 0x6000
May  6 09:22:33 dinard kernel: Initializing CPU#1
May  6 09:22:33 dinard kernel: Calibrating delay using timer specific routine.. 4189.50 BogoMIPS (lpj=8379014)
May  6 09:22:33 dinard kernel: CPU: L1 I cache: 32K, L1 D cache: 32K
May  6 09:22:33 dinard kernel: CPU: L2 cache: 3072K
May  6 09:22:33 dinard kernel: CPU: Physical Processor ID: 0
May  6 09:22:33 dinard kernel: CPU: Processor Core ID: 1
May  6 09:22:33 dinard kernel: Intel machine check architecture supported.
May  6 09:22:33 dinard kernel: Intel machine check reporting enabled on CPU#1.
May  6 09:22:33 dinard kernel: CPU1: Intel(R) Core(TM)2 Duo CPU     T8100  @ 2.10GHz stepping 06
May  6 09:22:33 dinard kernel: Switched to high resolution mode on CPU 1
May  6 09:22:33 dinard kernel: microcode: failed to init CPU1
May  6 09:22:33 dinard kernel: CPU1 is up
May  6 09:22:33 dinard kernel: ACPI: Waking up from system sleep state S4
May  6 09:22:33 dinard kernel: i915 0000:00:02.0: restoring config space at offset 0x1 (was 0x900007, writing 0x900407)
May  6 09:22:33 dinard kernel: HDA Intel 0000:00:1b.0: restoring config space at offset 0x1 (was 0x100106, writing 0x100102)
May  6 09:22:33 dinard kernel: pci 0000:00:1e.0: restoring config space at offset 0x6 (was 0x200a0900, writing 0x200d0900)
May  6 09:22:33 dinard kernel: PIIX_IDE 0000:00:1f.1: restoring config space at offset 0x1 (was 0x2800001, writing 0x2800005)
May  6 09:22:33 dinard kernel: ahci 0000:00:1f.2: restoring config space at offset 0x1 (was 0x2b00403, writing 0x2b00407)
May  6 09:22:33 dinard kernel: yenta_cardbus 0000:09:03.0: restoring config space at offset 0xf (was 0x3440105, writing 0x5c00105)
May  6 09:22:33 dinard kernel: yenta_cardbus 0000:09:03.0: restoring config space at offset 0x3 (was 0x823110, writing 0x82a810)
May  6 09:22:33 dinard kernel: yenta_cardbus 0000:09:03.0: restoring config space at offset 0x1 (was 0x2100107, writing 0x2100007)
May  6 09:22:33 dinard kernel: firewire_ohci 0000:09:03.1: restoring config space at offset 0xf (was 0x4030200, writing 0x403020a)
May  6 09:22:33 dinard kernel: firewire_ohci 0000:09:03.1: restoring config space at offset 0x5 (was 0x0, writing 0xfc304000)
May  6 09:22:33 dinard kernel: firewire_ohci 0000:09:03.1: restoring config space at offset 0x4 (was 0x0, writing 0xfc302000)
May  6 09:22:33 dinard kernel: firewire_ohci 0000:09:03.1: restoring config space at offset 0x3 (was 0x800000, writing 0x802010)
May  6 09:22:33 dinard kernel: firewire_ohci 0000:09:03.1: restoring config space at offset 0x1 (was 0x2100000, writing 0x2100116)
May  6 09:22:33 dinard kernel: i915 0000:00:02.0: setting latency timer to 64
May  6 09:22:33 dinard kernel: pci 0000:00:02.1: PME# disabled
May  6 09:22:33 dinard kernel: uhci_hcd 0000:00:1a.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
May  6 09:22:33 dinard kernel: uhci_hcd 0000:00:1a.0: setting latency timer to 64
May  6 09:22:33 dinard kernel: uhci_hcd 0000:00:1a.1: PCI INT B -> GSI 21 (level, low) -> IRQ 21
May  6 09:22:33 dinard kernel: uhci_hcd 0000:00:1a.1: setting latency timer to 64
May  6 09:22:33 dinard kernel: ehci_hcd 0000:00:1a.7: PME# disabled
May  6 09:22:33 dinard kernel: ehci_hcd 0000:00:1a.7: PCI INT C -> GSI 18 (level, low) -> IRQ 18
May  6 09:22:33 dinard kernel: ehci_hcd 0000:00:1a.7: setting latency timer to 64
May  6 09:22:33 dinard kernel: ehci_hcd 0000:00:1a.7: PME# disabled
May  6 09:22:33 dinard kernel: HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
May  6 09:22:33 dinard kernel: HDA Intel 0000:00:1b.0: setting latency timer to 64
May  6 09:22:33 dinard kernel: uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
May  6 09:22:33 dinard kernel: uhci_hcd 0000:00:1d.0: setting latency timer to 64
May  6 09:22:33 dinard kernel: uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 19 (level, low) -> IRQ 19
May  6 09:22:33 dinard kernel: uhci_hcd 0000:00:1d.1: setting latency timer to 64
May  6 09:22:33 dinard kernel: uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
May  6 09:22:33 dinard kernel: uhci_hcd 0000:00:1d.2: setting latency timer to 64
May  6 09:22:33 dinard kernel: ehci_hcd 0000:00:1d.7: PME# disabled
May  6 09:22:33 dinard kernel: ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 23 (level, low) -> IRQ 23
May  6 09:22:33 dinard kernel: ehci_hcd 0000:00:1d.7: setting latency timer to 64
May  6 09:22:33 dinard kernel: ehci_hcd 0000:00:1d.7: PME# disabled
May  6 09:22:33 dinard kernel: pci 0000:00:1e.0: setting latency timer to 64
May  6 09:22:33 dinard kernel: PIIX_IDE 0000:00:1f.1: PCI INT A -> GSI 19 (level, low) -> IRQ 19
May  6 09:22:33 dinard kernel: PIIX_IDE 0000:00:1f.1: setting latency timer to 64
May  6 09:22:33 dinard kernel: ahci 0000:00:1f.2: setting latency timer to 64
May  6 09:22:33 dinard kernel: iwlagn 0000:06:00.0: restoring config space at offset 0x1 (was 0x40100506, writing 0x40100106)
May  6 09:22:33 dinard kernel: sky2 0000:08:00.0: PME# disabled
May  6 09:22:33 dinard kernel: iwlagn 0000:06:00.0: Radio Frequency Kill Switch is On:
May  6 09:22:33 dinard kernel: Kill switch must be turned off for wireless networking to work.
May  6 09:22:33 dinard kernel: sky2 eth1: enabling interface
May  6 09:22:33 dinard kernel: firewire_core: skipped bus generations, destroying all nodes
May  6 09:22:33 dinard kernel: tifm_7xx1 0000:09:03.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
May  6 09:22:33 dinard kernel: hda: host max PIO4 wanted PIO255(auto-tune) selected PIO4
May  6 09:22:33 dinard kernel: hda: UDMA/33 mode selected
May  6 09:22:33 dinard kernel: sd 0:0:0:0: [sda] Starting disk
May  6 09:22:33 dinard kernel: ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
May  6 09:22:33 dinard kernel: ata1.00: ACPI cmd ef/90:03:00:00:00:a0 succeeded
May  6 09:22:33 dinard kernel: ata1.00: ACPI cmd f5/00:00:00:00:00:a0 filtered out
May  6 09:22:33 dinard kernel: ata1.00: ACPI cmd ef/90:03:00:00:00:a0 succeeded
May  6 09:22:33 dinard kernel: ata1.00: ACPI cmd f5/00:00:00:00:00:a0 filtered out
May  6 09:22:33 dinard kernel: ata1.00: configured for UDMA/133
May  6 09:22:33 dinard kernel: Restarting tasks ... done.
May  6 09:22:33 dinard kernel: BUG: unable to handle kernel NULL pointer dereference at (null)
May  6 09:22:33 dinard kernel: IP: [<(null)>] (null)
May  6 09:22:33 dinard kernel: *pde = 00000000 
May  6 09:22:33 dinard kernel: Oops: 0000 [#1] SMP 
May  6 09:22:33 dinard kernel: last sysfs file: /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
May  6 09:22:33 dinard kernel: Modules linked in: i915 drm i2c_algo_bit cfbcopyarea cfbimgblt cfbfillrect binfmt_misc rfcomm l2cap bluetooth ipv6 acpi_cpufreq firewire_sbp2 loop snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi arc4 snd_seq_midi_event joydev ecb snd_seq iwlagn snd_timer snd_seq_device iwlcore pcmcia snd led_class tifm_7xx1 soundcore snd_page_alloc mac80211 tifm_core i2c_i801 psmouse pcspkr yenta_socket rsrc_nonstatic pcmcia_core serio_raw evdev video sony_laptop output rfkill ext3 jbd mbcache sd_mod ide_cd_mod cdrom ata_generic ata_piix ide_pci_generic firewire_ohci firewire_core crc_itu_t ahci uhci_hcd piix libata scsi_mod ehci_hcd sky2 ide_core usbcore fan
May  6 09:22:33 dinard kernel: 
May  6 09:22:33 dinard kernel: Pid: 4784, comm: hcid Not tainted (2.6.30-rc4-keithp #1) VGN-FZ39VN
May  6 09:22:33 dinard kernel: EIP: 0060:[<00000000>] EFLAGS: 00010286 CPU: 0
May  6 09:22:33 dinard kernel: EIP is at 0x0
May  6 09:22:33 dinard kernel: EAX: f69b601c EBX: b7fe0f40 ECX: 00000005 EDX: f69b6000
May  6 09:22:33 dinard kernel: ESI: ffffffff EDI: b7e4eff4 EBP: f69b7fac ESP: f69b7fa8
May  6 09:22:33 dinard kernel:  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
May  6 09:22:33 dinard kernel: Process hcid (pid: 4784, ti=f69b6000 task=f6138000 task.ti=f69b6000)
May  6 09:22:33 dinard kernel: Stack:
May  6 09:22:33 dinard kernel:  c0134ee1 f69b6000 c0102ec4 b7fe0f40 00000005 ffffffff ffffffff b7e4eff4
May  6 09:22:33 dinard kernel:  bf8d1218 00000000 0000007b 0000007b 00000000 00000000 00000000 b7f76424
May  6 09:22:33 dinard kernel:  00000073 00000246 bf8d11f4 0000007b 00000000 00000000
May  6 09:22:33 dinard kernel: Call Trace:
May  6 09:22:33 dinard kernel:  [<c0134ee1>] ? sys_restart_syscall+0x11/0x20
May  6 09:22:33 dinard kernel:  [<c0102ec4>] ? sysenter_do_call+0x12/0x22
May  6 09:22:33 dinard kernel: Code:  Bad EIP value.
May  6 09:22:33 dinard kernel: EIP: [<00000000>] 0x0 SS:ESP 0068:f69b7fa8
May  6 09:22:33 dinard kernel: CR2: 0000000000000000
May  6 09:22:33 dinard kernel: ---[ end trace d75f0a9390633119 ]---
May  6 09:22:33 dinard kernel: BUG: unable to handle kernel NULL pointer dereference at 00000024
May  6 09:22:33 dinard kernel: IP: [<c012dc5b>] do_exit+0x11b/0x6c0
May  6 09:22:33 dinard kernel: *pde = 00000000 
May  6 09:22:33 dinard kernel: Oops: 0000 [#2] SMP 
May  6 09:22:33 dinard kernel: last sysfs file: /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
May  6 09:22:33 dinard kernel: Modules linked in: i915 drm i2c_algo_bit cfbcopyarea cfbimgblt cfbfillrect binfmt_misc rfcomm l2cap bluetooth ipv6 acpi_cpufreq firewire_sbp2 loop snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi arc4 snd_seq_midi_event joydev ecb snd_seq iwlagn snd_timer snd_seq_device iwlcore pcmcia snd led_class tifm_7xx1 soundcore snd_page_alloc mac80211 tifm_core i2c_i801 psmouse pcspkr yenta_socket rsrc_nonstatic pcmcia_core serio_raw evdev video sony_laptop output rfkill ext3 jbd mbcache sd_mod ide_cd_mod cdrom ata_generic ata_piix ide_pci_generic firewire_ohci firewire_core crc_itu_t ahci uhci_hcd piix libata scsi_mod ehci_hcd sky2 ide_core usbcore fan
May  6 09:22:33 dinard kernel: 
May  6 09:22:33 dinard kernel: Pid: 4784, comm: hcid Tainted: G      D    (2.6.30-rc4-keithp #1) VGN-FZ39VN
May  6 09:22:33 dinard kernel: EIP: 0060:[<c012dc5b>] EFLAGS: 00010246 CPU: 0
May  6 09:22:33 dinard kernel: EIP is at do_exit+0x11b/0x6c0
May  6 09:22:33 dinard kernel: EAX: 00000000 EBX: 00000009 ECX: 00003131 EDX: 00003232
May  6 09:22:33 dinard kernel: ESI: f6138000 EDI: 00000009 EBP: f69b7e28 ESP: f69b7df0
May  6 09:22:33 dinard kernel:  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
May  6 09:22:33 dinard kernel: Process hcid (pid: 4784, ti=f69b6000 task=f6138000 task.ti=f69b6000)
May  6 09:22:33 dinard kernel: Stack:
May  6 09:22:33 dinard kernel:  f69b7e14 c012b0b1 f69b7f6c 00000246 00000009 00000001 c0342d73 c03ad0d8
May  6 09:22:33 dinard kernel:  f69b7e20 f69b7e28 c012a92f f69b7f6c 00000246 00000009 f69b7e40 c01065fe
May  6 09:22:33 dinard kernel:  f69b7e40 00000009 f69b7f6c 00000000 f69b7e68 c011a666 c03a8676 00000000
May  6 09:22:33 dinard kernel: Call Trace:
May  6 09:22:33 dinard kernel:  [<c012b0b1>] ? release_console_sem+0x1a1/0x1e0
May  6 09:22:33 dinard kernel:  [<c0342d73>] ? printk+0x18/0x1d
May  6 09:22:33 dinard kernel:  [<c012a92f>] ? oops_exit+0x2f/0x40
May  6 09:22:33 dinard kernel:  [<c01065fe>] ? oops_end+0xbe/0xc0
May  6 09:22:33 dinard kernel:  [<c011a666>] ? no_context+0xb6/0x150
May  6 09:22:33 dinard kernel:  [<c01f915c>] ? blk_unplug+0xc/0x10
May  6 09:22:33 dinard kernel:  [<c011a753>] ? __bad_area_nosemaphore+0x53/0x170
May  6 09:22:33 dinard kernel:  [<c03437c8>] ? schedule+0x8/0x20
May  6 09:22:33 dinard kernel:  [<c034380c>] ? io_schedule+0x2c/0x40
May  6 09:22:33 dinard kernel:  [<c0343cac>] ? __wait_on_bit_lock+0x6c/0xa0
May  6 09:22:33 dinard kernel:  [<c016b620>] ? sync_page+0x0/0x60
May  6 09:22:33 dinard kernel:  [<c016b5f6>] ? __lock_page+0x86/0xa0
May  6 09:22:33 dinard kernel:  [<c018a10d>] ? swap_info_get+0x4d/0xd0
May  6 09:22:33 dinard kernel:  [<c016b771>] ? unlock_page+0x41/0x50
May  6 09:22:33 dinard kernel:  [<c017ff80>] ? handle_mm_fault+0x2a0/0x580
May  6 09:22:33 dinard kernel:  [<c011a8cb>] ? bad_area+0x3b/0x50
May  6 09:22:33 dinard kernel:  [<c011ac15>] ? do_page_fault+0x205/0x250
May  6 09:22:33 dinard kernel:  [<c011aa10>] ? do_page_fault+0x0/0x250
May  6 09:22:33 dinard kernel:  [<c03457ed>] ? error_code+0x6d/0x74
May  6 09:22:33 dinard kernel:  [<c011aa10>] ? do_page_fault+0x0/0x250
May  6 09:22:33 dinard kernel:  [<c0134ee1>] ? sys_restart_syscall+0x11/0x20
May  6 09:22:33 dinard kernel:  [<c0102ec4>] ? sysenter_do_call+0x12/0x22
May  6 09:22:33 dinard kernel: Code: 8b 45 dc 85 c0 0f 85 80 04 00 00 89 f0 e8 9e 60 0b 00 89 f0 e8 17 ea ff ff 89 f0 e8 d0 71 08 00 e8 3b c6 fd ff 8b 46 04 8b 40 04 <8b> 40 24 e8 dd 38 02 00 8b 86 ec 00 00 00 85 c0 74 08 8b 40 08 
May  6 09:22:33 dinard kernel: EIP: [<c012dc5b>] do_exit+0x11b/0x6c0 SS:ESP 0068:f69b7df0
May  6 09:22:33 dinard kernel: CR2: 0000000000000024
May  6 09:22:33 dinard kernel: ---[ end trace d75f0a939063311a ]---
May  6 09:22:33 dinard kernel: Fixing recursive fault but reboot is needed!
May  6 09:22:33 dinard kernel: firewire_core: rediscovered device fw0
May  6 09:22:33 dinard kernel: sky2 eth1: Link is up at 100 Mbps, full duplex, flow control both
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gpu_dump.bz2
Type: application/x-bzip
Size: 79383 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20090506/c02944f4/attachment.bin>


More information about the Intel-gfx mailing list