* [Qemu-devel] [v2 0/2] Generic PCIe host bridge INTx determination for INTx routing
@ 2015-04-30 11:52 Pranavkumar Sawargaonkar
2015-04-30 11:52 ` [Qemu-devel] [v2 1/2] pci: GPEX: Add a function to determine interrupt number " Pranavkumar Sawargaonkar
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Pranavkumar Sawargaonkar @ 2015-04-30 11:52 UTC (permalink / raw)
To: qemu-devel
Cc: peter.maydell, patches, agraf, christoffer.dall,
Pranavkumar Sawargaonkar
This patch adds a routine for GPEX to implement PCI bus specific function pointer
"route_intx_to_irq" which is used during INTx routing.
ChangeLog:
V2:
- Drop a patch about adding an API to get irq number from qemu_irq
- Store a GPEX INTx information from board specific code (virt.c)
V1:
- Initial patchset
- https://lists.gnu.org/archive/html/qemu-devel/2015-04/msg01986.html
Pranavkumar Sawargaonkar (2):
pci: GPEX: Add a function to determine interrupt number for INTx
routing
arm: hw: virt: Store information about GPEX legacy interrupt numbers
hw/arm/virt.c | 4 ++++
hw/pci-host/gpex.c | 12 ++++++++++++
include/hw/pci-host/gpex.h | 1 +
3 files changed, 17 insertions(+)
--
1.9.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Qemu-devel] [v2 1/2] pci: GPEX: Add a function to determine interrupt number for INTx routing
2015-04-30 11:52 [Qemu-devel] [v2 0/2] Generic PCIe host bridge INTx determination for INTx routing Pranavkumar Sawargaonkar
@ 2015-04-30 11:52 ` Pranavkumar Sawargaonkar
2015-04-30 11:52 ` [Qemu-devel] [v2 2/2] arm: hw: virt: Store information about GPEX legacy interrupt numbers Pranavkumar Sawargaonkar
2015-09-18 16:22 ` [Qemu-devel] [v2 0/2] Generic PCIe host bridge INTx determination for INTx routing Peter Maydell
2 siblings, 0 replies; 4+ messages in thread
From: Pranavkumar Sawargaonkar @ 2015-04-30 11:52 UTC (permalink / raw)
To: qemu-devel
Cc: peter.maydell, patches, agraf, christoffer.dall, Tushar Jagad,
Pranavkumar Sawargaonkar
This patch adds a PCI bus specific function pointer "route_intx_to_irq"
for GPEX.
This is used in detemining PCI INTx number from pin.
Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
Signed-off-by: Tushar Jagad <tushar.jagad@linaro.org>
---
hw/pci-host/gpex.c | 12 ++++++++++++
include/hw/pci-host/gpex.h | 1 +
2 files changed, 13 insertions(+)
diff --git a/hw/pci-host/gpex.c b/hw/pci-host/gpex.c
index 9d8fb5a..ed96053 100644
--- a/hw/pci-host/gpex.c
+++ b/hw/pci-host/gpex.c
@@ -42,6 +42,17 @@ static void gpex_set_irq(void *opaque, int irq_num, int level)
qemu_set_irq(s->irq[irq_num], level);
}
+static PCIINTxRoute gpex_route_intx_pin_to_irq(void *opaque, int pin)
+{
+ PCIINTxRoute route;
+ GPEXHost *s = opaque;
+
+ route.mode = PCI_INTX_ENABLED;
+ route.irq = (int) s->irq_num[pin];
+
+ return route;
+}
+
static void gpex_host_realize(DeviceState *dev, Error **errp)
{
PCIHostState *pci = PCI_HOST_BRIDGE(dev);
@@ -66,6 +77,7 @@ static void gpex_host_realize(DeviceState *dev, Error **errp)
&s->io_ioport, 0, 4, TYPE_PCIE_BUS);
qdev_set_parent_bus(DEVICE(&s->gpex_root), BUS(pci->bus));
+ pci_bus_set_route_irq_fn(pci->bus, gpex_route_intx_pin_to_irq);
qdev_init_nofail(DEVICE(&s->gpex_root));
}
diff --git a/include/hw/pci-host/gpex.h b/include/hw/pci-host/gpex.h
index 68c9348..7df1c16 100644
--- a/include/hw/pci-host/gpex.h
+++ b/include/hw/pci-host/gpex.h
@@ -51,6 +51,7 @@ typedef struct GPEXHost {
MemoryRegion io_ioport;
MemoryRegion io_mmio;
qemu_irq irq[GPEX_NUM_IRQS];
+ uint32_t irq_num[GPEX_NUM_IRQS];
} GPEXHost;
#endif /* HW_GPEX_H */
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Qemu-devel] [v2 2/2] arm: hw: virt: Store information about GPEX legacy interrupt numbers
2015-04-30 11:52 [Qemu-devel] [v2 0/2] Generic PCIe host bridge INTx determination for INTx routing Pranavkumar Sawargaonkar
2015-04-30 11:52 ` [Qemu-devel] [v2 1/2] pci: GPEX: Add a function to determine interrupt number " Pranavkumar Sawargaonkar
@ 2015-04-30 11:52 ` Pranavkumar Sawargaonkar
2015-09-18 16:22 ` [Qemu-devel] [v2 0/2] Generic PCIe host bridge INTx determination for INTx routing Peter Maydell
2 siblings, 0 replies; 4+ messages in thread
From: Pranavkumar Sawargaonkar @ 2015-04-30 11:52 UTC (permalink / raw)
To: qemu-devel
Cc: peter.maydell, patches, agraf, christoffer.dall, Tushar Jagad,
Pranavkumar Sawargaonkar
This patch stores information about assigned legacy interrupt numbers in
GPEX host structure.
This is used during GPEX INTx number determination from a pin during
INTx routing.
Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
Signed-off-by: Tushar Jagad <tushar.jagad@linaro.org>
---
hw/arm/virt.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 565f573..fdafdcc 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -658,6 +658,7 @@ static void create_pcie(const VirtBoardInfo *vbi, qemu_irq *pic,
MemoryRegion *ecam_alias;
MemoryRegion *ecam_reg;
DeviceState *dev;
+ GPEXHost *s;
char *nodename;
int i;
@@ -689,8 +690,11 @@ static void create_pcie(const VirtBoardInfo *vbi, qemu_irq *pic,
/* Map IO port space */
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 2, base_ioport);
+ s = GPEX_HOST(dev);
+
for (i = 0; i < GPEX_NUM_IRQS; i++) {
sysbus_connect_irq(SYS_BUS_DEVICE(dev), i, pic[irq + i]);
+ s->irq_num[i] = irq + i;
}
nodename = g_strdup_printf("/pcie@%" PRIx64, base);
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [v2 0/2] Generic PCIe host bridge INTx determination for INTx routing
2015-04-30 11:52 [Qemu-devel] [v2 0/2] Generic PCIe host bridge INTx determination for INTx routing Pranavkumar Sawargaonkar
2015-04-30 11:52 ` [Qemu-devel] [v2 1/2] pci: GPEX: Add a function to determine interrupt number " Pranavkumar Sawargaonkar
2015-04-30 11:52 ` [Qemu-devel] [v2 2/2] arm: hw: virt: Store information about GPEX legacy interrupt numbers Pranavkumar Sawargaonkar
@ 2015-09-18 16:22 ` Peter Maydell
2 siblings, 0 replies; 4+ messages in thread
From: Peter Maydell @ 2015-09-18 16:22 UTC (permalink / raw)
To: Pranavkumar Sawargaonkar
Cc: patches@apm.com, QEMU Developers, Christoffer Dall,
Alexander Graf
On 30 April 2015 at 12:52, Pranavkumar Sawargaonkar
<pranavkumar@linaro.org> wrote:
> This patch adds a routine for GPEX to implement PCI bus specific function pointer
> "route_intx_to_irq" which is used during INTx routing.
>
> ChangeLog:
>
> V2:
> - Drop a patch about adding an API to get irq number from qemu_irq
> - Store a GPEX INTx information from board specific code (virt.c)
> V1:
> - Initial patchset
> - https://lists.gnu.org/archive/html/qemu-devel/2015-04/msg01986.html
>
> Pranavkumar Sawargaonkar (2):
> pci: GPEX: Add a function to determine interrupt number for INTx
> routing
> arm: hw: virt: Store information about GPEX legacy interrupt numbers
>
> hw/arm/virt.c | 4 ++++
> hw/pci-host/gpex.c | 12 ++++++++++++
> include/hw/pci-host/gpex.h | 1 +
> 3 files changed, 17 insertions(+)
Hi; I found this now-ancient mail lurking in my to-review folder. I suspect
the patchset may be irrelevant now, but it's hard to tell from the cover
letter. If it's still a relevant change, please can you resend, preferably
with a cover letter that provides some more rationale?
thanks
-- PMM
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-09-18 16:22 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-30 11:52 [Qemu-devel] [v2 0/2] Generic PCIe host bridge INTx determination for INTx routing Pranavkumar Sawargaonkar
2015-04-30 11:52 ` [Qemu-devel] [v2 1/2] pci: GPEX: Add a function to determine interrupt number " Pranavkumar Sawargaonkar
2015-04-30 11:52 ` [Qemu-devel] [v2 2/2] arm: hw: virt: Store information about GPEX legacy interrupt numbers Pranavkumar Sawargaonkar
2015-09-18 16:22 ` [Qemu-devel] [v2 0/2] Generic PCIe host bridge INTx determination for INTx routing Peter Maydell
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).