Re: Dell Vostro 3550: pci_hotplug+acpiphp require 'pcie_aspm=force' on kernel command-line for hotplug to work

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

 



On Wed, Jan 9, 2013 at 3:10 PM, Martin Mokrejs
<mmokrejs@xxxxxxxxxxxxxxxxxx> wrote:
> - pci0000:00: Requesting ACPI _OSC control (0x1d)
> - pci0000:00: ACPI _OSC control (0x19) granted
> + pci0000:00: Unable to request _OSC control (_OSC support mask: 0x19)

according to _OSC related game in acpi_pci_root_add()
it will query_osc_support with flags |=
                                OSC_EXT_PCI_CONFIG_SUPPORT \
                                | OSC_ACTIVE_STATE_PWR_SUPPORT \
                                | OSC_CLOCK_PWR_CAPABILITY_SUPPORT \
                                | OSC_MSI_SUPPORT
and the firmware should not return ACPI FAILURE, and if it return
failure, flags will get reset.

then if and only if flags keep there five bits, kernel will try to set control
to _OSC for
                        OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL
                        | OSC_PCI_EXPRESS_NATIVE_HP_CONTROL
                        | OSC_PCI_EXPRESS_PME_CONTROL;
and may be AER.

that will let pciehp own the device <pciehp will claim that later...>

in acpiphp there is module that will check if port is owned by pciehp,
and it will bail out early.
in device_is_managed_by_native_pciehp...

pcie_aspm=off will stop all _osc setting, like pciehp, pme and aer.

the checking in acpiphp is introduced by:
commit 0d52f54e2ef64c189dedc332e680b2eb4a34590a
Author: Rafael J. Wysocki <rjw@xxxxxxx>
Date:   Sat Oct 22 00:43:38 2011 +0200

    PCI / ACPI: Make acpiphp ignore root bridges using PCIe native hotplug

so it is a regression.

Rafael,

can you fix that? otherwise user will have specify weird
"pcie_aspm=off" to make acpiphp working.

looks like we need to have other way to do handshaking between pciehp
and acpiphp.

Thanks

Yinghai
--
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