All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yinghai Lu <yinghai@kernel.org>
To: Martin Mokrejs <mmokrejs@fold.natur.cuni.cz>,
	Bjorn Helgaas <bhelgaas@google.com>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: linux-pci@vger.kernel.org
Subject: Re: Dell Vostro 3550: pci_hotplug+acpiphp require 'pcie_aspm=force' on kernel command-line for hotplug to work
Date: Wed, 9 Jan 2013 16:40:44 -0800	[thread overview]
Message-ID: <CAE9FiQXoEWifAoJQ9-aROBo3KJDcMGPb-5+PH=GiD2PD1Ze9bw@mail.gmail.com> (raw)
In-Reply-To: <50EDF8FE.6040607@fold.natur.cuni.cz>

On Wed, Jan 9, 2013 at 3:10 PM, Martin Mokrejs
<mmokrejs@fold.natur.cuni.cz> 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@sisk.pl>
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

  reply	other threads:[~2013-01-10  0:40 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-09 23:10 Dell Vostro 3550: pci_hotplug+acpiphp require 'pcie_aspm=force' on kernel command-line for hotplug to work Martin Mokrejs
2013-01-10  0:40 ` Yinghai Lu [this message]
2013-01-10  2:04   ` Martin Mokrejs
2013-01-11 21:11     ` Rafael J. Wysocki
2013-03-06 10:32       ` Martin Mokrejs
2013-03-06  4:09 ` Bjorn Helgaas
2013-03-06 10:30   ` Martin Mokrejs
2013-03-06 21:32     ` Bjorn Helgaas
2013-03-08  1:47       ` Martin Mokrejs
2013-03-09  3:51         ` Bjorn Helgaas
2013-03-11  1:01           ` Martin Mokrejs
2013-03-11 15:03             ` Alan Stern
2013-03-11 15:56               ` Martin Mokrejs
2013-03-11 16:14                 ` Alan Stern
2013-03-12 16:35           ` Martin Mokrejs

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAE9FiQXoEWifAoJQ9-aROBo3KJDcMGPb-5+PH=GiD2PD1Ze9bw@mail.gmail.com' \
    --to=yinghai@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=kaneshige.kenji@jp.fujitsu.com \
    --cc=linux-pci@vger.kernel.org \
    --cc=mmokrejs@fold.natur.cuni.cz \
    --cc=rjw@sisk.pl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.