On Mon, Sep 08, 2014 at 10:50:27PM +0200, Mark Kettenis wrote:
> > 
> > On Sat, Sep 06, 2014 at 09:18:26PM +0200, Mark Kettenis wrote:
> > > As pea@ noticed, Apple machines with an NVIDIA MCP79 chipset will
> > > suffer an interrupt storm when you send them WOL packet to their
> > > nfe(4) interface.  The acpi0 interrupt handler fires continously in
> > > this case.  Some digging revealed that the device wake GPE for the
> > > nfe(4) interface was casuing this.  The machine's AML sends a
> > > notification, suggesting that the device driver for the device needs
> > > to take some action.  But ours doesn't.
> > > 
> > > Some more digging revealed that the PCIe PME status bit gets set.
> > > Clearing that bit stops the interrupts and makes the machine happy
> > > again.  
> > > 
> > > So here is a diff that installs a notification handler for all PCI
> > > devices that clears the PME status bit if the device has one.  This
> > > seems to be what Windows does.  At least I found some Microsoft
> > > documentation that says that the PCI driver is responsible for
> > > clearing the PME status bit if a PME event is received.
> > > 
> > > ok?
> > 
> > Just a nit, there's a dozen or so notify types in the spec, should we
> > replace '2' with something more understandable like ACPI_PME_EVENT or
> > similar? That suggestion should probably apply to the others we look
> > at in other places like 0x81 / 0x82, etc. Maybe that's better left
> > for another cleanup diff?
> > 
> > Other than that, diff looks ok to me.
> 
> Yeah, some #defines for those magic constants would be good.  We
> actually have some, but their names are dock-specific.  So this will
> need some additional cleanup.  I'll see what I can do.
> 

Different diff. I think this one can go in as is and we can go through
with a different diff to clean it later.

-ml

Reply via email to