Date: Fri, 2 Jan 2009 11:08:56 -0800 From: Garrett Cooper <yanefbsd@gmail.com> To: Coleman Kane <cokane@FreeBSD.org> Cc: "freebsd-acpi@FreeBSD.org" <freebsd-acpi@FreeBSD.org> Subject: Re: amd64 S3 patch on HP 6715b: NICs won't work after resume from S3 Message-ID: <3533670F-754C-40C8-B76A-0C17333E7569@gmail.com> In-Reply-To: <1230915992.4841.4.camel@localhost> References: <1230564886.2280.11.camel@localhost> <4958F887.2010203@root.org> <1230579699.2386.5.camel@localhost> <49593036.4030306@root.org> <1230662172.1702.2.camel@localhost> <495A7309.2060400@root.org> <1230915992.4841.4.camel@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jan 2, 2009, at 9:06, Coleman Kane <cokane@FreeBSD.org> wrote: > On Tue, 2008-12-30 at 11:14 -0800, Nate Lawson wrote: >> 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: <Broadcom BCM5754/5787 A2, ASIC rev. 0xb002> 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. >> > > So, my guess is that the bge_suspend and bge_resume methods in the bge > driver need some tweaking to support my hardware (the BCM5754/5787) > when > it comes out of resume... > > Any pointers on who I might be able to work on this with? Dumb observation: driver maintainer? -Garrett
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3533670F-754C-40C8-B76A-0C17333E7569>