linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
@ 2004-11-18 21:05 Matthias Hentges
  2004-11-19 11:55 ` Pavel Machek
  2004-11-19 11:56 ` Pavel Machek
  0 siblings, 2 replies; 16+ messages in thread
From: Matthias Hentges @ 2004-11-18 21:05 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1693 bytes --]

Hello all,

I'm in the process of debugging S3 on my notebook and found out that I
can resume from S3 with every kernel up to (and including) 2.6.7-rc1
( patch-2.6.6-bk8-bk9.bz2 ).

After 2.6.7-rc1, my notebook freezes upon a resume from S3. Tested with
2.6.7-rc2, -rc3, 2.6.8.1, 2.6.9 and some 2.6.10-rcX-bkX kernels.

Please note that these tests were run in single user mode with a
barebone kernel
.config (attached) just enough to boot (ie no modules, no usb etc)

I have found a hint on the web that the pci-resume code, which was
included in 2.6.7-rc2, might cause this problem. I removed the call to
pci_default_resume in drivers/pci/pci-driver.c and my laptop resumed
into a working state again ( tested
with 2.6.7 and 2.6.9 ).

I've written an email to Arjan van de Ven, the author of the resume
patch and he suggested positing here, along with a full lspci output
(attached)
He thinks that some device is misbehaving and causing trouble if
resumed.

I have the bad feeling that the device in question is the built-in video
card
"ATI Technologies Inc RV250 5c63 [Radeon Mobility 9200 M9+] (rev 01)"
since every try to re-enable it after a resume failed. The screen just
stays dark, even with acpi_sleep=s3_mode. s3_bios freezes the machine on
a resume, as does resuming with radeonfb or accelerated X (DRI or
fglrx). Not even the boot-radeon tool
helps. It either freezes the machine, or just doesn't work.

In the meantime, I'm using the attached patch which disables the new
pci-resume code.

Thanks
-- 
Matthias Hentges 
Cologne / Germany

[www.hentges.net] -> PGP welcome, HTML tolerated
ICQ: 97 26 97 4   -> No files, no URL's

My OS: Debian SID. Geek by Nature, Linux by Choice

[-- Attachment #2: lspci-vvvv.txt --]
[-- Type: text/plain, Size: 10890 bytes --]

0000:00:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 21)
	Subsystem: Samsung Electronics Co Ltd: Unknown device c00c
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
	Latency: 0
	Region 0: Memory at e0000000 (32-bit, prefetchable) [size=256M]
	Capabilities: [e4] #09 [4104]
	Capabilities: [a0] AGP version 2.0
		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
		Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x4

0000:00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 21) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 96
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
	I/O behind bridge: 00003000-00003fff
	Memory behind bridge: d0100000-d01fffff
	Prefetchable memory behind bridge: d8000000-dfffffff
	BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-

0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03) (prog-if 00 [UHCI])
	Subsystem: Samsung Electronics Co Ltd: Unknown device c00c
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Interrupt: pin A routed to IRQ 11
	Region 4: I/O ports at 1800 [size=32]

0000:00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03) (prog-if 00 [UHCI])
	Subsystem: Samsung Electronics Co Ltd: Unknown device c00c
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Interrupt: pin B routed to IRQ 5
	Region 4: I/O ports at 1820 [size=32]

0000:00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03) (prog-if 00 [UHCI])
	Subsystem: Samsung Electronics Co Ltd: Unknown device c00c
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Interrupt: pin C routed to IRQ 11
	Region 4: I/O ports at 1840 [size=32]

0000:00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller (rev 03) (prog-if 20 [EHCI])
	Subsystem: Samsung Electronics Co Ltd: Unknown device c00c
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Interrupt: pin D routed to IRQ 5
	Region 0: Memory at d0000000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [58] #0a [2080]

0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 83) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR+
	Latency: 0
	Bus: primary=00, secondary=02, subordinate=04, sec-latency=64
	I/O behind bridge: 00004000-00004fff
	Memory behind bridge: d0200000-d02fffff
	Prefetchable memory behind bridge: fff00000-000fffff
	BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-

0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 03)
	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0

0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 03) (prog-if 8a [Master SecP PriP])
	Subsystem: Samsung Electronics Co Ltd: Unknown device c00c
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Interrupt: pin A routed to IRQ 11
	Region 0: I/O ports at <unassigned>
	Region 1: I/O ports at <unassigned>
	Region 2: I/O ports at <unassigned>
	Region 3: I/O ports at <unassigned>
	Region 4: I/O ports at 1860 [size=16]
	Region 5: Memory at 20000000 (32-bit, non-prefetchable) [size=1K]

0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
	Subsystem: Samsung Electronics Co Ltd: Unknown device c00c
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Interrupt: pin B routed to IRQ 5
	Region 0: I/O ports at 1c00 [size=256]
	Region 1: I/O ports at 1880 [size=64]
	Region 2: Memory at d0000c00 (32-bit, non-prefetchable) [size=512]
	Region 3: Memory at d0000800 (32-bit, non-prefetchable) [size=256]
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03) (prog-if 00 [Generic])
	Subsystem: Samsung Electronics Co Ltd: Unknown device c00c
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Interrupt: pin B routed to IRQ 5
	Region 0: I/O ports at 2400 [size=256]
	Region 1: I/O ports at 2000 [size=128]
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV250 5c63 [Radeon Mobility 9200 M9+] (rev 01) (prog-if 00 [VGA])
	Subsystem: Samsung Electronics Co Ltd: Unknown device c00c
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B+
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 66 (2000ns min), Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at d8000000 (32-bit, prefetchable) [size=128M]
	Region 1: I/O ports at 3000 [size=256]
	Region 2: Memory at d0100000 (32-bit, non-prefetchable) [size=64K]
	Capabilities: [58] AGP version 2.0
		Status: RQ=80 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
		Command: RQ=32 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x4
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
	Subsystem: Samsung Electronics Co Ltd: Unknown device c00c
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 64 (8000ns min, 16000ns max)
	Interrupt: pin A routed to IRQ 5
	Region 0: I/O ports at 4000 [size=256]
	Region 1: Memory at d0201800 (32-bit, non-prefetchable) [size=256]
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:02:01.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ac)
	Subsystem: Samsung Electronics Co Ltd: Unknown device c00c
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 168
	Interrupt: pin A routed to IRQ 5
	Region 0: Memory at 20001000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=02, secondary=03, subordinate=06, sec-latency=176
	Memory window 0: 20400000-207ff000 (prefetchable)
	Memory window 1: 20800000-20bff000
	I/O window 0: 00004400-000044ff
	I/O window 1: 00004800-000048ff
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
	16-bit legacy interface ports at 0001

0000:02:01.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ac)
	Subsystem: Samsung Electronics Co Ltd: Unknown device c00c
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 168
	Interrupt: pin B routed to IRQ 11
	Region 0: Memory at 20002000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=02, secondary=07, subordinate=0a, sec-latency=176
	Memory window 0: 20c00000-20fff000 (prefetchable)
	Memory window 1: 21000000-213ff000
	I/O window 0: 00004c00-00004cff
	I/O window 1: 00005000-000050ff
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
	16-bit legacy interface ports at 0001

0000:02:01.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 04) (prog-if 10 [OHCI])
	Subsystem: Samsung Electronics Co Ltd: Unknown device c00c
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 64 (500ns min, 1000ns max)
	Interrupt: pin C routed to IRQ 11
	Region 0: Memory at d0201000 (32-bit, non-prefetchable) [size=2K]
	Capabilities: [dc] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=2 PME+

0000:02:02.0 Network controller: Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)
	Subsystem: Intel Corp.: Unknown device 2522
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 64 (500ns min, 8500ns max), Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin A routed to IRQ 5
	Region 0: Memory at d0200000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [dc] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=1 PME-


[-- Attachment #3: dmesg.txt --]
[-- Type: text/plain, Size: 15439 bytes --]

000000 (reserved)
511MB LOWMEM available.
On node 0 totalpages: 130928
  DMA zone: 4096 pages, LIFO batch:1
  Normal zone: 126832 pages, LIFO batch:16
  HighMem zone: 0 pages, LIFO batch:1
DMI present.
ACPI: RSDP (v000 PTLTD                                 ) @ 0x000f6630
ACPI: RSDT (v001 PTLTD  CooperSp 0x06040000  LTP 0x00000000) @ 0x1ff76971
ACPI: FADT (v001 INTEL  ODEM     0x06040000 PTL  0x00000050) @ 0x1ff7bed2
ACPI: BOOT (v001 PTLTD  $SBFTBL$ 0x06040000  LTP 0x00000001) @ 0x1ff7bfd8
ACPI: SSDT (v001  INTEL  EISTRef 0x00000001 INTL 0x02002015) @ 0x1ff769a1
ACPI: DSDT (v001 INTEL  ODEM     0x06040000 MSFT 0x0100000e) @ 0x00000000
ACPI: PM-Timer IO Port: 0x1008
Built 1 zonelists
Kernel command line: BOOT_IMAGE=Linux-2.6.9 ro root=302 console=ttyS0,9600 console=tty0 resume2=swap:/dev/hda3
Initializing CPU#0
PID hash table entries: 2048 (order: 11, 32768 bytes)
Detected 1495.713 MHz processor.
Using pmtmr for high-res timesource
Console: colour VGA+ 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 513088k/523712k available (3217k kernel code, 10080k reserved, 1469k data, 184k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay loop... 2965.50 BogoMIPS (lpj=1482752)
Security Scaffold v1.0.0 initialized
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: After generic identify, caps: a7e9f9bf 00000000 00000000 00000000
CPU: After vendor identify, caps:  a7e9f9bf 00000000 00000000 00000000
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 1024K
CPU: After all inits, caps:        a7e9f9bf 00000000 00000000 00000040
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: Intel(R) Pentium(R) M processor 1500MHz stepping 05
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
   tbget-0291: *** Info: Table [DSDT] replaced by host OS
ACPI: IRQ9 SCI: Edge set to Level Trigger.
NET: Registered protocol family 16
PCI: PCI BIOS revision 2.10 entry at 0xfd9d3, last bus=4
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20040816
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
PCI: Transparent bridge - 0000:00:1e.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.AGPB._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIB._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 *5 6 7 11 12 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 *5 6 7 11 12 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 7 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 7 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 7 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKH] (IRQs 1 3 4 *5 6 7 11 12 14 15)
ACPI: Embedded Controller [EC0] (gpe 28)
ACPI: Power Resource [CFN1] (off)
Linux Plug and Play Support v0.97 (c) Adam Belay
PnPBIOS: Scanning system for PnP BIOS support...
PnPBIOS: Found PnP BIOS installation structure at 0xc00f6660
PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xa30c, dseg 0x400
PnPBIOS: 20 nodes reported by PnP BIOS; 20 recorded by driver
SCSI subsystem initialized
PCI: Using ACPI for IRQ routing
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
ACPI: PCI interrupt 0000:00:1d.0[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 5
ACPI: PCI interrupt 0000:00:1d.1[B] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
ACPI: PCI interrupt 0000:00:1d.2[C] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 5
ACPI: PCI interrupt 0000:00:1d.7[D] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI interrupt 0000:00:1f.1[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 5
ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI interrupt 0000:00:1f.6[B] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:02:00.0[A] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI interrupt 0000:02:01.0[A] -> GSI 5 (level, low) -> IRQ 5
ACPI: PCI interrupt 0000:02:01.1[B] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:02:01.2[C] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:02:02.0[A] -> GSI 5 (level, low) -> IRQ 5
irda_init()
NET: Registered protocol family 23
pnp: the driver 'system' has been registered
pnp: match found with the PnP device '00:00' and the driver 'system'
pnp: match found with the PnP device '00:01' and the driver 'system'
pnp: match found with the PnP device '00:09' and the driver 'system'
pnp: match found with the PnP device '00:0b' and the driver 'system'
pnp: 00:0b: ioport range 0x4d0-0x4d1 has been reserved
pnp: 00:0b: ioport range 0x1000-0x105f could not be reserved
pnp: 00:0b: ioport range 0x1060-0x107f has been reserved
pnp: 00:0b: ioport range 0x1180-0x11bf has been reserved
pnp: match found with the PnP device '00:0d' and the driver 'system'
pnp: match found with the PnP device '00:0f' and the driver 'system'
Simple Boot Flag at 0x36 set to 0x1
Machine check exception polling timer started.
IA-32 Microcode Update Driver: v1.14 <tigran@veritas.com>
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Initializing Cryptographic API
vesafb: probe of vesafb0 failed with error -6
ACPI: AC Adapter [AC0] (on-line)
ACPI: Battery Slot [BAT1] (battery present)
ACPI: Power Button (FF) [PWRF]
ACPI: Lid Switch [LID0]
ACPI: Sleep Button (CM) [SLPB]
ACPI: Fan [FAN1] (off)
ACPI: Processor [CPU0] (supports C1 C2 C3, 8 throttling states)
ACPI: Thermal Zone [THRM] (53 C)
Asus Laptop ACPI Extras version 0.29
  Samsung P30 detected, supported
lp: driver loaded but no devices found
Real Time Clock Driver v1.12
ppdev: user-space parallel port driver
i8042.c: Detected active multiplexing controller, rev 1.9.
serio: i8042 AUX0 port at 0x60,0x64 irq 12
serio: i8042 AUX1 port at 0x60,0x64 irq 12
serio: i8042 AUX2 port at 0x60,0x64 irq 12
serio: i8042 AUX3 port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
ACPI: PCI interrupt 0000:00:1f.6[B] -> GSI 5 (level, low) -> IRQ 5
pnp: the driver 'serial' has been registered
pnp: match found with the PnP device '00:11' and the driver 'serial'
pnp: the driver 'parport_pc' has been registered
pnp: match found with the PnP device '00:19' and the driver 'parport_pc'
pnp: Device 00:19 activated.
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,EPP,ECP,DMA]
lp0: using parport0 (interrupt-driven).
Using anticipatory io scheduler
floppy0: no floppy controllers found
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
8139too Fast Ethernet driver 0.9.27
ACPI: PCI interrupt 0000:02:00.0[A] -> GSI 5 (level, low) -> IRQ 5
eth0: RealTek RTL8139 at 0xe0822800, 00:00:f0:7e:bc:08, IRQ 5
eth0:  Identified 8139 chip type 'RTL-8101'
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH4: IDE controller at PCI slot 0000:00:1f.1
PCI: Enabling device 0000:00:1f.1 (0005 -> 0007)
ACPI: PCI interrupt 0000:00:1f.1[A] -> GSI 11 (level, low) -> IRQ 11
ICH4: chipset revision 3
ICH4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x1860-0x1867, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0x1868-0x186f, BIOS settings: hdc:pio, hdd:pio
Probing IDE interface ide0...
hda: IC25N060ATMR04-0, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: DV-W22E, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
Probing IDE interface ide2...
ide2: Wait for ready failed before probe !
Probing IDE interface ide3...
ide3: Wait for ready failed before probe !
Probing IDE interface ide4...
ide4: Wait for ready failed before probe !
Probing IDE interface ide5...
ide5: Wait for ready failed before probe !
hda: max request size: 1024KiB
hda: 117210240 sectors (60011 MB) w/7884KiB Cache, CHS=16383/255/63, UDMA(100)
hda: cache flushes supported
 hda: hda1 hda2 hda3 hda4 < hda5 hda6 >
hdc: ATAPI 24X DVD-ROM DVD-R-RAM CD-R/RW drive, 1419kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
ide-floppy driver 0.99.newide
ieee1394: Initialized config rom entry `ip1394'
ohci1394: $Rev: 1223 $ Ben Collins <bcollins@debian.org>
ACPI: PCI interrupt 0000:02:01.2[C] -> GSI 11 (level, low) -> IRQ 11
ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[11]  MMIO=[d0201000-d02017ff]  Max Packet=[2048]
mice: PS/2 mouse device common for all mice
input: AT Translated Set 2 keyboard on isa0060/serio0
Synaptics Touchpad, model: 1
 Firmware: 12.6
 180 degree mounted touchpad
 Sensor: 18
 new absolute packet format
 Touchpad has extended capability bits
 -> four buttons
 -> multifinger detection
 -> palm detection
input: SynPS/2 Synaptics TouchPad on isa0060/serio4
input: PC Speaker
I2O Core - (C) Copyright 1999 Red Hat Software
i2o: max_drivers=4
I2O Block Storage OSM v0.9
   (c) Copyright 1999-2001 Red Hat Software.
Advanced Linux Sound Architecture Driver Version 1.0.6 (Sun Aug 15 07:17:53 2004 UTC).
ieee1394: Host added: ID:BUS[0-00:1023]  GUID[0000f0414010ba78]
ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 5 (level, low) -> IRQ 5
PCI: Setting latency timer of device 0000:00:1f.5 to 64
intel8x0_measure_ac97_clock: measured 49595 usecs
intel8x0: clocking to 48000
ACPI: PCI interrupt 0000:00:1f.6[B] -> GSI 5 (level, low) -> IRQ 5
PCI: Setting latency timer of device 0000:00:1f.6 to 64
ALSA device list:
  #0: Intel 82801DB-ICH4 at 0xd0000c00, irq 5
  #1: Intel 82801DB-ICH4 Modem at 0x2400, irq 5
NET: Registered protocol family 2
IP: routing cache hash table of 4096 buckets, 32Kbytes
TCP: Hash tables configured (established 32768 bind 65536)
ip_conntrack version 2.1 (4091 buckets, 32728 max) - 300 bytes per conntrack
ip_tables: (C) 2000-2002 Netfilter core team
ipt_recent v0.3.1: Stephen Frost <sfrost@snowman.net>.  http://snowman.net/projects/ipt_recent/
NET: Registered protocol family 1
NET: Registered protocol family 17
IrCOMM protocol (Dag Brattli)
PM: Reading pmdisk image.
swsusp: Resume From Partition: /dev/hda3
<3>swsusp: Invalid partition type.
pmdisk: Error -22 resuming
PM: Resume from disk failed.
ACPI: (supports S0 S3 S4 S5)
ACPI wakeup devices: 
LANC USB0 USB1 USB2 USB7 MODM 
EXT3-fs: INFO: recovery required on readonly filesystem.
EXT3-fs: write access will be enabled during recovery.
EXT3-fs: recovery complete.
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 184k freed
Adding 979956k swap on /dev/hda3.  Priority:-1 extents:1
EXT3 FS on hda2, internal journal
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda5, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda6, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Linux agpgart interface v0.100 (c) Dave Jones
agpgart: Detected an Intel 855PM Chipset.
agpgart: Maximum main memory to use for agp memory: 439M
agpgart: AGP aperture is 256M @ 0xe0000000
usbcore: registered new driver usbfs
usbcore: registered new driver hub
USB Universal Host Controller Interface driver v2.2
ACPI: PCI interrupt 0000:00:1d.0[A] -> GSI 11 (level, low) -> IRQ 11
uhci_hcd 0000:00:1d.0: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: irq 11, io base 00001800
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
ACPI: PCI interrupt 0000:00:1d.1[B] -> GSI 5 (level, low) -> IRQ 5
uhci_hcd 0000:00:1d.1: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2
PCI: Setting latency timer of device 0000:00:1d.1 to 64
uhci_hcd 0000:00:1d.1: irq 5, io base 00001820
usb 1-1: new low speed USB device using address 2
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2
usbcore: registered new driver hiddev
input: USB HID v1.00 Mouse [Logitech USB-PS/2 Trackball] on usb-0000:00:1d.0-1
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.0:USB HID core driver
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ACPI: PCI interrupt 0000:00:1d.2[C] -> GSI 11 (level, low) -> IRQ 11
uhci_hcd 0000:00:1d.2: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3
PCI: Setting latency timer of device 0000:00:1d.2 to 64
uhci_hcd 0000:00:1d.2: irq 11, io base 00001840
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
ACPI: PCI interrupt 0000:00:1d.7[D] -> GSI 5 (level, low) -> IRQ 5
ehci_hcd 0000:00:1d.7: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller
PCI: Setting latency timer of device 0000:00:1d.7 to 64
ehci_hcd 0000:00:1d.7: irq 5, pci mem e091e000
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 4
PCI: cache line size of 32 is not supported by device 0000:00:1d.7
ehci_hcd 0000:00:1d.7: USB 2.0 enabled, EHCI 1.00, driver 2004-May-10
usb 1-1: USB disconnect, address 2
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 6 ports detected
Linux Kernel Card Services
  options:  [pci] [cardbus] [pm]
usb 1-1: new low speed USB device using address 3
input: USB HID v1.00 Mouse [Logitech USB-PS/2 Trackball] on usb-0000:00:1d.0-1
ACPI: PCI interrupt 0000:02:01.0[A] -> GSI 5 (level, low) -> IRQ 5
Yenta: CardBus bridge found at 0000:02:01.0 [144d:c00c]
Yenta: ISA IRQ mask 0x0418, PCI irq 5
Socket status: 30000006
PCI: Enabling device 0000:02:01.1 (0000 -> 0002)
ACPI: PCI interrupt 0000:02:01.1[B] -> GSI 11 (level, low) -> IRQ 11
Yenta: CardBus bridge found at 0000:02:01.1 [144d:c00c]
Yenta: ISA IRQ mask 0x0418, PCI irq 11
Socket status: 30000006
ieee80211_crypt: registered algorithm 'NULL'
ipw2100: Intel(R) PRO/Wireless 2100 Network Driver, 0.61
ipw2100: Copyright(c) 2003-2004 Intel Corporation
ACPI: PCI interrupt 0000:02:02.0[A] -> GSI 5 (level, low) -> IRQ 5
ipw2100: Detected Intel PRO/Wireless 2100 Network Connection
eth1: Radio is disabled by RF switch.
ieee80211_crypt: registered algorithm 'WEP'
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
nfs warning: mount version older than kernel
Access to /proc/cpufreq is deprecated and will be removed from (new) 2.6. kernels soon after 2005-01-01
process `syslogd' is using obsolete setsockopt SO_BSDCOMPAT
cs: IO port probe 0x0100-0x04ff: clean.
cs: IO port probe 0x0800-0x08ff: excluding 0x800-0x807
cs: IO port probe 0x0c00-0x0cff: clean.
cs: IO port probe 0xb000-0xdfff: clean.
cs: IO port probe 0x1000-0x17ff: clean.
cs: IO port probe 0x0a00-0x0aff: clean.

[-- Attachment #4: old_pci_resume-2.6.9.patch --]
[-- Type: text/x-patch, Size: 1651 bytes --]

diff -Nur linux-2.6.9/drivers/acpi/Kconfig linux-2.6.9-ncpires/drivers/acpi/Kconfig
--- linux-2.6.9/drivers/acpi/Kconfig	2004-10-18 23:55:29.000000000 +0200
+++ linux-2.6.9-ncpires/drivers/acpi/Kconfig	2004-11-18 17:03:50.000000000 +0100
@@ -146,6 +146,20 @@
 	depends on IA64
 	default y if IA64_GENERIC || IA64_SGI_SN2
 
+config OLD_PCI_RESUME
+	bool "Use compatibily PCI resume code"
+	depends on ACPI_INTERPRETER
+	default n
+	help
+	 Some notebooks have problems resuming from S3 (suspend-to-RAM) which
+	 leads to a complete freeze of the computer.
+	 
+	 Enabling this option disables the newer PCI resume code which might
+	 help in this case.
+	 
+	 If you encounter freezes while resuming from S3, say Y,
+	 otherwise say N.
+
 config ACPI_ASUS
         tristate "ASUS/Medion Laptop Extras"
 	depends on X86
diff -Nur linux-2.6.9/drivers/pci/pci-driver.c linux-2.6.9-ncpires/drivers/pci/pci-driver.c
--- linux-2.6.9/drivers/pci/pci-driver.c	2004-10-18 23:54:39.000000000 +0200
+++ linux-2.6.9-ncpires/drivers/pci/pci-driver.c	2004-11-18 18:27:23.000000000 +0100
@@ -326,6 +326,8 @@
  * Default resume method for devices that have no driver provided resume,
  * or not even a driver at all.
  */
+ 
+#ifndef CONFIG_OLD_PCI_RESUME
 static void pci_default_resume(struct pci_dev *pci_dev)
 {
 	/* restore the PCI config space */
@@ -337,6 +339,7 @@
 	if (pci_dev->is_busmaster)
 		pci_set_master(pci_dev);
 }
+#endif
 
 static int pci_device_resume(struct device * dev)
 {
@@ -345,8 +348,10 @@
 
 	if (drv && drv->resume)
 		drv->resume(pci_dev);
+#ifndef CONFIG_OLD_PCI_RESUME		
 	else
 		pci_default_resume(pci_dev);
+#endif
 	return 0;
 }
 

[-- Attachment #5: config.gz --]
[-- Type: application/x-gzip, Size: 4059 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
  2004-11-18 21:05 pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines Matthias Hentges
@ 2004-11-19 11:55 ` Pavel Machek
  2004-11-19 13:56   ` Matthias Hentges
  2004-11-19 11:56 ` Pavel Machek
  1 sibling, 1 reply; 16+ messages in thread
From: Pavel Machek @ 2004-11-19 11:55 UTC (permalink / raw)
  To: Matthias Hentges; +Cc: linux-kernel

Hi!

> I'm in the process of debugging S3 on my notebook and found out that I
> can resume from S3 with every kernel up to (and including) 2.6.7-rc1
> ( patch-2.6.6-bk8-bk9.bz2 ).

You can resume and your video works after resume in 2.6.7? Great!

								Pavel
-- 
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
  2004-11-18 21:05 pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines Matthias Hentges
  2004-11-19 11:55 ` Pavel Machek
@ 2004-11-19 11:56 ` Pavel Machek
  1 sibling, 0 replies; 16+ messages in thread
From: Pavel Machek @ 2004-11-19 11:56 UTC (permalink / raw)
  To: Matthias Hentges; +Cc: linux-kernel

Hi!

> I'm in the process of debugging S3 on my notebook and found out that I
> can resume from S3 with every kernel up to (and including) 2.6.7-rc1
> ( patch-2.6.6-bk8-bk9.bz2 ).
> 
> After 2.6.7-rc1, my notebook freezes upon a resume from S3. Tested with
> 2.6.7-rc2, -rc3, 2.6.8.1, 2.6.9 and some 2.6.10-rcX-bkX kernels.
> 
> Please note that these tests were run in single user mode with a
> barebone kernel
> .config (attached) just enough to boot (ie no modules, no usb etc)
> 
> I have found a hint on the web that the pci-resume code, which was
> included in 2.6.7-rc2, might cause this problem. I removed the call to
> pci_default_resume in drivers/pci/pci-driver.c and my laptop resumed
> into a working state again ( tested
> with 2.6.7 and 2.6.9 ).
> 
> I've written an email to Arjan van de Ven, the author of the resume
> patch and he suggested positing here, along with a full lspci output
> (attached)
> He thinks that some device is misbehaving and causing trouble if
> resumed.

Okay, patch is way too ugly. You probably should provide resume method
for your radeon that just does nothing. That should confirm your
theory, fix the crash, and you'll avoid touching common code with it.

								Pavel
-- 
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
  2004-11-19 11:55 ` Pavel Machek
@ 2004-11-19 13:56   ` Matthias Hentges
  2004-11-19 23:06     ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 16+ messages in thread
From: Matthias Hentges @ 2004-11-19 13:56 UTC (permalink / raw)
  To: Pavel Machek; +Cc: linux-kernel

Am Freitag, den 19.11.2004, 12:55 +0100 schrieb Pavel Machek:
> Hi!
> 
> > I'm in the process of debugging S3 on my notebook and found out that I
> > can resume from S3 with every kernel up to (and including) 2.6.7-rc1
> > ( patch-2.6.6-bk8-bk9.bz2 ).
> 
> You can resume and your video works after resume in 2.6.7? Great!

Heh, well no. Video is as dead as it can get :\ No known trick revives
it after a resume . But at least the machine doesn't freeze after S3.


> Okay, patch is way too ugly.

Of course it is :) It's more a proof-óf-concept that pci-resume is
indeed causing the problem. I have no idea how to debug this any
further. In the meantime this patch works for me.

>  You probably should provide resume method
> for your radeon that just does nothing. That should confirm your
> theory, fix the crash, and you'll avoid touching common code with it.

Sorry, that's beyond my abilities. That's why I'm posting here. I'm not
even sure that it's the radeon which is acting up here.
-- 
Matthias Hentges 
Cologne / Germany

[www.hentges.net] -> PGP welcome, HTML tolerated
ICQ: 97 26 97 4   -> No files, no URL's

My OS: Debian SID. Geek by Nature, Linux by Choice


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
  2004-11-19 13:56   ` Matthias Hentges
@ 2004-11-19 23:06     ` Benjamin Herrenschmidt
  2004-11-20  2:43       ` Matthew Garrett
  0 siblings, 1 reply; 16+ messages in thread
From: Benjamin Herrenschmidt @ 2004-11-19 23:06 UTC (permalink / raw)
  To: Matthias Hentges; +Cc: Pavel Machek, Linux Kernel list


> Of course it is :) It's more a proof-óf-concept that pci-resume is
> indeed causing the problem. I have no idea how to debug this any
> further. In the meantime this patch works for me.
> 
> >  You probably should provide resume method
> > for your radeon that just does nothing. That should confirm your
> > theory, fix the crash, and you'll avoid touching common code with it.
> 
> Sorry, that's beyond my abilities. That's why I'm posting here. I'm not
> even sure that it's the radeon which is acting up here.

Have you tried with radeonfb in your kernel config ?

Ben.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
  2004-11-19 23:06     ` Benjamin Herrenschmidt
@ 2004-11-20  2:43       ` Matthew Garrett
  2004-11-20  3:36         ` Matthias Hentges
                           ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Matthew Garrett @ 2004-11-20  2:43 UTC (permalink / raw)
  To: linux-kernel

Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:

>> Sorry, that's beyond my abilities. That's why I'm posting here. I'm not
>> even sure that it's the radeon which is acting up here.
> 
> Have you tried with radeonfb in your kernel config ?

In the general case, it's harder to resume systems using framebuffers
than systems that don't. The contortions that are necessary for non-fb
systems tend to break fb systems (you end up with userspace and the
kernel both trying to get the graphics hardware back into a sane state),
so in an ideal world resume would work without any framebuffer support.

-- 
Matthew Garrett | mjg59-chiark.mail.linux-rutgers.kernel@srcf.ucam.org

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
  2004-11-20  2:43       ` Matthew Garrett
@ 2004-11-20  3:36         ` Matthias Hentges
  2004-11-20  7:34           ` Benjamin Herrenschmidt
  2004-11-20  7:33         ` Benjamin Herrenschmidt
  2004-11-20 22:29         ` Pavel Machek
  2 siblings, 1 reply; 16+ messages in thread
From: Matthias Hentges @ 2004-11-20  3:36 UTC (permalink / raw)
  To: Matthew Garrett; +Cc: linux-kernel

Am Samstag, den 20.11.2004, 02:43 +0000 schrieb Matthew Garrett:
> Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> 
> >> Sorry, that's beyond my abilities. That's why I'm posting here. I'm not
> >> even sure that it's the radeon which is acting up here.
> > 
> > Have you tried with radeonfb in your kernel config ?
> 
> In the general case, it's harder to resume systems using framebuffers
> than systems that don't. The contortions that are necessary for non-fb
> systems tend to break fb systems (you end up with userspace and the
> kernel both trying to get the graphics hardware back into a sane state),
> so in an ideal world resume would work without any framebuffer support.

Trying to resume with radeonfb or X (DRI or fglrx) causes the machine
to freeze upon a resume.
-- 
Matthias Hentges 
Cologne / Germany

[www.hentges.net] -> PGP welcome, HTML tolerated
ICQ: 97 26 97 4   -> No files, no URL's

My OS: Debian SID. Geek by Nature, Linux by Choice


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
  2004-11-20  2:43       ` Matthew Garrett
  2004-11-20  3:36         ` Matthias Hentges
@ 2004-11-20  7:33         ` Benjamin Herrenschmidt
  2004-11-20 22:29         ` Pavel Machek
  2 siblings, 0 replies; 16+ messages in thread
From: Benjamin Herrenschmidt @ 2004-11-20  7:33 UTC (permalink / raw)
  To: Matthew Garrett; +Cc: Linux Kernel list

On Sat, 2004-11-20 at 02:43 +0000, Matthew Garrett wrote:
> Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> 
> >> Sorry, that's beyond my abilities. That's why I'm posting here. I'm not
> >> even sure that it's the radeon which is acting up here.
> > 
> > Have you tried with radeonfb in your kernel config ?
> 
> In the general case, it's harder to resume systems using framebuffers
> than systems that don't. The contortions that are necessary for non-fb
> systems tend to break fb systems (you end up with userspace and the
> kernel both trying to get the graphics hardware back into a sane state),
> so in an ideal world resume would work without any framebuffer support.

Bullshit...

Well... In an ideal world, the video chip would come up all back by
itself and nobody would have to care... unfortunately we aren't in an
ideal world.

With the way video cards are evolving, we'll soon have no choice but
have a kernel driver bring the chip back. Userspace has nothing to do
with that, and userspace & kernel aren't fighting over it.

Ben.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
  2004-11-20  3:36         ` Matthias Hentges
@ 2004-11-20  7:34           ` Benjamin Herrenschmidt
  2004-11-20  8:01             ` Matthias Hentges
  0 siblings, 1 reply; 16+ messages in thread
From: Benjamin Herrenschmidt @ 2004-11-20  7:34 UTC (permalink / raw)
  To: Matthias Hentges; +Cc: Matthew Garrett, Linux Kernel list

On Sat, 2004-11-20 at 04:36 +0100, Matthias Hentges wrote:
> Am Samstag, den 20.11.2004, 02:43 +0000 schrieb Matthew Garrett:
> > Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> > 
> > >> Sorry, that's beyond my abilities. That's why I'm posting here. I'm not
> > >> even sure that it's the radeon which is acting up here.
> > > 
> > > Have you tried with radeonfb in your kernel config ?
> > 
> > In the general case, it's harder to resume systems using framebuffers
> > than systems that don't. The contortions that are necessary for non-fb
> > systems tend to break fb systems (you end up with userspace and the
> > kernel both trying to get the graphics hardware back into a sane state),
> > so in an ideal world resume would work without any framebuffer support.
> 
> Trying to resume with radeonfb or X (DRI or fglrx) causes the machine
> to freeze upon a resume.

At what point does it freeze ? Is the display back before the freeze ?

Ben.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
  2004-11-20  7:34           ` Benjamin Herrenschmidt
@ 2004-11-20  8:01             ` Matthias Hentges
  2004-11-20 22:27               ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 16+ messages in thread
From: Matthias Hentges @ 2004-11-20  8:01 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: Linux Kernel list

[-- Attachment #1: Type: text/plain, Size: 1350 bytes --]

Am Samstag, den 20.11.2004, 18:34 +1100 schrieb Benjamin Herrenschmidt:
> On Sat, 2004-11-20 at 04:36 +0100, Matthias Hentges wrote:
> > Am Samstag, den 20.11.2004, 02:43 +0000 schrieb Matthew Garrett:
> > > Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> > > 

[...]

> > Trying to resume with radeonfb or X (DRI or fglrx) causes the machine
> > to freeze upon a resume.
> 
> At what point does it freeze ? Is the display back before the freeze ?

Sadly the video *never* comes back and stays dark no matter what I try:
- boot-radeon (int10 POST call) doesn't work. Either it segfaults or 
  it hangs the machine
- Any combination of radeontool light on|off doesn't help (no freeze,
sometimes it 
  can't read the cards mem address??)
- The int10 radeon patch for X11 doesn't help (freeze)
- radeonfb and / or X (either patched w/ int10 or not) freeze the
machine

I'm running out of ideas with this darn thing.
Since the serial port doesn't come back from S3 either, even a serial
console is of no help.

I have attached the output of lspci -vvv before and after resuming from
S3
The latter shows lots of "[disabled]" entries. Is that of any use?

Thanks
-- 
Matthias Hentges 
Cologne / Germany

[www.hentges.net] -> PGP welcome, HTML tolerated
ICQ: 97 26 97 4   -> No files, no URL's

My OS: Debian SID. Geek by Nature, Linux by Choice

[-- Attachment #2: lspci-vvv_after_s3.txt --]
[-- Type: text/plain, Size: 1001 bytes --]

0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV250 5c63 [Radeon Mobility 9200 M9+] (rev 01) (prog-if 00 [VGA])
	Subsystem: Samsung Electronics Co Ltd: Unknown device c00c
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at d8000000 (32-bit, prefetchable) [disabled] [size=128M]
	Region 1: I/O ports at 3000 [disabled] [size=256]
	Region 2: [virtual] Memory at d0100000 (32-bit, non-prefetchable) [disabled] [size=64K]
	Capabilities: [58] AGP version 2.0
		Status: RQ=80 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
		Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP- GART64- 64bit- FW- Rate=<none>
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

[-- Attachment #3: lspci-vvv_before_s3.txt --]
[-- Type: text/plain, Size: 1016 bytes --]

0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV250 5c63 [Radeon Mobility 9200 M9+] (rev 01) (prog-if 00 [VGA])
	Subsystem: Samsung Electronics Co Ltd: Unknown device c00c
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B+
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 66 (2000ns min), Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at d8000000 (32-bit, prefetchable) [size=128M]
	Region 1: I/O ports at 3000 [size=256]
	Region 2: Memory at d0100000 (32-bit, non-prefetchable) [size=64K]
	Capabilities: [58] AGP version 2.0
		Status: RQ=80 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
		Command: RQ=32 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x4
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
  2004-11-20  8:01             ` Matthias Hentges
@ 2004-11-20 22:27               ` Benjamin Herrenschmidt
  2004-11-21  8:50                 ` Matthias Hentges
  0 siblings, 1 reply; 16+ messages in thread
From: Benjamin Herrenschmidt @ 2004-11-20 22:27 UTC (permalink / raw)
  To: Matthias Hentges; +Cc: Linux Kernel list

On Sat, 2004-11-20 at 09:01 +0100, Matthias Hentges wrote:
> Am Samstag, den 20.11.2004, 18:34 +1100 schrieb Benjamin Herrenschmidt:
> > On Sat, 2004-11-20 at 04:36 +0100, Matthias Hentges wrote:
> > > Am Samstag, den 20.11.2004, 02:43 +0000 schrieb Matthew Garrett:
> > > > Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> > > > 
> 
> [...]
> 
> > > Trying to resume with radeonfb or X (DRI or fglrx) causes the machine
> > > to freeze upon a resume.
> > 
> > At what point does it freeze ? Is the display back before the freeze ?
> 
> Sadly the video *never* comes back and stays dark no matter what I try:
> - boot-radeon (int10 POST call) doesn't work. Either it segfaults or 
>   it hangs the machine
> - Any combination of radeontool light on|off doesn't help (no freeze,
> sometimes it 
>   can't read the cards mem address??)
> - The int10 radeon patch for X11 doesn't help (freeze)
> - radeonfb and / or X (either patched w/ int10 or not) freeze the
> machine
> 
> I'm running out of ideas with this darn thing.
> Since the serial port doesn't come back from S3 either, even a serial
> console is of no help.
> 
> I have attached the output of lspci -vvv before and after resuming from
> S3
> The latter shows lots of "[disabled]" entries. Is that of any use?

Difficult to say at this point, the [disabled] thing are easy fixed with
a pci_enable_device(). Unfortunately, on some machines, the firmware
sort-of expects the kenrel driver to reboot the card from scratch...

Ben.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
  2004-11-20  2:43       ` Matthew Garrett
  2004-11-20  3:36         ` Matthias Hentges
  2004-11-20  7:33         ` Benjamin Herrenschmidt
@ 2004-11-20 22:29         ` Pavel Machek
  2 siblings, 0 replies; 16+ messages in thread
From: Pavel Machek @ 2004-11-20 22:29 UTC (permalink / raw)
  To: Matthew Garrett; +Cc: linux-kernel

Hi!

> >> Sorry, that's beyond my abilities. That's why I'm posting here. I'm not
> >> even sure that it's the radeon which is acting up here.
> > 
> > Have you tried with radeonfb in your kernel config ?
> 
> In the general case, it's harder to resume systems using

This is not the general case. Read the whole thread, generic PCI
resume was causing problems.
								Pavel
-- 
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
  2004-11-20 22:27               ` Benjamin Herrenschmidt
@ 2004-11-21  8:50                 ` Matthias Hentges
  2004-11-21 21:39                   ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 16+ messages in thread
From: Matthias Hentges @ 2004-11-21  8:50 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: Linux Kernel list

Am Sonntag, den 21.11.2004, 09:27 +1100 schrieb Benjamin Herrenschmidt:
> On Sat, 2004-11-20 at 09:01 +0100, Matthias Hentges wrote:
> > Am Samstag, den 20.11.2004, 18:34 +1100 schrieb Benjamin Herrenschmidt:
> > > On Sat, 2004-11-20 at 04:36 +0100, Matthias Hentges wrote:
> > > > Am Samstag, den 20.11.2004, 02:43 +0000 schrieb Matthew Garrett:
> > > > > Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> > > > > 
> > 
> > [...]
> > 
> > > > Trying to resume with radeonfb or X (DRI or fglrx) causes the machine
> > > > to freeze upon a resume.

> > > At what point does it freeze ? Is the display back before the freeze ?
> > 
> > Sadly the video *never* comes back and stays dark no matter what I try:

[...]

> > The latter shows lots of "[disabled]" entries. Is that of any use?
> 
[...]

> Difficult to say at this point, the [disabled] thing are easy fixed with
> a pci_enable_device(). Unfortunately, on some machines, the firmware
> sort-of expects the kenrel driver to reboot the card from scratch...

I did some more tests today and found out that 
"0000:00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP
Controller (rev 21) (prog-if 00 [Normal decode])"

wasn't correctly resumed either.

I wrote a script to dump the pci data (from lspci -x $device). Importing
the data after a resume freezes the machine *if one is touching data
that hasn't been changed during S3*. If I only change the values which
were modified after resume, the machine does *not* freeze.

Maybe that's the problem with pci_default_resume. It looks like it is
just writing back the data it has stored before resuming. Maybe one
should only write the values which have actually changed?

Anyways, using my little script, i managed to restore the PCI data of
the "Processor to AGP Controller" and the Radeon card after a resume.

If X is running on VT7 and one suspends from VT1 and after resuming
switches back to VT7 ( after restoring the PCI data ), the backlight
goes on but the display is still empty.

Looks like I'm still missing something. To bad boot-radeon always
segsfaults :\ 
An int10 call after restoring the PCI data might just do the trick.
-- 
Matthias Hentges
Cologne / Germany

[www.hentges.net] -> PGP welcome, HTML tolerated
ICQ: 97 26 97 4   -> No files, no URL's

My OS: Debian SID. Geek by Nature, Linux by Choice


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
  2004-11-21  8:50                 ` Matthias Hentges
@ 2004-11-21 21:39                   ` Benjamin Herrenschmidt
  2004-11-22  4:34                     ` Matthias Hentges
  0 siblings, 1 reply; 16+ messages in thread
From: Benjamin Herrenschmidt @ 2004-11-21 21:39 UTC (permalink / raw)
  To: Matthias Hentges; +Cc: Linux Kernel list


> I did some more tests today and found out that 
> "0000:00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP
> Controller (rev 21) (prog-if 00 [Normal decode])"
> 
> wasn't correctly resumed either.
> 
> I wrote a script to dump the pci data (from lspci -x $device). Importing
> the data after a resume freezes the machine *if one is touching data
> that hasn't been changed during S3*. If I only change the values which
> were modified after resume, the machine does *not* freeze.
> 
> Maybe that's the problem with pci_default_resume. It looks like it is
> just writing back the data it has stored before resuming. Maybe one
> should only write the values which have actually changed?
> 
> Anyways, using my little script, i managed to restore the PCI data of
> the "Processor to AGP Controller" and the Radeon card after a resume.

That "update only what changed" makes little sense ... can you send me
the lspci state of the Intel bridge before you try to resume it ? I
suspect our pci_restore_state() should be smarter, that is check if
something changed (a BAR), if yes, switch mem/io off, restore the BARs,
then switch mem/io back on...

Ben.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
  2004-11-21 21:39                   ` Benjamin Herrenschmidt
@ 2004-11-22  4:34                     ` Matthias Hentges
  2004-11-22  4:52                       ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 16+ messages in thread
From: Matthias Hentges @ 2004-11-22  4:34 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: Linux Kernel list

[-- Attachment #1: Type: text/plain, Size: 643 bytes --]

Am Montag, den 22.11.2004, 08:39 +1100 schrieb Benjamin Herrenschmidt:

> That "update only what changed" makes little sense

Sorry, I was merely stating my observations.

>  ... can you send me
> the lspci state of the Intel bridge before you try to resume it ? I
> suspect our pci_restore_state() should be smarter, that is check if
> something changed (a BAR), if yes, switch mem/io off, restore the BARs,
> then switch mem/io back on...

Attached.

Thanks!
-- 
Matthias Hentges 
Cologne / Germany

[www.hentges.net] -> PGP welcome, HTML tolerated
ICQ: 97 26 97 4   -> No files, no URL's

My OS: Debian SID. Geek by Nature, Linux by Choice

[-- Attachment #2: dmesg.txt.gz --]
[-- Type: application/x-gzip, Size: 4589 bytes --]

[-- Attachment #3: kernel.config.gz --]
[-- Type: application/x-gzip, Size: 6322 bytes --]

[-- Attachment #4: lspci-vvvxxx_after_restoring_PCI.txt.gz --]
[-- Type: application/x-gzip, Size: 3424 bytes --]

[-- Attachment #5: lspci-vvvxxx_after_resuming.txt.gz --]
[-- Type: application/x-gzip, Size: 3384 bytes --]

[-- Attachment #6: lspci-vvvxxx_before_suspending.txt.gz --]
[-- Type: application/x-gzip, Size: 3468 bytes --]

[-- Attachment #7: proc_interrupts.txt --]
[-- Type: text/plain, Size: 406 bytes --]

           CPU0       
  0:     411306          XT-PIC  timer
  1:        510          XT-PIC  i8042
  2:          0          XT-PIC  cascade
  4:          8          XT-PIC  serial
  5:       1385          XT-PIC  eth0
  9:          9          XT-PIC  acpi
 12:        803          XT-PIC  i8042
 14:       2036          XT-PIC  ide0
 15:         21          XT-PIC  ide1
NMI:          0 
ERR:          0

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines
  2004-11-22  4:34                     ` Matthias Hentges
@ 2004-11-22  4:52                       ` Benjamin Herrenschmidt
  0 siblings, 0 replies; 16+ messages in thread
From: Benjamin Herrenschmidt @ 2004-11-22  4:52 UTC (permalink / raw)
  To: Matthias Hentges; +Cc: Linux Kernel list

On Mon, 2004-11-22 at 05:34 +0100, Matthias Hentges wrote:
> Am Montag, den 22.11.2004, 08:39 +1100 schrieb Benjamin Herrenschmidt:
> 
> > That "update only what changed" makes little sense
> 
> Sorry, I was merely stating my observations.
> 
> >  ... can you send me
> > the lspci state of the Intel bridge before you try to resume it ? I
> > suspect our pci_restore_state() should be smarter, that is check if
> > something changed (a BAR), if yes, switch mem/io off, restore the BARs,
> > then switch mem/io back on...
> 
> Attached.

Ok, it's clearly visible that your CPU->AGP bridge isn't properly
restored. I can't tell if the "default" resume code is enough tho, but
it's fairly probably that this isn't the only problem, and that the
video chip itself isn't restored neither...

I don't think the default resume code is to blame here, though the CPU
to AGP bridge may need some special restore code restoring more than
just it's config space (very probable even). I suspect there is some
ACPI trickery here that should be happening and isn't but my knowledge
of ACPI isn't that great.

Once the config space is resumed, I suppose doing a soft-boot of the
card with the BIOS would work, but then, that means preventing anything
from actually touching the video card until that happens... 

Ben.


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2004-11-22  4:53 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-18 21:05 pci-resume patch from 2.6.7-rc2 breakes S3 resume on some machines Matthias Hentges
2004-11-19 11:55 ` Pavel Machek
2004-11-19 13:56   ` Matthias Hentges
2004-11-19 23:06     ` Benjamin Herrenschmidt
2004-11-20  2:43       ` Matthew Garrett
2004-11-20  3:36         ` Matthias Hentges
2004-11-20  7:34           ` Benjamin Herrenschmidt
2004-11-20  8:01             ` Matthias Hentges
2004-11-20 22:27               ` Benjamin Herrenschmidt
2004-11-21  8:50                 ` Matthias Hentges
2004-11-21 21:39                   ` Benjamin Herrenschmidt
2004-11-22  4:34                     ` Matthias Hentges
2004-11-22  4:52                       ` Benjamin Herrenschmidt
2004-11-20  7:33         ` Benjamin Herrenschmidt
2004-11-20 22:29         ` Pavel Machek
2004-11-19 11:56 ` Pavel Machek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).