[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 1/2] hw/exynos4210.c: Access gate_irq by using gr
From: |
Evgeny Voevodin |
Subject: |
[Qemu-devel] [PATCH v2 1/2] hw/exynos4210.c: Access gate_irq by using group size. |
Date: |
Thu, 12 Apr 2012 12:13:00 +0400 |
New EXYNOS4210_IRQ_GATE_GROUP_SIZE introduced and
EXYNOS4210_IRQ_GATE_NINPUTS changed from 8 to 4, because
having 8 inputs makes an input group of size 4 and access to
second's group first input leads to pass it into third instead of
second output of gate.
Signed-off-by: Evgeny Voevodin <address@hidden>
---
hw/exynos4210.c | 6 ++++--
hw/exynos4210.h | 4 +++-
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/hw/exynos4210.c b/hw/exynos4210.c
index f904370..5e30387 100644
--- a/hw/exynos4210.c
+++ b/hw/exynos4210.c
@@ -116,7 +116,8 @@ Exynos4210State *exynos4210_init(MemoryRegion *system_mem,
busdev = sysbus_from_qdev(dev);
sysbus_mmio_map(busdev, 0, EXYNOS4210_SMP_PRIVATE_BASE_ADDR);
for (n = 0; n < EXYNOS4210_NCPUS; n++) {
- sysbus_connect_irq(busdev, n, gate_irq[n * 2]);
+ sysbus_connect_irq(busdev, n, gate_irq[n *
+
EXYNOS4210_IRQ_GATE_GROUP_SIZE]);
}
for (n = 0; n < EXYNOS4210_INT_GIC_NIRQ; n++) {
s->irqs.int_gic_irq[n] = qdev_get_gpio_in(dev, n);
@@ -135,7 +136,8 @@ Exynos4210State *exynos4210_init(MemoryRegion *system_mem,
/* Map Distributer interface */
sysbus_mmio_map(busdev, 1, EXYNOS4210_EXT_GIC_DIST_BASE_ADDR);
for (n = 0; n < EXYNOS4210_NCPUS; n++) {
- sysbus_connect_irq(busdev, n, gate_irq[n * 2 + 1]);
+ sysbus_connect_irq(busdev, n, gate_irq[n *
+ EXYNOS4210_IRQ_GATE_GROUP_SIZE +
1]);
}
for (n = 0; n < EXYNOS4210_EXT_GIC_NIRQ; n++) {
s->irqs.ext_gic_irq[n] = qdev_get_gpio_in(dev, n);
diff --git a/hw/exynos4210.h b/hw/exynos4210.h
index c112e03..cb5aafb 100644
--- a/hw/exynos4210.h
+++ b/hw/exynos4210.h
@@ -56,7 +56,9 @@
/*
* exynos4210 IRQ subsystem stub definitions.
*/
-#define EXYNOS4210_IRQ_GATE_NINPUTS 8
+#define EXYNOS4210_IRQ_GATE_NINPUTS 4
+#define EXYNOS4210_IRQ_GATE_GROUP_SIZE (EXYNOS4210_IRQ_GATE_NINPUTS / \
+ EXYNOS4210_NCPUS)
#define EXYNOS4210_MAX_INT_COMBINER_OUT_IRQ 64
#define EXYNOS4210_MAX_EXT_COMBINER_OUT_IRQ 16
--
1.7.5.4
Re: [Qemu-devel] [PATCH v2 0/2] Exynos4210 IRQ Gate improvement, Evgeny Voevodin, 2012/04/16