All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Axtens <dja@axtens.net>
To: linuxppc-dev@lists.ozlabs.org
Cc: Daniel Axtens <dja@axtens.net>
Subject: [PATCH v2 05/19] powerpc: Create pci_controller_ops.dma_bus_setup and shim
Date: Tue, 31 Mar 2015 16:00:43 +1100	[thread overview]
Message-ID: <1427778057-9505-6-git-send-email-dja@axtens.net> (raw)
In-Reply-To: <1427778057-9505-1-git-send-email-dja@axtens.net>

Add pci_controller_ops.dma_bus_setup, shadowing ppc_md.pci_dma_bus_setup.
Add a shim, and changes the callsites to use the shim.

Signed-off-by: Daniel Axtens <dja@axtens.net>

---

v1 --> v2:
 - Better commit message
 - Use phb in favour of hose
 - Make shim name match ppc_md name, not pci_controller_ops name.
---
 arch/powerpc/include/asm/pci-bridge.h | 11 +++++++++++
 arch/powerpc/kernel/pci-common.c      |  3 +--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/include/asm/pci-bridge.h b/arch/powerpc/include/asm/pci-bridge.h
index 347d49d..44305ac 100644
--- a/arch/powerpc/include/asm/pci-bridge.h
+++ b/arch/powerpc/include/asm/pci-bridge.h
@@ -19,6 +19,7 @@ struct device_node;
  */
 struct pci_controller_ops {
 	void		(*dma_dev_setup)(struct pci_dev *dev);
+	void		(*dma_bus_setup)(struct pci_bus *bus);
 };
 
 /*
@@ -279,5 +280,15 @@ static inline void pci_dma_dev_setup(struct pci_dev *dev)
 		ppc_md.pci_dma_dev_setup(dev);
 }
 
+static inline void pci_dma_bus_setup(struct pci_bus *bus)
+{
+	struct pci_controller *phb = pci_bus_to_host(bus);
+
+	if (phb->controller_ops.dma_bus_setup)
+		phb->controller_ops.dma_bus_setup(bus);
+	else if (ppc_md.pci_dma_bus_setup)
+		ppc_md.pci_dma_bus_setup(bus);
+}
+
 #endif	/* __KERNEL__ */
 #endif	/* _ASM_POWERPC_PCI_BRIDGE_H */
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index bce6356..317ed00 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -953,8 +953,7 @@ void pcibios_setup_bus_self(struct pci_bus *bus)
 		ppc_md.pcibios_fixup_bus(bus);
 
 	/* Setup bus DMA mappings */
-	if (ppc_md.pci_dma_bus_setup)
-		ppc_md.pci_dma_bus_setup(bus);
+	pci_dma_bus_setup(bus);
 }
 
 static void pcibios_setup_device(struct pci_dev *dev)
-- 
2.1.4

  parent reply	other threads:[~2015-03-31  5:01 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-31  5:00 [PATCH v2 00/19] Refactor PCI controller operations Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 01/19] powerpc: move find_and_init_phbs() to pSeries specific code Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 02/19] powerpc/powermac: move pmac_pci_probe_mode from setup.c to pci.c Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 03/19] powerpc: pcibios_enable_device_hook: return bool rather than int Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 04/19] powerpc: Create pci_controller_ops.dma_dev_setup and shim Daniel Axtens
2015-04-02 14:13   ` Arnd Bergmann
2015-04-02 14:13     ` Arnd Bergmann
2015-04-07  0:31     ` Daniel Axtens
2015-04-07  0:31       ` Daniel Axtens
2015-04-07  7:44       ` Arnd Bergmann
2015-04-07  7:44         ` Arnd Bergmann
2015-04-08  3:31         ` Michael Ellerman
2015-04-08  3:31           ` Michael Ellerman
2015-03-31  5:00 ` Daniel Axtens [this message]
2015-03-31  5:00 ` [PATCH v2 06/19] powerpc: Create pci_controller_ops.probe_mode " Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 07/19] powerpc: Create pci_controller_ops.enable_device_hook " Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 08/19] powerpc: Create pci_controller_ops.window_alignment " Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 09/19] powerpc: Create pci_controller_ops.reset_secondary_bus " Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 10/19] powerpc: dart_iommu: optionally populate controller_ops on init Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 11/19] powerpc/powermac: Move controller ops from ppc_md to controller_ops Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 12/19] powerpc/pseries: " Daniel Axtens
2015-04-02  3:21   ` [PATCH v3 " Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 13/19] powerpc/powernv: " Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 14/19] powerpc/pasemi: " Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 15/19] powerpc/maple: " Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 16/19] powerpc: fsl_pci, swiotlb: " Daniel Axtens
2015-04-10  0:11   ` [PATCH v3 " Daniel Axtens
2015-04-10  1:28     ` Scott Wood
2015-04-10  2:36       ` Daniel Axtens
2015-04-10  3:15     ` [PATCH v4 " Daniel Axtens
2015-04-10  3:18       ` Scott Wood
2015-03-31  5:00 ` [PATCH v2 17/19] powerpc/cell: " Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 18/19] powerpc: Remove shims for pci_controller_ops operations Daniel Axtens
2015-03-31  5:00 ` [PATCH v2 19/19] powerpc: dart_iommu: Remove check for controller_ops == NULL case Daniel Axtens
2015-04-07  7:51 ` [PATCH v2 00/19] Refactor PCI controller operations Arnd Bergmann

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=1427778057-9505-6-git-send-email-dja@axtens.net \
    --to=dja@axtens.net \
    --cc=linuxppc-dev@lists.ozlabs.org \
    /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.