qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Cc: richard.henderson@linaro.org, deller@gmx.de,
	svens@stackframe.org,  mst@redhat.com, pbonzini@redhat.com,
	hpoussin@reactos.org,  aleksandar.rikalo@syrmia.com,
	f4bug@amsat.org, qemu-devel@nongnu.org,  qemu-arm@nongnu.org
Subject: Re: [PATCH 27/40] lasips2: add named input gpio to handle incoming port IRQs
Date: Mon, 4 Jul 2022 14:27:32 +0100	[thread overview]
Message-ID: <CAFEAcA_pesFDQK0BSB5+cv8PRZ53pcbArketiJL2P8vxiyf=Bw@mail.gmail.com> (raw)
In-Reply-To: <20220629124026.1077021-28-mark.cave-ayland@ilande.co.uk>

On Wed, 29 Jun 2022 at 13:41, Mark Cave-Ayland
<mark.cave-ayland@ilande.co.uk> wrote:
>
> 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.
>
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> ---
>  hw/input/lasips2.c         | 15 +++++++++++++++
>  include/hw/input/lasips2.h |  1 +
>  2 files changed, 16 insertions(+)
>
> diff --git a/hw/input/lasips2.c b/hw/input/lasips2.c
> index ec1661a8f1..013d891af6 100644
> --- a/hw/input/lasips2.c
> +++ b/hw/input/lasips2.c
> @@ -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)
> diff --git a/include/hw/input/lasips2.h b/include/hw/input/lasips2.h
> index 35e0aa26eb..b79febf64b 100644
> --- a/include/hw/input/lasips2.h
> +++ b/include/hw/input/lasips2.h
> @@ -69,6 +69,7 @@ struct LASIPS2State {
>
>      LASIPS2KbdPort kbd_port;
>      LASIPS2MousePort mouse_port;
> +    uint8_t int_status;
>      qemu_irq irq;

Doesn't this new data field need to be migrated in a vmstate ?

>  };
>

-- PMM


  reply	other threads:[~2022-07-04 14:08 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-29 12:39 [PATCH 00/40] PS2 device QOMification - part 2 Mark Cave-Ayland
2022-06-29 12:39 ` [PATCH 01/40] pl050: move PL050State from pl050.c to new pl050.h header file Mark Cave-Ayland
2022-07-04 13:12   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 02/40] pl050: rename pl050_keyboard_init() to pl050_kbd_init() Mark Cave-Ayland
2022-07-04 13:12   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 03/40] pl050: change PL050State dev pointer from void to PS2State Mark Cave-Ayland
2022-07-04 13:14   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 04/40] pl050: introduce new PL050_KBD_DEVICE QOM type Mark Cave-Ayland
2022-07-04 13:15   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 05/40] pl050: introduce new PL050_MOUSE_DEVICE " Mark Cave-Ayland
2022-07-04 13:15   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 06/40] pl050: move logic from pl050_realize() to pl050_init() Mark Cave-Ayland
2022-07-04 13:16   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 07/40] pl050: introduce PL050DeviceClass for the PL050 device Mark Cave-Ayland
2022-07-04 13:17   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 08/40] pl050: introduce pl050_kbd_class_init() and pl050_kbd_realize() Mark Cave-Ayland
2022-07-04 13:17   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 09/40] pl050: introduce pl050_mouse_class_init() and pl050_mouse_realize() Mark Cave-Ayland
2022-07-04 13:18   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 10/40] pl050: don't use legacy ps2_kbd_init() function Mark Cave-Ayland
2022-07-04 13:20   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 11/40] pl050: don't use legacy ps2_mouse_init() function Mark Cave-Ayland
2022-07-04 13:20   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 12/40] lasips2: don't use vmstate_register() in lasips2_realize() Mark Cave-Ayland
2022-07-04 13:20   ` Peter Maydell
2022-06-29 12:39 ` [PATCH 13/40] lasips2: remove the qdev base property and the lasips2_properties array Mark Cave-Ayland
2022-07-04 13:21   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 14/40] lasips2: remove legacy lasips2_initfn() function Mark Cave-Ayland
2022-07-04 13:22   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 15/40] lasips2: change LASIPS2State dev pointer from void to PS2State Mark Cave-Ayland
2022-07-04 13:22   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 16/40] lasips2: QOMify LASIPS2Port Mark Cave-Ayland
2022-07-04 13:23   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 17/40] lasips2: introduce new LASIPS2_KBD_PORT QOM type Mark Cave-Ayland
2022-07-04 13:22   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 18/40] lasips2: introduce new LASIPS2_MOUSE_PORT " Mark Cave-Ayland
2022-07-04 13:23   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 19/40] lasips2: move keyboard port initialisation to new lasips2_kbd_port_init() function Mark Cave-Ayland
2022-07-04 13:24   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 20/40] lasips2: move mouse port initialisation to new lasips2_mouse_port_init() function Mark Cave-Ayland
2022-07-04 13:25   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 21/40] lasips2: introduce lasips2_kbd_port_class_init() and lasips2_kbd_port_realize() Mark Cave-Ayland
2022-07-04 13:25   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 22/40] lasips2: introduce lasips2_mouse_port_class_init() and lasips2_mouse_port_realize() Mark Cave-Ayland
2022-07-04 13:25   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 23/40] lasips2: rename LASIPS2Port irq field to birq Mark Cave-Ayland
2022-07-04 13:25   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 24/40] lasips2: introduce port IRQ and new lasips2_port_init() function Mark Cave-Ayland
2022-07-04 13:26   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 25/40] lasips2: introduce LASIPS2PortDeviceClass for the LASIPS2_PORT device Mark Cave-Ayland
2022-07-04 13:26   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 26/40] lasips2: add named input gpio to port for downstream PS2 device IRQ Mark Cave-Ayland
2022-07-04 13:27   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 27/40] lasips2: add named input gpio to handle incoming port IRQs Mark Cave-Ayland
2022-07-04 13:27   ` Peter Maydell [this message]
2022-06-29 12:40 ` [PATCH 28/40] lasips2: switch to using port-based IRQs Mark Cave-Ayland
2022-07-04 13:28   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 29/40] lasips2: rename LASIPS2Port parent pointer to lasips2 Mark Cave-Ayland
2022-07-04 13:28   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 30/40] lasips2: standardise on lp name for LASIPS2Port variables Mark Cave-Ayland
2022-07-04 13:29   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 31/40] lasips2: switch register memory region to DEVICE_BIG_ENDIAN Mark Cave-Ayland
2022-07-04 13:29   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 32/40] lasips2: don't use legacy ps2_kbd_init() function Mark Cave-Ayland
2022-07-04 13:29   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 33/40] lasips2: don't use legacy ps2_mouse_init() function Mark Cave-Ayland
2022-07-04 13:30   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 34/40] lasips2: update VMStateDescription for LASIPS2 device Mark Cave-Ayland
2022-07-04 13:38   ` Peter Maydell
2022-07-05  6:48     ` Mark Cave-Ayland
2022-07-05  8:18       ` Peter Maydell
2022-06-29 12:40 ` [PATCH 35/40] pckbd: introduce new vmstate_kbd_mmio VMStateDescription for the I8042_MMIO device Mark Cave-Ayland
2022-07-04 13:35   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 36/40] pckbd: don't use legacy ps2_kbd_init() function Mark Cave-Ayland
2022-07-04 13:36   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 37/40] ps2: remove unused " Mark Cave-Ayland
2022-07-04 13:37   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 38/40] pckbd: don't use legacy ps2_mouse_init() function Mark Cave-Ayland
2022-07-04 13:37   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 39/40] ps2: remove unused " Mark Cave-Ayland
2022-07-04 13:37   ` Peter Maydell
2022-06-29 12:40 ` [PATCH 40/40] pckbd: remove legacy i8042_mm_init() function Mark Cave-Ayland
2022-07-04 13:38   ` Peter Maydell
2022-07-01 19:37 ` [PATCH 00/40] PS2 device QOMification - part 2 Helge Deller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAFEAcA_pesFDQK0BSB5+cv8PRZ53pcbArketiJL2P8vxiyf=Bw@mail.gmail.com' \
    --to=peter.maydell@linaro.org \
    --cc=aleksandar.rikalo@syrmia.com \
    --cc=deller@gmx.de \
    --cc=f4bug@amsat.org \
    --cc=hpoussin@reactos.org \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=svens@stackframe.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).