qemu/hw/char
Andrey Smirnov 824e4a12f3 char: i.MX: Simplify imx_update()
Code of imx_update() is slightly confusing since the "flags" variable
doesn't really corespond to anything in real hardware and server as a
kitchensink accumulating events normally reported via USR1 and USR2
registers.

Change the code to explicitly evaluate state of interrupts reported
via USR1 and USR2 against corresponding masking bits and use the to
detemine if IRQ line should be asserted or not.

NOTE: Check for UTS1_TXEMPTY being set has been dropped for two
reasons:

    1. Emulation code implements a single character FIFO, so this flag
       will always be set since characters are trasmitted as a part of
       the code emulating "push" into the FIFO

    2. imx_update() is really just a function doing ORing and maksing
       of reported events, so checking for UTS1_TXEMPTY should happen,
       if it's ever really needed should probably happen outside of
       it.

Cc: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Cc: Bill Paul <wpaul@windriver.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Message-id: 20180315191141.6789-1-andrew.smirnov@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2018-03-19 18:23:24 +00:00
..
bcm2835_aux.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
cadence_uart.c maint: Fix macros with broken 'do/while(0); ' usage 2018-01-16 14:54:52 +01:00
cmsdk-apb-uart.c hw/arm/mps2: Add UARTs 2017-07-17 13:36:08 +01:00
debugcon.c misc: drop old i386 dependency 2017-12-18 17:07:03 +03:00
digic-uart.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
escc.c hw/char: remove legacy interface escc_init() 2018-02-16 12:14:26 +11:00
etraxfs_ser.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
exynos4210_uart.c char: avoid chardevice direct access 2017-07-14 11:04:33 +02:00
grlib_apbuart.c char: avoid chardevice direct access 2017-07-14 11:04:33 +02:00
imx_serial.c char: i.MX: Simplify imx_update() 2018-03-19 18:23:24 +00:00
ipoctal232.c char: avoid chardevice direct access 2017-07-14 11:04:33 +02:00
lm32_juart.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
lm32_uart.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
Makefile.objs hw/isa: Move parallel_hds_isa_init() to hw/char/parallel-isa.c 2018-03-12 16:12:47 +01:00
mcf_uart.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
milkymist-uart.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
omap_uart.c chardev: move headers to include/chardev 2017-06-02 11:33:52 +04:00
parallel-isa.c hw/isa: Move parallel_hds_isa_init() to hw/char/parallel-isa.c 2018-03-12 16:12:47 +01:00
parallel.c hw/isa: Move parallel_hds_isa_init() to hw/char/parallel-isa.c 2018-03-12 16:12:47 +01:00
pl011.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
sclpconsole-lm.c s390x/sclp: clean up sclp masks 2018-03-08 15:49:23 +01:00
sclpconsole.c s390x/sclp: clean up sclp masks 2018-03-08 15:49:23 +01:00
serial-isa.c char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
serial-pci.c pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices 2017-10-15 05:54:43 +03:00
serial.c Enable 8-byte wide MMIO for 16550 serial devices 2017-11-06 17:15:14 +01:00
sh_serial.c char: avoid chardevice direct access 2017-07-14 11:04:33 +02:00
spapr_vty.c spapr: Implement bug in spapr-vty device to be compatible with PowerVM 2017-11-22 15:28:37 +11:00
stm32f2xx_usart.c hw/char/stm32f2xx_usart: fix TXE/TC bit handling 2018-02-22 15:12:51 +00:00
terminal3270.c chardev: introduce qemu_chr_timeout_add_ms() 2018-01-12 13:22:02 +01:00
trace-events trace-events: fix code style: print 0x before hex numbers 2017-08-01 12:13:07 +01:00
virtio-console.c Include less of the generated modular QAPI headers 2018-03-02 13:45:50 -06:00
virtio-serial-bus.c virtio-serial: add enable_backend callback 2017-09-21 11:51:49 +02:00
xen_console.c misc: remove duplicated includes 2017-12-18 17:07:02 +03:00
xilinx_uartlite.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00