From: "Stefan Dösinger" <stefandoesinger-RbZlAiThDcE@public.gmane.org>
To: Len Brown <len.brown-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: ACPI Developers
<acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Re: PCI not restored correctly after suspend to ram
Date: Tue, 23 Mar 2004 21:42:23 +0100 [thread overview]
Message-ID: <200403232142.23874.stefandoesinger@gmx.at> (raw)
In-Reply-To: <1079719856.7278.30.camel-D2Zvc0uNKG8@public.gmane.org>
Hi,
> Bruno is correct, the PCI config space should be saved and restored by
> the driver's suspend and resume routines. suspend/resume routines
> typically do other hardware dependent stuff, but your debugging suggests
> that at least for some of these devices, simply saving and restoring pci
> config space (pci_save_state()/pci_restore_state()) may be sufficient.
>
> Time to take a look at the drivers for those devices...
Thank you very much, now the broadcom ethernet card(b44) and the first pcmcia
bridge resume properly.
I don't need firewire, the ipw2100 driver has no card specific resume code
right now(the pci part works fine), and the modem only has a closed driver.
So I'm content with everything except the sound card.
The last remaining problem is the sound card(Intel Corp. 82801DB (ICH4) AC'97
Audio Controller (rev 03), i810_audio): Any call to pci_enable_device(),
pci_restore_state() or pci_write_config_X() crashes.
I can revive the card from user mode with setpci. To make pci_enable_device
succeed, I have to change 3 registers:
#setpci -s 00:1f.5 11.b=0x1c
#setpci -s 00:1f.5 14.b=0xc1
#setpci -s 00:1f.5 15.b=0x18
Calling pci_write_config_byte() from the resume function of the driver caueses
a lockup.
What's the function of these registers(11, 14, 15), and why doesn't setpci
crash?
Thank you very much so far, and I hope you can help me here too.
Cheers,
Stefan
Here's again the pci configuration of the soundcard:
Before suspend:
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB (ICH4) AC'97 Audio
Controller (rev 03)
Subsystem: Acer Incorporated [ALI]: Unknown device 001f
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 10
Region 0: I/O ports at 1c00 [size=256]
Region 1: I/O ports at 18c0 [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-
00: 86 80 c5 24 07 00 90 02 03 00 01 04 00 00 00 00
10: 01 1c 00 00 c1 18 00 00 00 0c 00 d0 00 08 00 d0
20: 00 00 00 00 00 00 00 00 00 00 00 00 25 10 1f 00
30: 00 00 00 00 50 00 00 00 00 00 00 00 0a 02 00 00
After suspend:
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB (ICH4) AC'97 Audio
Controller (rev 03)
Subsystem: Acer Incorporated [ALI]: Unknown device 001f
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 B routed to IRQ 10
Region 0: I/O ports at 1c00 [disabled] [size=256]
Region 1: I/O ports at 18c0 [disabled] [size=64]
Region 2: [virtual] Memory at d0000c00 (32-bit, non-prefetchable) [disabled]
[size=512]
Region 3: [virtual] Memory at d0000800 (32-bit, non-prefetchable) [disabled]
[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-
00: 86 80 c5 24 00 00 90 02 03 00 01 04 00 00 00 00
10: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 25 10 1f 00
30: 00 00 00 00 50 00 00 00 00 00 00 00 00 02 00 00
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
next prev parent reply other threads:[~2004-03-23 20:42 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-18 8:35 PCI not restored correctly after suspend to ram Stefan Dösinger
[not found] ` <200403180935.09436.stefan.doesinger-dYJrdcitkgg0+Ua9VpOLR6Q1ief8SNuKXqFh9Ls21Oc@public.gmane.org>
2004-03-19 10:59 ` Bruno Ducrot
2004-03-19 18:10 ` Len Brown
[not found] ` <1079719856.7278.30.camel-D2Zvc0uNKG8@public.gmane.org>
2004-03-21 19:28 ` Stefan Dösinger
2004-03-23 20:42 ` Stefan Dösinger [this message]
2004-03-31 16:15 ` Pavel Machek
2004-03-19 19:25 ` Len Brown
2004-03-19 20:35 ` b44 suspend/resume (Re: PCI not restored correctly after suspend to ram) Len Brown
[not found] ` <1079728500.7277.140.camel-D2Zvc0uNKG8@public.gmane.org>
2004-03-21 19:13 ` Stefan Dösinger
2004-03-22 20:27 ` Stefan Dösinger
2004-03-23 2:45 ` David S. Miller
2004-03-20 4:47 ` PCI not restored correctly after suspend to ram Len Brown
2004-03-20 5:46 ` pci bridge suspend/resume (Re: PCI not restored correctly after suspend to ram) Len Brown
[not found] ` <1079761564.7274.730.camel-D2Zvc0uNKG8@public.gmane.org>
2004-03-20 5:52 ` cardbus " Len Brown
[not found] ` <1079761951.7277.735.camel-D2Zvc0uNKG8@public.gmane.org>
2004-03-21 19:36 ` Stefan Dösinger
2004-03-20 8:28 ` pci " Jeff Garzik
[not found] ` <405C00C6.3010805-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2004-03-20 13:45 ` Matthew Wilcox
[not found] ` <20040320134542.GV25059-+pPCBgu9SkPzIGdyhVEDUDl5KyyQGfY2kSSpQ9I8OhVaa/9Udqfwiw@public.gmane.org>
2004-03-20 18:00 ` Grant Grundler
2004-03-20 18:10 ` Greg KH
[not found] ` <20040320181000.GA8272-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2004-03-22 22:34 ` Adam Belay
[not found] ` <20040322223425.GB3213-IBH0VoN/3vPQT0dZR+AlfA@public.gmane.org>
2004-03-23 9:23 ` Russell King
[not found] ` <20040323092338.A21352-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2004-03-23 16:07 ` Grant Grundler
2004-03-24 1:35 ` Greg KH
[not found] ` <20040324013557.GB21477-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2004-03-24 9:07 ` Russell King
[not found] ` <20040324090746.A13095-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2004-03-24 13:26 ` Matthew Wilcox
[not found] ` <20040324132632.GI25059-+pPCBgu9SkPzIGdyhVEDUDl5KyyQGfY2kSSpQ9I8OhVaa/9Udqfwiw@public.gmane.org>
2004-03-24 15:14 ` Russell King
2004-03-31 6:03 ` Nate Lawson
[not found] ` <20040330214941.L85074-Y6VGUYTwhu0@public.gmane.org>
2004-03-31 7:28 ` Russell King
[not found] ` <20040331082834.B27804-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2004-03-31 15:28 ` Grant Grundler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200403232142.23874.stefandoesinger@gmx.at \
--to=stefandoesinger-rbzlaithdce@public.gmane.org \
--cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=len.brown-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox