From owner-cvs-all@FreeBSD.ORG Wed Sep 28 20:36:52 2005 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0F34116A41F; Wed, 28 Sep 2005 20:36:52 +0000 (GMT) (envelope-from nate@root.org) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9823643D49; Wed, 28 Sep 2005 20:36:51 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.0.33] (adsl-67-119-74-222.dsl.sntc01.pacbell.net [67.119.74.222]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id j8SKato5029131 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 28 Sep 2005 13:36:55 -0700 Message-ID: <433AFEDE.2000902@root.org> Date: Wed, 28 Sep 2005 13:36:46 -0700 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Pawel Jakub Dawidek References: <20050928192056.B7E6D16A42B@hub.freebsd.org> <433AEF82.5070007@root.org> <20050928193833.GA1235@garage.freebsd.pl> In-Reply-To: <20050928193833.GA1235@garage.freebsd.pl> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/bge if_bge.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Sep 2005 20:36:52 -0000 Pawel Jakub Dawidek wrote: > On Wed, Sep 28, 2005 at 12:31:14PM -0700, Nate Lawson wrote: > +> Pawel Jakub Dawidek wrote: > +> >pjd 2005-09-28 19:20:49 UTC > +> > FreeBSD src repository > +> > Modified files: > +> > sys/dev/bge if_bge.c Log: > +> > Implement suspend/resume methods to be more ACPI friendly. > +> > I'm able to suspend/resume my laptop without this change, but then I need > +> > to wait for the watchdog to reset the card. > +> > With this change, it is ready immediately. > +> > Glanced at by: glebius > +> > Revision Changes Path > +> > 1.96 +36 -0 src/sys/dev/bge/if_bge.c > +> > +> Great, thanks! To other developers with hardware that doesn't work for suspend/resume, this is the area that needs the most improvement. There are known cases of at least > +> agp and apic breaking resume. > > On my ThinkPad t43 suspend/resume works just fine in most cases, but > sometimes (once every ~20 suspends) it stops before turning off LCD - > the moon-led is turned on, but LCD is on as well and system freeze > hard. > What kind of debug can I add to track down the problem? > Can we printf some steps done on suspend (which device's suspend method > is called, etc.)? I've heard disabling apic helps T42s, otherwise they get a hard hang. It's difficult to print the driver progress while suspending because the function call stack is recursive, not iterative. For example, root_suspend -> pci_suspend -> fxp_suspend -> mii_suspend (if that exists). You'd have to add a printf in every driver and bus. A better way might be to add printf or KTR to bus_generic_suspend() to print the device name before calling its method. BTW, I'm working on committing a patch that adds KTR to acpi so we can track down issues like this although the device suspending stuff should be done separately as listed above. -- Nate