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 <mjg59@xxxxxxxxxxxxx> 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 | mjg59@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html