From owner-freebsd-acpi@FreeBSD.ORG Tue Dec 30 19:14:18 2008 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 09768106564A; Tue, 30 Dec 2008 19:14:18 +0000 (UTC) (envelope-from nate@root.org) Received: from nlpi053.prodigy.net (nlpi053.sbcis.sbc.com [207.115.36.82]) by mx1.freebsd.org (Postfix) with ESMTP id BF83E8FC17; Tue, 30 Dec 2008 19:14:17 +0000 (UTC) (envelope-from nate@root.org) Received: from [10.0.5.18] (ppp-71-139-14-188.dsl.snfc21.pacbell.net [71.139.14.188]) (authenticated bits=0) by nlpi053.prodigy.net (8.13.8 smtpauth/dk/map_regex/8.13.8) with ESMTP id mBUJEE0U012525; Tue, 30 Dec 2008 13:14:15 -0600 Message-ID: <495A7309.2060400@root.org> Date: Tue, 30 Dec 2008 11:14:17 -0800 From: Nate Lawson User-Agent: Thunderbird 2.0.0.18 (Windows/20081105) MIME-Version: 1.0 To: Coleman Kane References: <1230564886.2280.11.camel@localhost> <4958F887.2010203@root.org> <1230579699.2386.5.camel@localhost> <49593036.4030306@root.org> <1230662172.1702.2.camel@localhost> In-Reply-To: <1230662172.1702.2.camel@localhost> X-Enigmail-Version: 0.95.7 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@FreeBSD.org Subject: Re: amd64 S3 patch on HP 6715b: NICs won't work after resume from S3 X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Dec 2008 19:14:18 -0000 Coleman Kane wrote: > On Mon, 2008-12-29 at 12:16 -0800, Nate Lawson wrote: >> Coleman Kane wrote: >>> On Mon, 2008-12-29 at 08:19 -0800, Nate Lawson wrote: >>>> Coleman Kane wrote: >>>>> I've been testing Jung-uk Kim's recent amd64 suspend patch on my HP >>>>> notebook, and it seems to be very close to working well. >>>>> >>>>> The notebook goes into S3 state properly, but when it comes back out it >>>>> seems that the hardware is left in a bad state. I cannot attach my >>>>> if_bge and if_ndis network drivers after a resume. >>>> Dump the pci config register states for those devices both before and >>>> after the resume. Where the bits differ is probably where you'll find >>>> the problem. >>>> >>>> Example to read 256 bytes: >>>> pciconf -r pci0:4:0 0:256 >>>> >>> Tried that, and I also tried to use pciconf -w to set the registers to >>> the initial state of the hardware before if_bge is loaded. I still get >>> the following messages when I attempt to reload the kld after the >>> resume, followed by a failed attach: >>> >>> bge0: mem 0xd0000000-0xd000ffff irq 16 at device 0.0 on pci16 >>> bge0: firmware handshake timed out, found 0x4b657654 >>> bge0: firmware handshake timed out, found 0x4b657654 >>> bge0: RX CPU self-diagnostics failed! >>> bge0: chip initialization failed >>> device_attach: bge0 attach returned 6 >>> >>> Anyone have success with S3 on amd64 or i386 with if_bge cards? >> Did you post the register states before and after? >> > Attached are the before and after snapshots of the device's PCI register > space. I need to track down a good table to mate these with. In this > case, I didn't unload the driver, as the if_bge driver is supposed to be > able to properly handle suspend/resume now. > > These are dumps of the whole 256-byte register space, using: > pciconf -r -b pci0:16:0:0 0:0x100 Great. So far in FreeBSD, anything after the first 64 bytes is the driver's responsibility. According to your dump, that is where all the differences are. -- Nate