Messages in this thread | | | Date | Fri, 13 Jan 2012 23:26:53 +0000 | From | Matthew Garrett <> | Subject | Re: [git pull] PCI changes |
| |
On Fri, Jan 13, 2012 at 03:14:21PM -0800, Linus Torvalds wrote: > On Fri, Jan 13, 2012 at 1:24 PM, Matthew Garrett <mjg59@srcf.ucam.org> wrote: > >> > >> So why is acpi_pci_root_add() special? Cna you explain that part to me? > > > > pcie_no_aspm() means "Do not permit ASPM to be enabled" - it doesn't > > alter the existing state. pcie_clear_aspm() does that. > > I *know*. > > So look again. > > Why is acpi_pci_root_add() special? > > Because dammit, it does exactly that pcie_clear_aspm() for the > ACPI_FADT_NO_ASPM case.
I'm sorry, I thought you were referring to the status quo rather than the patch - I see what you mean now. The intent here is to clear ASPM state if the FADT bit has been set *and* we've got _OSC control, whereas previously we'd clear ASPM state any time the FADT bit was set. There are some machines which (a) set the FADT bit, (b) hand over _OSC control, (c) program the device and (d) crash under certain circumstances if you then try to use it. My assumption here is that the FADT bit *does* mean "clear ASPM state", but only if we've been granted _OSC control. That's the behaviour described in the changelog.
-- Matthew Garrett | mjg59@srcf.ucam.org
| |