Re: cirrus ich3 doesn't work after suspend to disk

From: Mark Santcroos <marks_at_ripe.net>
Date: Mon, 9 Jun 2003 05:51:27 +0200
Hi Orion,

On Thu, Jun 05, 2003 at 01:05:32PM -0700, Orion Hodson wrote:
> The problem you are experiencing is almost certainly localized in the ich 
> code, specifically ich_init - we may also want ich_reinit.  The intel specs 
> are very good as a rule and certainly the place to start - I don't think we 
> do warm reset properly (like at all) and probably don't do very good job of
> cold reset.  The specs live under developer.intel.com and should show up in 
> a search there.

I've found and read the spec. I think it has all the info to come to a
fully working version eventually.

> You might also want to check the power state as the chip comes back up - look 
> for pci_{get,set}_powerstate in cs4281.c.  I don't know offhand whether the 
> lower level PCI code does this automatically now or not.

This is ok. (D0)

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

I hacked the same thing into ich.c, that works too, but is not very clean.

Anyway that still doesn't seem to really solve the problem as that won't
help the hang on module reload. I'll investigate further.

Mark

-- 
Mark Santcroos                    RIPE Network Coordination Centre
http://www.ripe.net/home/mark/    New Projects Group/TTM
Received on Sun Jun 08 2003 - 18:51:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:11 UTC