From owner-cvs-all@FreeBSD.ORG Thu Sep 18 18:19:25 2003 Return-Path: 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 2F86516A4B3; Thu, 18 Sep 2003 18:19:25 -0700 (PDT) Received: from harmony.village.org (rover.bsdimp.com [204.144.255.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1BC8343FDF; Thu, 18 Sep 2003 18:19:24 -0700 (PDT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.9/8.12.3) with ESMTP id h8J1JNTX009675; Thu, 18 Sep 2003 19:19:23 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Thu, 18 Sep 2003 19:19:24 -0600 (MDT) Message-Id: <20030918.191924.58457370.imp@bsdimp.com> To: jhb@freebsd.org From: "M. Warner Losh" In-Reply-To: References: <200309170832.h8H8Wii8043278@repoman.freebsd.org> X-Mailer: Mew version 2.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: cvs-src@freebsd.org cc: src-committers@freebsd.org cc: cvs-all@freebsd.org cc: iwasaki@freebsd.org Subject: Re: cvs commit: src/sys/dev/acpica acpi_pci.c src/sys/dev/pci pci.c pci_private.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 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: Fri, 19 Sep 2003 01:19:25 -0000 In message: John Baldwin writes: : : On 17-Sep-2003 Mitsuru IWASAKI wrote: : > iwasaki 2003/09/17 01:32:44 PDT : > : > FreeBSD src repository : > : > Modified files: : > sys/dev/acpica acpi_pci.c : > sys/dev/pci pci.c pci_private.h : > Log: : > Add pci_resume() to reestablish interrupt routing after : > suspend/resume. : > Especially after hibernation, interrupt routing went back to initial : > status on some machines. : : The values in memory should still be the same, so it should be sufficient : simply to write back the already existent intline value back to the : register. : : IOW, you shouldn't hae to call PCI_ASSIGN_INTERRUPT(), but : should do something more like: : : if (cfg->intpin > 0 && PCI_INTERRUPT_VALID(cfg->intline)) : pci_write_config(child, PCIR_INTLINE, cfg->intline, 1); : : Eventually pci_suspend/resume should be saving and restoring all of the : header registers and known capability registers for child devices. Yes. These are some of the registers that I'm saving now in my newcard tree, and also in the power tree we created at bsdcon. The inline register is just a hint, but an important hint that we use. Warner