From: <suravee.suthikulpanit@amd.com>
To: <bhelgaas@google.com>
Cc: <liviu.dudau@arm.com>, <lorenzo.pieralisi@arm.com>,
<will.deacon@arm.com>, <linux-pci@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>,
Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
Subject: [PATCH V2 2/2] PCI: generic: Add msi_parent DT binding
Date: Tue, 11 Nov 2014 13:17:34 -0600 [thread overview]
Message-ID: <1415733454-24322-3-git-send-email-suravee.suthikulpanit@amd.com> (raw)
In-Reply-To: <1415733454-24322-1-git-send-email-suravee.suthikulpanit@amd.com>
From: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
This patch introduces a new DT binding, msi-parent, which can
be used to specify MSI-parent phandle for a particular PCI
generic host controller.
Also, it implements and registers set_msi_parent callback.
Cc: Bjorn Helgass <bhelgaas@google.com>
Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
---
Documentation/devicetree/bindings/pci/host-generic-pci.txt | 3 +++
drivers/pci/host/pci-host-generic.c | 13 +++++++++++++
2 files changed, 16 insertions(+)
diff --git a/Documentation/devicetree/bindings/pci/host-generic-pci.txt b/Documentation/devicetree/bindings/pci/host-generic-pci.txt
index cf3e205..6996af7 100644
--- a/Documentation/devicetree/bindings/pci/host-generic-pci.txt
+++ b/Documentation/devicetree/bindings/pci/host-generic-pci.txt
@@ -36,6 +36,8 @@ Properties of the host controller node:
- reg : The Configuration Space base address and size, as accessed
from the parent bus.
+- msi-parent : Specify the phandle of the corresponded MSI controller
+ for this PCI host controller.
Properties of the /chosen node:
@@ -77,6 +79,7 @@ pci {
device_type = "pci";
#address-cells = <3>;
#size-cells = <2>;
+ msi-parent = <&msictrl0>;
bus-range = <0x0 0x1>;
// CPU_PHYSICAL(2) SIZE(2)
diff --git a/drivers/pci/host/pci-host-generic.c b/drivers/pci/host/pci-host-generic.c
index 1895907..c4fbcda 100644
--- a/drivers/pci/host/pci-host-generic.c
+++ b/drivers/pci/host/pci-host-generic.c
@@ -42,6 +42,7 @@ struct gen_pci {
struct pci_host_bridge host;
struct gen_pci_cfg_windows cfg;
struct list_head resources;
+ struct msi_chip *mchip;
};
static void __iomem *gen_pci_map_cfg_bus_cam(struct pci_bus *bus,
@@ -122,9 +123,19 @@ static int gen_pci_config_write(struct pci_bus *bus, unsigned int devfn,
return PCIBIOS_SUCCESSFUL;
}
+static int gen_pci_set_msi_parent(struct pci_bus *bus)
+{
+ struct gen_pci *pci = bus_to_gen_pci(bus);
+
+ bus->msi = pci->mchip;
+
+ return PCIBIOS_SUCCESSFUL;
+}
+
static struct pci_ops gen_pci_ops = {
.read = gen_pci_config_read,
.write = gen_pci_config_write,
+ .set_msi_parent = gen_pci_set_msi_parent,
};
static const struct of_device_id gen_pci_of_match[] = {
@@ -303,6 +314,8 @@ static int gen_pci_probe(struct platform_device *pdev)
return err;
}
+ pci->mchip = of_pci_find_msi_chip_by_node(of_parse_phandle(np,
+ "msi-parent", 0));
pci_common_init_dev(dev, &hw);
return 0;
}
--
1.9.3
next prev parent reply other threads:[~2014-11-11 19:18 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-11 19:17 [PATCH V2 0/2] PCI: generic: Assiging msi-controller to PCI hostbridge suravee.suthikulpanit
2014-11-11 19:17 ` [PATCH V2 1/2] PCI: Add new pci_ops for setting MSI parent for PCI bus suravee.suthikulpanit
2014-11-11 19:17 ` suravee.suthikulpanit [this message]
2014-11-12 6:56 ` [PATCH V2 2/2] PCI: generic: Add msi_parent DT binding Srikanth Thokala
2014-11-12 7:09 ` Srikanth Thokala
2014-11-12 11:37 ` Suravee Suthikulpanit
2014-11-12 11:36 ` Suravee Suthikulpanit
2014-11-13 18:09 ` [PATCH V2 0/2] PCI: generic: Assiging msi-controller to PCI hostbridge Bjorn Helgaas
2014-11-14 1:19 ` Yijing Wang
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=1415733454-24322-3-git-send-email-suravee.suthikulpanit@amd.com \
--to=suravee.suthikulpanit@amd.com \
--cc=bhelgaas@google.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=liviu.dudau@arm.com \
--cc=lorenzo.pieralisi@arm.com \
--cc=will.deacon@arm.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
all inboxes | Powered by JetHome®