All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jon Derrick <jonathan.derrick@intel.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: Keith Busch <keith.busch@intel.com>,
	linux-pci@vger.kernel.org,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	linux-acpi@vger.kernel.org
Subject: Re: [PATCH] pci: Added flag to pci_host_bridge to hint not to use acpi
Date: Thu, 7 Apr 2016 14:12:16 -0600	[thread overview]
Message-ID: <20160407201216.GA9986@localhost.localdomain> (raw)
In-Reply-To: <20160407174224.GE8780@localhost>

Hi Bjorn,

First, thanks for the review

> The spec (PCI Firmware spec 3.0, sec 4.5) says _OSC is a child of an
> ACPI device and applies to that device.  In your case, I think there
> is no ACPI PNP0A0x device for the VMD host bridge, and hence there is
> no _OSC method for it.  There's no ACPI handle for the VMD bridge, so
> I think pcie_port_acpi_setup() returns -EINVAL, which causes
> get_port_device_capability() to give up and decide that the port
> can't support *any* PCIe services.
> 
> I think that's the real problem: the fact that there's no ACPI device
> corresponding to the bridge should not be an error.  It should just
> mean the platform doesn't have an opportunity to limit what services
> the kernel can manage.  I think pcie_port_acpi_setup() should return 0
> in all cases.  Can you try that and see if it fixes the problem?
> 

I believe what you are suggesting is:


        handle = acpi_find_root_bridge_handle(port);
        if (!handle)
-               return -EINVAL;
+               return 0;

        root = acpi_pci_find_root(handle);
        if (!root)
-               return -ENODEV;
+               return 0;


This works for me. I will follow up with a proper patch.

  reply	other threads:[~2016-04-07 20:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-23 22:01 [PATCH] pci: Added flag to pci_host_bridge to hint not to use acpi Jon Derrick
2016-03-24 16:42 ` Keith Busch
2016-04-07 17:42   ` Bjorn Helgaas
2016-04-07 20:12     ` Jon Derrick [this message]
2016-04-07 21:34       ` Bjorn Helgaas

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=20160407201216.GA9986@localhost.localdomain \
    --to=jonathan.derrick@intel.com \
    --cc=helgaas@kernel.org \
    --cc=keith.busch@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=rjw@rjwysocki.net \
    /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.