On Tue, Jun 22, 2010 at 10:17:11AM -0700, Luis R. Rodriguez wrote:
> On Tue, Jun 22, 2010 at 9:52 AM, Matthew Garrett <mj...@srcf.ucam.org> wrote:
> > Why would you only want to enable ASPM for one device?
> 
> ASPM doesn't always work for all devices even if they do advertise
> ASPM capability so turning it on selectively by device is what I
> recommend since otherwise you may get hangs and you will then have to
> do the selective enabling.

Right, which we have to deal with by having drivers disable ASPM on 
broken devices.

> Furthermore laptops tend to disable ASPM for cards not built-in to it, 
> an example is Cardbus slots or internal PCI-E slots. This is often 
> done because to enable ASPM for some cards you often need to tune the 
> host controller in addition to enabling ASPM for the endpoint, so this 
> will vary depending on vendor, chipset, and host controller 
> combination. This is documentation that the OEM / ODM typically end up 
> getting, but not end users.

Having looked into this, Windows will enable ASPM on external 
controllers unless there's some reason for it not to - where that may be 
either the appropriate bit in the FADT being set, the device not being 
PCIe 1.1 or later, there being no _OSC method on the appropriate root 
bridge or the _OSC method not giving it full control over PCIe, the 
driver disabling ASPM or the device not advertising it in the first 
place. Are you aware of any other cases where Windows will refuse to 
enable ASPM?
 
-- 
Matthew Garrett | mj...@srcf.ucam.org
_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to