On Wednesday, March 02, 2011, Sarah Sharp wrote: > On Wed, Mar 02, 2011 at 01:17:04AM +0100, Rafael J. Wysocki wrote: > > On Wednesday, March 02, 2011, Sarah Sharp wrote: > > > On Wed, Mar 02, 2011 at 12:30:16AM +0100, Rafael J. Wysocki wrote: > > > > On Tuesday, March 01, 2011, Sarah Sharp wrote: > > > > > On Tue, Mar 01, 2011 at 09:55:33PM +0100, Rafael J. Wysocki wrote: > > > > > > Please check if the appended patch (on top of the Linus' current) helps. > > > > > > > > > > Sorry, it doesn't help. Same message as before. > > > > > > > > Can you send dmesg with the patch applied, please? > > > > > > Attached. > > > > Something's fishy. Evidently, _OSC is not executed on your system > > although it should be with the patch. > > > > Please try the patch below instead and send dmesg (either way). > > The host controller works with that patch. dmesg is attached. OK, thanks. There are two problems. First, your BIOS says that ASPM is not supported by it, so we don't call _OSC, which should be fixed by the previous patch. Second, pci_msi_enabled() returns 0 on your system, which is kind of strange, because it evidently uses MSIs (as visible in the dmesg). While I think we can safely request _OSC control even if ASPM is not supported by the hardware (according to the BIOS), which is done after the first patch, we need to figure out why 0 is returned by pci_msi_enabled() on your system and try to work around that. Thanks, Rafael > > --- > > drivers/acpi/pci_root.c | 11 +++++------ > > 1 file changed, 5 insertions(+), 6 deletions(-) > > > > Index: linux-2.6/drivers/acpi/pci_root.c > > =================================================================== > > --- linux-2.6.orig/drivers/acpi/pci_root.c > > +++ linux-2.6/drivers/acpi/pci_root.c > > @@ -48,10 +48,7 @@ static int acpi_pci_root_add(struct acpi > > static int acpi_pci_root_remove(struct acpi_device *device, int type); > > static int acpi_pci_root_start(struct acpi_device *device); > > > > -#define ACPI_PCIE_REQ_SUPPORT (OSC_EXT_PCI_CONFIG_SUPPORT \ > > - | OSC_ACTIVE_STATE_PWR_SUPPORT \ > > - | OSC_CLOCK_PWR_CAPABILITY_SUPPORT \ > > - | OSC_MSI_SUPPORT) > > +#define ACPI_PCIE_REQ_SUPPORT (OSC_EXT_PCI_CONFIG_SUPPORT | OSC_MSI_SUPPORT) > > > > static const struct acpi_device_id root_device_ids[] = { > > {"PNP0A03", 0}, > > @@ -572,8 +569,10 @@ static int __devinit acpi_pci_root_add(s > > if (flags != base_flags) > > acpi_pci_osc_support(root, flags); > > > > - if (!pcie_ports_disabled > > - && (flags & ACPI_PCIE_REQ_SUPPORT) == ACPI_PCIE_REQ_SUPPORT) { > > + if (!pcie_ports_disabled) { > > + dev_info(root->bus->bridge, > > + "ACPI _OSC support set (0x%02x)\n", flags); > > + > > flags = OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL > > | OSC_PCI_EXPRESS_NATIVE_HP_CONTROL > > | OSC_PCI_EXPRESS_PME_CONTROL; > -- 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