Re: [PATCH v4] ACPI: Fix osc flag setup ordering to allow pcie hotplug use when available

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 29, 2013 at 05:40:52PM -0600, Bjorn Helgaas wrote:
> On Thu, Aug 29, 2013 at 04:17:05PM -0400, Neil Horman wrote:
> > This is a fix for:
> > https://bugzilla.kernel.org/show_bug.cgi?id=60736
> > 
> > During the 3.8 devel cycle:
> > 
> > commit 8c33f51df406e1a1f7fa4e9b244845b7ebd61fa6
> > Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx>
> > Date:   Tue Oct 30 15:27:13 2012 +0900
> > 
> >     PCI/ACPI: Request _OSC control before scanning PCI root bus
> > 
> > went in to allow us to query the pcie hotplug flags during the acpi bus scan.
> > It however caused problems with the disabling of pcie aspm, and so:
> > commit b8178f130e25c1bdac1c33e0996f1ff6e20ec08e
> > Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> > Date:   Mon Apr 1 15:47:39 2013 -0600
> > 
> >     Revert "PCI/ACPI: Request _OSC control before scanning PCI root bus"
> > 
> > Backed it out.  This of course brought back the problem in which acpi took over
> > hotplug ports that were meant to be controlled by pcie.
> > 
> > This patch gives us both items.  It lets us request _OSC control before scanning
> > the pci root bus, but defers any disabling of aspm until after the scan is
> > complete, allowing us to properly handle old pcie 1.1 devices aspm settings
> > properly, as b8178f130e documents.
> > 
> > Tested successfully by myself.
> > 
> > Signed-off-by: Neil Horman <nhorman@xxxxxxxxxxxxx>
> > CC: Len Brown <lenb@xxxxxxxxxx>
> > CC: "Rafael J. Wysocki" <rjw@xxxxxxx>
> > CC: linux-acpi@xxxxxxxxxxxxxxx
> > CC: linux-pci@xxxxxxxxxxxxxxx
> 
> I added Yinghai's ack and a stable tag and put this in pci/misc
> for v3.12.  Thanks!
> 
> I reworked the changelog because I think the actual cause of the
> regression was 3b63aaa70e, not the _OSC commits you mentioned:
> 
> 8c33f51df4 ("PCI/ACPI: Request _OSC control before scanning PCI root bus")
> appeared in v3.8 and broke ASPM but not acpiphp.
> 
> b8178f130e ('Revert "PCI/ACPI: Request _OSC control before scanning PCI
> root bus"') appeared in v3.9 and fixed ASPM, leaving acpiphp working.
> 
> 3b63aaa70e ("PCI: acpiphp: Do not use ACPI PCI subdriver mechanism")
> appeared in v3.10, and I believe this is what actually broke acpiphp
> because it moved the acpiphp initialization earlier, into the bus scan.
> 
> in v3.8:
>     acpi_pci_root_add
>       acpi_pci_osc_control_set          # request OS control
>       pci_acpi_scan_root                # scan bus
>     acpi_pci_root_start
>       add_bridge                        # acpi_pci_driver .add method
>         ...
>           device_is_managed_by_native_pciehp	# OK
> 
> in v3.9:
>     acpi_pci_root_add
>       pci_acpi_scan_root                # scan bus
>       acpi_pci_osc_control_set          # request OS control
>       add_bridge                        # acpi_pci_driver .add method
>         ...
>           device_is_managed_by_native_pciehp	# OK
> 
> in v3.10:
>     acpi_pci_root_add
>       pci_acpi_scan_root                # scan bus
>         ...
>           acpiphp_enumerate_slots
>             ...
>               device_is_managed_by_native_pciehp	# PROBLEM
>       acpi_pci_osc_control_set          # request OS control
> 
> So I added a stable tag for v3.10+ only.  I'll ask Linus to merge it
> directly during the merge window for v3.12, and hopefully it will be
> backported to the v3.10 and v3.11 stable trees soon after that.
> 
> Bjorn
> 
Copy that, thanks!
Neil

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux