qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [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).