Re: [git pull] PCI changes

From: Matthew Garrett
Date: Fri Jan 13 2012 - 18:26:58 EST


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