Re: [PATCH 1/5] introduce .wakeup_event ops

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

 



On Fri, Aug 21, 2009 at 05:27:10AM +0800, Rafael J. Wysocki wrote:
> On Thursday 20 August 2009, Alan Stern wrote:
> > On Thu, 20 Aug 2009, Rafael J. Wysocki wrote:
> > 
> > > On Thursday 20 August 2009, Alan Stern wrote:
> > > > On Thu, 20 Aug 2009, Matthew Garrett wrote:
> > > > 
> > > > > > If the wakeup signal isn't squelched at the source, as part of the
> > > > > > event handling, will we get an interrupt storm?  Will the uhci-hcd 
> > > > > > resume routine be able to handle this or does it need to be done 
> > > > > > earlier?  In other words, do we need special-purpose code in the PCI 
> > > > > > layer to handler it?
> > > > > 
> > > > > No, nothing special needs to be done at the PCI level. It seems that 
> > > > > (for Intel at least) there's no need to do anything special at the UHCI 
> > > > > level either.
> > > > 
> > > > This contradicts what Shaohua wrote:
> > > > 
> > > > "The only case is UHCI in my mind. Because UHCI has non-standard wakeup
> > > > event register. If BIOS doesn't handle it correctly (for example, not
> > > > clear the wakeup event after a GPE), we will keep see the wakeup
> > > > event."
> > > 
> > > I'm not sure what the phrase "we will keep see the wakeup event" is supposed to
> > > mean.  For us to "see" any events there has to be a GPE set up or PCIe PME
> > > enabled on the right root port.  Otherwise I don't see how we can receive the
> > > event at all.
> > > 
> > > The bus type wakeup code won't know how to clear the register to acknowledge
> > > the wakeup, but the driver's ->runtime_resume() callback surely can do that.
> > > 
> > > > What code would be responsible for setting and clearing the 
> > > > non-standard wakeup register?  Are you assuming that ACPI will always 
> > > > handle it?  I guess that's a reasonable assumption -- if ACPI wasn't 
> > > > aware of the register then it never would get enabled, and conversely, 
> > > > if ACPI was aware and could enable the register, then ACPI ought to 
> > > > disable it when necessary.
> > > 
> > > In any case the event has to be raised in one of the standard ways.
> > 
> > I'm still not clear on this.  Does the non-standard wakeup register
> > have to be set and cleared by the suspend and resume routines in
> > uhci-hcd, or will it be handled by other code?
> 
> I'm not sure if anyone can answer this 100% accurately without doing any
> testing.
As far as I know, when the pci trys to enable pme, we will call corresponding
ACPI methods. In that methods, the non-starndard wakeup registers will be
set/clear. The issue is we must relay on correct BIOS.

Thanks,
Shaohua
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux