From owner-freebsd-acpi@FreeBSD.ORG Sat Apr 2 22:10:42 2011 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 AB795106564A for ; Sat, 2 Apr 2011 22:10:42 +0000 (UTC) (envelope-from fbsd@opal.com) Received: from mho-01-ewr.mailhop.org (mho-01-ewr.mailhop.org [204.13.248.71]) by mx1.freebsd.org (Postfix) with ESMTP id 63A148FC08 for ; Sat, 2 Apr 2011 22:10:42 +0000 (UTC) Received: from pool-141-154-217-103.bos.east.verizon.net ([141.154.217.103] helo=homobox.opal.com) by mho-01-ewr.mailhop.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.72) (envelope-from ) id 1Q68is-000M2Z-U0 for freebsd-acpi@freebsd.org; Sat, 02 Apr 2011 21:51:11 +0000 Received: from opal.com (localhost [IPv6:::1]) (authenticated bits=0) by homobox.opal.com (8.14.4/8.14.4) with ESMTP id p32MAcQ4047688 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sat, 2 Apr 2011 18:10:39 -0400 (EDT) (envelope-from fbsd@opal.com) Received: from shibato.opal.com ([173.77.114.241] helo=shibato.opal.com) with IPv4:587 by opal.com; 2 Apr 2011 18:10:38 -0400 X-Mail-Handler: MailHop Outbound by DynDNS X-Originating-IP: 141.154.217.103 X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX1+n/AO/DRMDlSjOCvqsH1Hw Date: Sat, 2 Apr 2011 18:10:37 -0400 From: "J.R. Oldroyd" To: freebsd-acpi@freebsd.org Message-ID: <20110402181037.0eea27c1@shibato.opal.com> In-Reply-To: <20110402112958.449d8624@shibato.opal.com> References: <20110402112958.449d8624@shibato.opal.com> X-Mailer: Claws Mail 3.7.6 (GTK+ 2.20.1; amd64-portbld-freebsd8.1) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: pci buses missing from suspend/resume powerstate 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: Sat, 02 Apr 2011 22:10:42 -0000 On Sat, 2 Apr 2011 11:29:58 -0400, "J.R. Oldroyd" wrote: > > [suspend/resume of network cards] > > pcib0 > pci0 > hostb0 > pcib1 > pci1 > vgapci0 > vgapm0 > scpm0 > acpi_video0 > drm0 > hdac1 > pcm2 > pcib2 > pci2 > ath0 > pcib3 > pci3 > re0 > miibus0 > rgephy0 > ... I had been working from this: on suspend: kernel: pci0:1:5:0: Transition from D0 to D3 # vgapci kernel: pci0:1:5:1: Transition from D0 to D3 # hdac1 kernel: pci0:2:0:0: Transition from D0 to D3 # ath0 kernel: pci0:3:0:0: Transition from D0 to D3 # re0 kernel: pci0:0:18:2: Transition from D0 to D3 # ohci0 kernel: pci0:0:19:2: Transition from D0 to D3 # ohci1 kernel: pci0:0:20:2: Transition from D0 to D3 # hdac0 but on resume, only: kernel: pci0:0:18:2: Transition from D3 to D0 kernel: pci0:0:19:2: Transition from D3 to D0 which had led me to think the buses were not being resumed. Looking further at this, two things come to light: - they ARE being suspended using set_powerstate to D3, but after the resume, their powerstate still shows as D0, so set_powerstate is not being re-invoked to actually set D0 again - the PCI-PCI bridges pcib1, pcib2, pcib3 have hdrtype==1 and so are also excluded from the set_powerstate (don't know if that's OK or not) But, overriding those checks and forcing set_powerstate D0 to be invoked for all devices still doesn't get ath0 or re0 working after the resume. I have an older but similar laptop model with the same configuration of ath0 and re0 also on secondary PCI buses pci2 and pci3 and that one does suspend/resume properly. But on the newer laptop: kernel: ath0: unable to reset hardware; hal status 3 kernel: re0: reset never completed! kernel: re0: PHY write failed last message repeated 4 times So this problem is specific to this newer hardware. Perhaps related to the PCI-PCI bridges? pcib2 and pcib3 are both devid=96xx1022... perhaps some odd quirk handling is needed here? -jr