Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Jun 2003 09:44:36 -0700
From:      Orion Hodson <orion@freebsd.org>
To:        Mark Santcroos <marks@ripe.net>
Cc:        current@freebsd.org
Subject:   Correct PCI suspend and resume operations [ was Re: cirrus ich3  doesn't work after suspend to disk ]
Message-ID:  <200306101644.h5AGiawR066527@puma.icir.org>
In-Reply-To: Your message of "Mon, 09 Jun 2003 05:51:27 %2B0200." <20030609035127.GA36909@laptop.6bone.nl> 

next in thread | previous in thread | raw e-mail | index | archive | help
/-- Mark Santcroos wrote:
| 
| I did some checking with pciconf before and after suspend and come up with
| the following "fix":
| 
| # set nambar
| pciconf -w -b pci0:31:5 0x11 0xd8
| # set nabmbar:
| pciconf -w -b pci0:31:5 0x14 0x81
| pciconf -w -b pci0:31:5 0x15 0xdc
| # set pcicmd:
| pciconf -w -b pci0:31:5 0x4 0x5

It looks like the pci configuration space state has been lost during
the suspend and resume.  This may be because the bus has removed power
from the devices attached to it on suspend.

I've been through a cross section of drivers this morning and some
explicitly save and restore the PCI configuration state space and
others don't.  The former seems like the safest path in most cases.
AFAICT, we don't common code for handling this and maybe there should
be some rather than have each driver replicate this behaviour.

- Orion







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200306101644.h5AGiawR066527>