lasips2: add named input gpio to handle incoming port IRQs
The LASIPS2 device named input gpio is soon to be connected to the port output IRQs. Add a new int_status field to LASIPS2State which is a bitmap representing the port input IRQ status which will be enabled in the next patch. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Tested-by: Helge Deller <deller@gmx.de> Acked-by: Helge Deller <deller@gmx.de> Message-Id: <20220712215251.7944-28-mark.cave-ayland@ilande.co.uk> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
parent
d0af5d6a40
commit
ca735a81b2
@ -125,6 +125,19 @@ static void lasips2_update_irq(LASIPS2State *s)
|
||||
s->mouse_port.parent_obj.birq);
|
||||
}
|
||||
|
||||
static void lasips2_set_irq(void *opaque, int n, int level)
|
||||
{
|
||||
LASIPS2State *s = LASIPS2(opaque);
|
||||
|
||||
if (level) {
|
||||
s->int_status |= BIT(n);
|
||||
} else {
|
||||
s->int_status &= ~BIT(n);
|
||||
}
|
||||
|
||||
lasips2_update_irq(s);
|
||||
}
|
||||
|
||||
static void lasips2_reg_write(void *opaque, hwaddr addr, uint64_t val,
|
||||
unsigned size)
|
||||
{
|
||||
@ -303,6 +316,8 @@ static void lasips2_init(Object *obj)
|
||||
"ps2-kbd-input-irq", 1);
|
||||
qdev_init_gpio_in_named(DEVICE(obj), lasips2_set_mouse_irq,
|
||||
"ps2-mouse-input-irq", 1);
|
||||
qdev_init_gpio_in_named(DEVICE(obj), lasips2_set_irq,
|
||||
"lasips2-port-input-irq", 2);
|
||||
}
|
||||
|
||||
static void lasips2_class_init(ObjectClass *klass, void *data)
|
||||
|
@ -69,6 +69,7 @@ struct LASIPS2State {
|
||||
|
||||
LASIPS2KbdPort kbd_port;
|
||||
LASIPS2MousePort mouse_port;
|
||||
uint8_t int_status;
|
||||
qemu_irq irq;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user