From: "Rafael J. Wysocki" Subject: Re: [linux-pm] [RFC][PATCH 4/4] PCI/ACPI PM: Propagate wake-up enable for devices w/o ACPI support Date: Sat, 5 Sep 2009 00:03:46 +0200 Message-ID: <200909050003.46520.rjw@sisk.pl> References: <200908300041.14541.rjw@sisk.pl> <200909040002.02562.rjw@sisk.pl> <200909040007.09926.rjw@sisk.pl> Mime-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <200909040007.09926.rjw@sisk.pl> Sender: linux-pci-owner@vger.kernel.org To: linux-pm@lists.linux-foundation.org Cc: ACPI Devel Maling List , Jesse Barnes , Henrique de Moraes Holschuh , Linux PCI , ykzhao List-Id: linux-acpi@vger.kernel.org On Friday 04 September 2009, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki > > Some PCI devices (not PCI Express), like PCI add-on cards, can > generate PME#, but they don't have any special platform wake-up > support. For this reason, even if they generate PME# to wake up the > system from a sleep state, wake-up events are not generated by the > platform. > > It turns out that, at least on some systems, PCI bridges and the PCI > host bridge have ACPI GPEs associated with them that, if enabled to > generate wake-up events, allow the system to wake up if one of the > add-on devices asserts PME# while the system is in a sleep state. > Following this observation, if a PCI device without direct ACPI > wake-up support is prepared to wake up the system during a transition > into a sleep state (eg. suspend to RAM), configure all the bridges on > the path from the device to the root bridge (including the root > bridge itself) to wake-up the system. I thought it would be better to split this patch into two patches, one replacing the wakeup.prepared flag with a reference counter and the other reworking the PCI ACPI wakeup routine. I the second patch I followed the Yakui's suggestion to propagate wake-up enable until we find the first device with ACPI support for wake-up. The patches will follow in replies to this message. Thanks, Rafael