Re: [RFC][PATCH 3/4] PCI / ACPI PM: Platform support for PCI PME wake-up

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Sep 14, 2009 at 12:53:05AM +0200, Rafael J. Wysocki wrote:
> On Monday 14 September 2009, Matthew Garrett wrote:
> > On Sun, Sep 13, 2009 at 11:24:03PM +0200, Rafael J. Wysocki wrote:
> > > +	} else if (!dev->wakeup.flags.run_wake) {
> > > +		acpi_set_gpe_type(dev->wakeup.gpe_device,
> > > +					dev->wakeup.gpe_number,
> > > +					ACPI_GPE_TYPE_WAKE);
> > 
> > Is this going to work for cases where we have multiple devices attached 
> > to the same GPE? The common one is EHCI, where both EHCI HCDs will be 
> > one a single GPE. If we wake one, that'll then disable the GPE for the 
> > other. Further wakeup events will then be lost.
> 
> You're right, I overlooked that.  Some kind of refcounting is needed here.

I've sent patches to implement this at the GPE level, which also change 
the API for requesting them. I'm waiting on feedback from Bob Moore.

> > > +	if (device->wakeup.flags.valid)
> > > +		acpi_install_notify_handler(device->handle, ACPI_SYSTEM_NOTIFY,
> > > +						pci_acpi_device_wakeup,
> > > +						&dev->dev);
> > > +
> > 
> > I think this will fail for the root bridge if acpiphp has already 
> > grabbed it to check for hotplug events.
> 
> The root bridge is not a struct pci_dev and this is called only for these.

Are you sure? When I did this I saw conflicts with acpiphp. I may have 
my terminology confused. I sent another patch that abstract that out.

-- 
Matthew Garrett | mjg59@xxxxxxxxxxxxx
_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux