Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1284398 > unrolled thread
| Started by | jakeo@microsoft.com |
|---|---|
| First post | 2015-12-05 01:40 +0100 |
| Last post | 2015-12-09 18:10 +0100 |
| Articles | 4 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH v7 4/7] PCI: Add fwnode_handle to pci_sysdata jakeo@microsoft.com - 2015-12-05 01:40 +0100
Re: [PATCH v7 4/7] PCI: Add fwnode_handle to pci_sysdata Marc Zyngier <marc.zyngier@arm.com> - 2015-12-09 18:00 +0100
RE: [PATCH v7 4/7] PCI: Add fwnode_handle to pci_sysdata Jake Oshins <jakeo@microsoft.com> - 2015-12-09 18:00 +0100
Re: [PATCH v7 4/7] PCI: Add fwnode_handle to pci_sysdata Marc Zyngier <marc.zyngier@arm.com> - 2015-12-09 18:10 +0100
| From | jakeo@microsoft.com |
|---|---|
| Date | 2015-12-05 01:40 +0100 |
| Subject | [PATCH v7 4/7] PCI: Add fwnode_handle to pci_sysdata |
| Message-ID | <qC93k-1tU-19@gated-at.bofh.it> |
From: Jake Oshins <jakeo@microsoft.com>
This patch adds an fwnode_handle to struct pci_sysdata, which is
used by the next patch in the series when trying to locate an
IRQ domain associated with a root PCI bus.
Signed-off-by: Jake Oshins <jakeo@microsoft.com>
---
arch/x86/include/asm/pci.h | 15 +++++++++++++++
include/asm-generic/pci.h | 4 ++++
2 files changed, 19 insertions(+)
diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h
index 4625943..6fc3c7c 100644
--- a/arch/x86/include/asm/pci.h
+++ b/arch/x86/include/asm/pci.h
@@ -20,6 +20,9 @@ struct pci_sysdata {
#ifdef CONFIG_X86_64
void *iommu; /* IOMMU private data */
#endif
+#ifdef CONFIG_PCI_MSI_IRQ_DOMAIN
+ void *fwnode; /* IRQ domain for MSI assignment */
+#endif
};
extern int pci_routeirq;
@@ -32,6 +35,7 @@ extern int noioapicreroute;
static inline int pci_domain_nr(struct pci_bus *bus)
{
struct pci_sysdata *sd = bus->sysdata;
+
return sd->domain;
}
@@ -41,6 +45,17 @@ static inline int pci_proc_domain(struct pci_bus *bus)
}
#endif
+#ifdef CONFIG_PCI_MSI_IRQ_DOMAIN
+static inline void *_pci_root_bus_fwnode(struct pci_bus *bus)
+{
+ struct pci_sysdata *sd = bus->sysdata;
+
+ return sd->fwnode;
+}
+
+#define pci_root_bus_fwnode _pci_root_bus_fwnode
+#endif
+
/* Can be used to override the logic in pci_scan_bus for skipping
already-configured bus numbers - to be used for buggy BIOSes
or architectures with incomplete PCI setup by the loader */
diff --git a/include/asm-generic/pci.h b/include/asm-generic/pci.h
index f24bc51..4092886 100644
--- a/include/asm-generic/pci.h
+++ b/include/asm-generic/pci.h
@@ -21,4 +21,8 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
#define PCI_DMA_BUS_IS_PHYS (1)
#endif
+#ifndef pci_root_bus_fwnode
+#define pci_root_bus_fwnode(bus) ((void)(bus), NULL)
+#endif
+
#endif /* _ASM_GENERIC_PCI_H */
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Marc Zyngier <marc.zyngier@arm.com> |
|---|---|
| Date | 2015-12-09 18:00 +0100 |
| Message-ID | <qDQfW-2uA-47@gated-at.bofh.it> |
| In reply to | #1284398 |
On 05/12/15 00:36, jakeo@microsoft.com wrote:
> From: Jake Oshins <jakeo@microsoft.com>
>
> This patch adds an fwnode_handle to struct pci_sysdata, which is
> used by the next patch in the series when trying to locate an
> IRQ domain associated with a root PCI bus.
>
> Signed-off-by: Jake Oshins <jakeo@microsoft.com>
> ---
> arch/x86/include/asm/pci.h | 15 +++++++++++++++
> include/asm-generic/pci.h | 4 ++++
> 2 files changed, 19 insertions(+)
>
[...]
> diff --git a/include/asm-generic/pci.h b/include/asm-generic/pci.h
> index f24bc51..4092886 100644
> --- a/include/asm-generic/pci.h
> +++ b/include/asm-generic/pci.h
> @@ -21,4 +21,8 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
> #define PCI_DMA_BUS_IS_PHYS (1)
> #endif
>
> +#ifndef pci_root_bus_fwnode
> +#define pci_root_bus_fwnode(bus) ((void)(bus), NULL)
> +#endif
> +
> #endif /* _ASM_GENERIC_PCI_H */
>
This breaks at least arm64 (as you can see from the reply to patch #5,
because it does have its own asm/pci.h. Instead, how about moving this
to linux/pci.h, just after the include of asm/pci.h? I just gave it a
go, and it seems to work nicely (the first hunk fixes the rest of the
arm64 compile issue):
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 8f3d056..c6369dd 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -15,6 +15,7 @@
#include <linux/pci-aspm.h>
#include <linux/aer.h>
#include <linux/acpi.h>
+#include <linux/irqdomain.h>
#include <asm-generic/pci-bridge.h>
#include "pci.h"
diff --git a/include/asm-generic/pci.h b/include/asm-generic/pci.h
index 4092886..f24bc51 100644
--- a/include/asm-generic/pci.h
+++ b/include/asm-generic/pci.h
@@ -21,8 +21,4 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
#define PCI_DMA_BUS_IS_PHYS (1)
#endif
-#ifndef pci_root_bus_fwnode
-#define pci_root_bus_fwnode(bus) ((void)(bus), NULL)
-#endif
-
#endif /* _ASM_GENERIC_PCI_H */
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 6ae25aa..b4144228 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1517,6 +1517,10 @@ static inline int pci_get_new_domain_nr(void) { return -ENOSYS; }
#include <asm/pci.h>
+#ifndef pci_root_bus_fwnode
+#define pci_root_bus_fwnode(bus) ((void)(bus), NULL)
+#endif
+
/* these helpers provide future and backwards compatibility
* for accessing popular PCI BAR info */
#define pci_resource_start(dev, bar) ((dev)->resource[(bar)].start)
Thanks,
M.
--
Jazz is not dead. It just smells funny...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Jake Oshins <jakeo@microsoft.com> |
|---|---|
| Date | 2015-12-09 18:00 +0100 |
| Message-ID | <qDQfX-2uA-67@gated-at.bofh.it> |
| In reply to | #1287648 |
> -----Original Message----- > From: Marc Zyngier [mailto:marc.zyngier@arm.com] > Sent: Wednesday, December 9, 2015 8:51 AM > To: Jake Oshins <jakeo@microsoft.com>; gregkh@linuxfoundation.org; KY > Srinivasan <kys@microsoft.com>; linux-kernel@vger.kernel.org; > devel@linuxdriverproject.org; olaf@aepfle.de; apw@canonical.com; > vkuznets@redhat.com; tglx@linutronix.de; Haiyang Zhang > <haiyangz@microsoft.com>; bhelgaas@google.com; linux- > pci@vger.kernel.org > Subject: Re: [PATCH v7 4/7] PCI: Add fwnode_handle to pci_sysdata > > On 05/12/15 00:36, jakeo@microsoft.com wrote: > > From: Jake Oshins <jakeo@microsoft.com> > > > > This patch adds an fwnode_handle to struct pci_sysdata, which is > > used by the next patch in the series when trying to locate an > > IRQ domain associated with a root PCI bus. > > > > Signed-off-by: Jake Oshins <jakeo@microsoft.com> > > --- > > arch/x86/include/asm/pci.h | 15 +++++++++++++++ > > include/asm-generic/pci.h | 4 ++++ > > 2 files changed, 19 insertions(+) > > > > [...] > > > diff --git a/include/asm-generic/pci.h b/include/asm-generic/pci.h > > index f24bc51..4092886 100644 > > --- a/include/asm-generic/pci.h > > +++ b/include/asm-generic/pci.h > > @@ -21,4 +21,8 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev > *dev, int channel) > > #define PCI_DMA_BUS_IS_PHYS (1) > > #endif > > > > +#ifndef pci_root_bus_fwnode > > +#define pci_root_bus_fwnode(bus) ((void)(bus), NULL) > > +#endif > > + > > #endif /* _ASM_GENERIC_PCI_H */ > > > > This breaks at least arm64 (as you can see from the reply to patch #5, > because it does have its own asm/pci.h. Instead, how about moving this > to linux/pci.h, just after the include of asm/pci.h? I just gave it a > go, and it seems to work nicely (the first hunk fixes the rest of the > arm64 compile issue): Thank you. I was just working through how to do that. I lost a couple of days trying to figure out how to cross-compile for arm64 to check that any fix that I made actually worked. (In the process, I've completely messed up my development machine. Any pointers to the right strategy would be appreciated.) -- Jake Oshins -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Marc Zyngier <marc.zyngier@arm.com> |
|---|---|
| Date | 2015-12-09 18:10 +0100 |
| Message-ID | <qDQpz-2N1-1@gated-at.bofh.it> |
| In reply to | #1287654 |
On 09/12/15 16:54, Jake Oshins wrote: >> -----Original Message----- >> From: Marc Zyngier [mailto:marc.zyngier@arm.com] >> Sent: Wednesday, December 9, 2015 8:51 AM >> To: Jake Oshins <jakeo@microsoft.com>; gregkh@linuxfoundation.org; KY >> Srinivasan <kys@microsoft.com>; linux-kernel@vger.kernel.org; >> devel@linuxdriverproject.org; olaf@aepfle.de; apw@canonical.com; >> vkuznets@redhat.com; tglx@linutronix.de; Haiyang Zhang >> <haiyangz@microsoft.com>; bhelgaas@google.com; linux- >> pci@vger.kernel.org >> Subject: Re: [PATCH v7 4/7] PCI: Add fwnode_handle to pci_sysdata >> >> On 05/12/15 00:36, jakeo@microsoft.com wrote: >>> From: Jake Oshins <jakeo@microsoft.com> >>> >>> This patch adds an fwnode_handle to struct pci_sysdata, which is >>> used by the next patch in the series when trying to locate an >>> IRQ domain associated with a root PCI bus. >>> >>> Signed-off-by: Jake Oshins <jakeo@microsoft.com> >>> --- >>> arch/x86/include/asm/pci.h | 15 +++++++++++++++ >>> include/asm-generic/pci.h | 4 ++++ >>> 2 files changed, 19 insertions(+) >>> >> >> [...] >> >>> diff --git a/include/asm-generic/pci.h b/include/asm-generic/pci.h >>> index f24bc51..4092886 100644 >>> --- a/include/asm-generic/pci.h >>> +++ b/include/asm-generic/pci.h >>> @@ -21,4 +21,8 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev >> *dev, int channel) >>> #define PCI_DMA_BUS_IS_PHYS (1) >>> #endif >>> >>> +#ifndef pci_root_bus_fwnode >>> +#define pci_root_bus_fwnode(bus) ((void)(bus), NULL) >>> +#endif >>> + >>> #endif /* _ASM_GENERIC_PCI_H */ >>> >> >> This breaks at least arm64 (as you can see from the reply to patch #5, >> because it does have its own asm/pci.h. Instead, how about moving this >> to linux/pci.h, just after the include of asm/pci.h? I just gave it a >> go, and it seems to work nicely (the first hunk fixes the rest of the >> arm64 compile issue): > > Thank you. I was just working through how to do that. I lost a > couple of days trying to figure out how to cross-compile for arm64 to > check that any fix that I made actually worked. (In the process, > I've completely messed up my development machine. Any pointers to > the right strategy would be appreciated.) My own strategy is pretty simple. It involves: - downloading a binary toolchain ([1] for example) - untar this somewhere, putting the gcc-linaro-5.2-2015.11-x86_64_aarch64-linux-gnu/bin directory in your PATH - and then the usual "make ARCH=arm64 defconfig && make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- all" That's of course assuming you're using a Linux x86-64 box for cross-compiling. I also cross-compile from 32bit ARM, but I doubt you'd be interested... ;-) Cheers, M. [1] https://releases.linaro.org/components/toolchain/binaries/5.2-2015.11/aarch64-linux-gnu/gcc-linaro-5.2-2015.11-x86_64_aarch64-linux-gnu.tar.xz -- Jazz is not dead. It just smells funny... -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web