public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
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

  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