From: jakeo@microsoft.com
To: gregkh@linuxfoundation.org, kys@microsoft.com,
linux-kernel@vger.kernel.org, devel@linuxdriverproject.org,
olaf@aepfle.de, apw@canonical.com, vkuznets@redhat.com,
tglx@linutronix.de, haiyangz@microsoft.com, marc.zyngier@arm.com,
jiang.liu@linux.intel.com, bhelgaas@google.com,
linux-pci@vger.kernel.org
Cc: Jake Oshins <jakeo@microsoft.com>
Subject: [PATCH v3 5/7] PCI: irqdomain: Look up IRQ domain by fwnode_handle
Date: Mon, 26 Oct 2015 23:15:37 +0000 [thread overview]
Message-ID: <1445901339-11924-6-git-send-email-jakeo@microsoft.com> (raw)
In-Reply-To: <1445901339-11924-1-git-send-email-jakeo@microsoft.com>
From: Jake Oshins <jakeo@microsoft.com>
The existing PCI code looks for an IRQ domain associated with a root PCI bus
by looking in the Open Firmware tree. This patch introduces a second way
to identify the associated IRQ domain, if the lookup in the OF tree fails.
The handle used for the IRQ domain lookup was introduced in the previous patch
in the series.
Signed-off-by: Jake Oshins <jakeo@microsoft.com>
---
drivers/pci/probe.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index c0f2e44..62c9ac7 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -664,6 +664,7 @@ static void pci_set_bus_speed(struct pci_bus *bus)
static struct irq_domain *pci_host_bridge_msi_domain(struct pci_bus *bus)
{
struct irq_domain *d;
+ struct pci_host_bridge *host_bridge;
/*
* Any firmware interface that can resolve the msi_domain
@@ -671,6 +672,18 @@ static struct irq_domain *pci_host_bridge_msi_domain(struct pci_bus *bus)
*/
d = pci_host_bridge_of_msi_domain(bus);
+ /*
+ * If no IRQ domain was found via the OF tree, try looking it up
+ * directly through the fwnode_handle.
+ */
+ if (!d) {
+ host_bridge = to_pci_host_bridge(bus->bridge);
+ if (host_bridge->fwnode) {
+ d = irq_find_matching_fwnode(host_bridge->fwnode,
+ DOMAIN_BUS_ANY);
+ }
+ }
+
return d;
}
--
1.9.1
next prev parent reply other threads:[~2015-10-26 23:22 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1445901339-11924-1-git-send-email-jakeo@microsoft.com>
2015-10-26 23:15 ` [PATCH v3 4/7] PCI: Record an fwnode associated with root PCI buses, optionally jakeo
2015-10-27 0:44 ` kbuild test robot
2015-10-27 1:43 ` kbuild test robot
2015-10-27 7:10 ` Jiang Liu
2015-10-27 17:19 ` Jake Oshins
2015-10-26 23:15 ` jakeo [this message]
2015-10-27 0:20 ` [PATCH v3 5/7] PCI: irqdomain: Look up IRQ domain by fwnode_handle kbuild test robot
2015-10-27 7:10 ` Jiang Liu
2015-10-26 23:15 ` [PATCH v3 6/7] drivers:hv: Define the channel type for Hyper-V PCI Express pass-through jakeo
[not found] ` <1445901339-11924-8-git-send-email-jakeo@microsoft.com>
2015-10-27 0:32 ` [PATCH v3 7/7] PCI: hv: New paravirtual PCI front-end for Hyper-V VMs kbuild test robot
2015-10-27 7:11 ` Jiang Liu
2015-10-27 20:38 ` Jake Oshins
2015-10-28 2:01 ` Jiang Liu
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=1445901339-11924-6-git-send-email-jakeo@microsoft.com \
--to=jakeo@microsoft.com \
--cc=apw@canonical.com \
--cc=bhelgaas@google.com \
--cc=devel@linuxdriverproject.org \
--cc=gregkh@linuxfoundation.org \
--cc=haiyangz@microsoft.com \
--cc=jiang.liu@linux.intel.com \
--cc=kys@microsoft.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=olaf@aepfle.de \
--cc=tglx@linutronix.de \
--cc=vkuznets@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).