Hi, On 6/8/05, Li, Shaohua wrote: > > > >I've been trying to get S3 suspend working on my Dell Precision M70 > >without much success for the past few weeks. This is all now with > >2.6.12-rc6, with Jens Axboe's patch for SATA suspend (as the machine > >has a SATA interface and uses ata_piix). > > [ ... ] > >Any ideas where to start looking for a cause? I figure fixing the tg3 > >issue should help track down the overall problem. > > > Is the PCI express bridge's config space ok? Particularly, the bus > number registers. And can you track down if the tg3 resume routine > returns ok? Hmm.. the config space doesn't look ok to me at all; I've attached the before and after suspend lspci -vv output for diffing, because I could easily be drawing the wrong conclusions here. Some things I noticed: Before suspend: 00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03) (prog-if 00 [Normal decode]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Bus: primary=00, secondary=02, subordinate=02, sec-latency=0 Memory behind bridge: dcf00000-dcffffff After resume, we lose the BusMaster flag (not just on this device, but on a few others), and the bus numbers and memory ranges change: Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- (lost BusMaster flag?) Bus: primary=00, secondary=00, subordinate=00, sec-latency=0 I/O behind bridge: 00000000-00000fff Memory behind bridge: 00000000-000fffff Prefetchable memory behind bridge: 0000000000000000-0000000000000000 The root PCIE port on which the nvidia sits goes through similar lossage... no memory range behind the bridge is reported after resume, and MSI's are reported as disabled where they were enabled before. I haven't been able to track down if the tg3 resume function completes as of yet; it's hit and miss whether the display gets restored after a resume (dpms/vbetool sometimes help, sometimes they don't), and with the tg3 module loaded I can only send commands through in bursts... will give it another few tries. Thanks, - Vlad