[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 00/16] hw/char/pl011: Implement TX (async) FIFO to avoid block
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v5 00/16] hw/char/pl011: Implement TX (async) FIFO to avoid blocking the main loop |
Date: |
Fri, 19 Jul 2024 20:10:25 +0200 |
Hi,
This series add support for (async) FIFO on the transmit path
of the PL011 UART.
Last patch still broken (chars are emitted async),
still patches 1-11 could be merged for this release...
Since v4:
- Rebased (loopback)
- Addressed Richard & Juan migration comments
- Split in smaller patches
Since v3:
- Document migration bits (Alex, Richard)
- Just check FIFO is not empty in pl011_xmit_fifo_state_needed (rth)
- In pl011_xmit check TX enabled first, and ignore < 8-bit TX (rth)
Since v2:
- Added R-b tags
- Addressed Richard comments on migration
Since v1:
- Restrict pl011_ops[] impl access_size,
- Do not check transmitter is enabled (Peter),
- Addressed Alex's review comments,
- Simplified migration trying to care about backward compat,
but still unsure...
Philippe Mathieu-Daudé (16):
tests/avocado: Add 'device:pl011' tag to tests exercising PL011 UART
hw/char/pl011: Remove unused 'readbuff' field
hw/char/pl011: Move pl011_put_fifo() earlier
hw/char/pl011: Move pl011_loopback_enabled|tx() around
hw/char/pl011: Split RX/TX path of pl011_reset_fifo()
hw/char/pl011: Extract pl011_write_txdata() from pl011_write()
hw/char/pl011: Extract pl011_read_rxdata() from pl011_read()
hw/char/pl011: Warn when using disabled transmitter
tests/qtest: Update tests using PL011 UART
hw/char/pl011: Check if receiver is enabled
hw/char/pl011: Rename RX FIFO methods
hw/char/pl011: Add transmit FIFO to PL011State
hw/char/pl011: Introduce pl011_xmit() as GSource
hw/char/pl011: Consider TX FIFO overrun error
hw/char/pl011: Drain TX FIFO when no backend connected
hw/char/pl011: Implement TX FIFO
include/hw/char/pl011.h | 3 +-
hw/char/pl011.c | 339 ++++++++++++++++-------
tests/qtest/boot-serial-test.c | 15 +-
hw/char/trace-events | 9 +-
tests/avocado/boot_linux.py | 1 +
tests/avocado/boot_linux_console.py | 2 +
tests/avocado/boot_xen.py | 1 +
tests/avocado/machine_aarch64_sbsaref.py | 1 +
tests/avocado/machine_aarch64_virt.py | 1 +
tests/avocado/smmu.py | 1 +
tests/avocado/tuxrun_baselines.py | 5 +
11 files changed, 277 insertions(+), 101 deletions(-)
--
2.41.0
- [PATCH v5 00/16] hw/char/pl011: Implement TX (async) FIFO to avoid blocking the main loop,
Philippe Mathieu-Daudé <=
- [PATCH v5 01/16] tests/avocado: Add 'device:pl011' tag to tests exercising PL011 UART, Philippe Mathieu-Daudé, 2024/07/19
- [PATCH v5 02/16] hw/char/pl011: Remove unused 'readbuff' field, Philippe Mathieu-Daudé, 2024/07/19
- [PATCH v5 03/16] hw/char/pl011: Move pl011_put_fifo() earlier, Philippe Mathieu-Daudé, 2024/07/19
- [PATCH v5 04/16] hw/char/pl011: Move pl011_loopback_enabled|tx() around, Philippe Mathieu-Daudé, 2024/07/19
- [PATCH v5 05/16] hw/char/pl011: Split RX/TX path of pl011_reset_fifo(), Philippe Mathieu-Daudé, 2024/07/19
- [PATCH v5 06/16] hw/char/pl011: Extract pl011_write_txdata() from pl011_write(), Philippe Mathieu-Daudé, 2024/07/19
- [PATCH v5 07/16] hw/char/pl011: Extract pl011_read_rxdata() from pl011_read(), Philippe Mathieu-Daudé, 2024/07/19