[PATCH v3 19/20] q800: wire up nubus IRQs

Mark Cave-Ayland posted 20 patches 4 years, 4 months ago
Maintainers: Laurent Vivier <laurent@vivier.eu>
There is a newer version of this series
[PATCH v3 19/20] q800: wire up nubus IRQs
Posted by Mark Cave-Ayland 4 years, 4 months ago
Nubus IRQs are routed to the CPU through the VIA2 device so wire up the IRQs
using gpios accordingly.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
---
 hw/m68k/q800.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c
index e34df1a829..fbc45a301f 100644
--- a/hw/m68k/q800.c
+++ b/hw/m68k/q800.c
@@ -396,6 +396,11 @@ static void q800_init(MachineState *machine)
     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, 9 * NUBUS_SUPER_SLOT_SIZE);
     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 1, NUBUS_SLOT_BASE +
                                             9 * NUBUS_SLOT_SIZE);
+    for (i = 0; i < VIA2_NUBUS_IRQ_NB; i++) {
+        qdev_connect_gpio_out(dev, 9 + i,
+                              qdev_get_gpio_in_named(via2_dev, "nubus-irq",
+                                                     VIA2_NUBUS_IRQ_9 + i));
+    }
 
     nubus = &NUBUS_BRIDGE(dev)->bus;
 
-- 
2.20.1


Re: [PATCH v3 19/20] q800: wire up nubus IRQs
Posted by Philippe Mathieu-Daudé 4 years, 4 months ago
On 9/16/21 12:05, Mark Cave-Ayland wrote:
> Nubus IRQs are routed to the CPU through the VIA2 device so wire up the IRQs
> using gpios accordingly.
> 
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> ---
>  hw/m68k/q800.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c
> index e34df1a829..fbc45a301f 100644
> --- a/hw/m68k/q800.c
> +++ b/hw/m68k/q800.c
> @@ -396,6 +396,11 @@ static void q800_init(MachineState *machine)
>      sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, 9 * NUBUS_SUPER_SLOT_SIZE);
>      sysbus_mmio_map(SYS_BUS_DEVICE(dev), 1, NUBUS_SLOT_BASE +
>                                              9 * NUBUS_SLOT_SIZE);
> +    for (i = 0; i < VIA2_NUBUS_IRQ_NB; i++) {
> +        qdev_connect_gpio_out(dev, 9 + i,
> +                              qdev_get_gpio_in_named(via2_dev, "nubus-irq",
> +                                                     VIA2_NUBUS_IRQ_9 + i));
> +    }

Hopefully Laurent can double-check the definition values.
Otherwise for the qdev API usage:
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>