[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 7/9] serial: move TIOCM update to a separate
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [PATCH v2 7/9] serial: move TIOCM update to a separate function |
Date: |
Thu, 25 May 2017 14:36:02 +0000 |
On Fri, May 19, 2017 at 4:55 PM Anton Nefedov <address@hidden>
wrote:
> will be used by the following patch
>
> Signed-off-by: Anton Nefedov <address@hidden>
> Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
> CC: Michael S. Tsirkin <address@hidden>
> CC: Paolo Bonzini <address@hidden>
>
Reviewed-by: Marc-André Lureau <address@hidden>
> ---
> hw/char/serial.c | 31 +++++++++++++++++++------------
> 1 file changed, 19 insertions(+), 12 deletions(-)
>
> diff --git a/hw/char/serial.c b/hw/char/serial.c
> index d8d34d0..1e6bdeb 100644
> --- a/hw/char/serial.c
> +++ b/hw/char/serial.c
> @@ -312,6 +312,24 @@ static void serial_write_fcr(SerialState *s, uint8_t
> val)
> }
> }
>
> +static void serial_update_tiocm(SerialState *s)
> +{
> + int flags;
> +
> + qemu_chr_fe_ioctl(&s->chr, CHR_IOCTL_SERIAL_GET_TIOCM, &flags);
> +
> + flags &= ~(CHR_TIOCM_RTS | CHR_TIOCM_DTR);
> +
> + if (s->mcr & UART_MCR_RTS) {
> + flags |= CHR_TIOCM_RTS;
> + }
> + if (s->mcr & UART_MCR_DTR) {
> + flags |= CHR_TIOCM_DTR;
> + }
> +
> + qemu_chr_fe_ioctl(&s->chr, CHR_IOCTL_SERIAL_SET_TIOCM, &flags);
> +}
> +
> static void serial_ioport_write(void *opaque, hwaddr addr, uint64_t val,
> unsigned size)
> {
> @@ -426,24 +444,13 @@ static void serial_ioport_write(void *opaque, hwaddr
> addr, uint64_t val,
> break;
> case 4:
> {
> - int flags;
> int old_mcr = s->mcr;
> s->mcr = val & 0x1f;
> if (val & UART_MCR_LOOP)
> break;
>
> if (s->poll_msl >= 0 && old_mcr != s->mcr) {
> -
> - qemu_chr_fe_ioctl(&s->chr, CHR_IOCTL_SERIAL_GET_TIOCM,
> &flags);
> -
> - flags &= ~(CHR_TIOCM_RTS | CHR_TIOCM_DTR);
> -
> - if (val & UART_MCR_RTS)
> - flags |= CHR_TIOCM_RTS;
> - if (val & UART_MCR_DTR)
> - flags |= CHR_TIOCM_DTR;
> -
> - qemu_chr_fe_ioctl(&s->chr, CHR_IOCTL_SERIAL_SET_TIOCM,
> &flags);
> + serial_update_tiocm(s);
> /* Update the modem status after a one-character-send
> wait-time, since there may be a response
> from the device/computer at the other end of the
> serial line */
> timer_mod(s->modem_status_poll,
> qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + s->char_transmit_time);
> --
> 2.7.4
>
>
> --
Marc-André Lureau
- [Qemu-devel] [PATCH v2 4/9] hmp: add hmp analogue for qmp-chardev-change, (continued)
- [Qemu-devel] [PATCH v2 4/9] hmp: add hmp analogue for qmp-chardev-change, Anton Nefedov, 2017/05/19
- [Qemu-devel] [PATCH v2 5/9] char: forbid direct chardevice access for hotswap devices, Anton Nefedov, 2017/05/19
- [Qemu-devel] [PATCH v2 6/9] virtio-console: chardev hotswap support, Anton Nefedov, 2017/05/19
- [Qemu-devel] [PATCH v2 3/9] char: chardevice hotswap, Anton Nefedov, 2017/05/19
- [Qemu-devel] [PATCH v2 2/9] char: add backend hotswap handler, Anton Nefedov, 2017/05/19
- [Qemu-devel] [PATCH v2 8/9] serial: chardev hotswap support, Anton Nefedov, 2017/05/19
- [Qemu-devel] [PATCH v2 7/9] serial: move TIOCM update to a separate function, Anton Nefedov, 2017/05/19
- Re: [Qemu-devel] [PATCH v2 7/9] serial: move TIOCM update to a separate function,
Marc-André Lureau <=
- [Qemu-devel] [PATCH v2 9/9] char: avoid chardevice direct access, Anton Nefedov, 2017/05/19