Commit 59520dc65e ("hw/arm/exynos4210: Add DMA support for the Exynos4210") introduced DMA support for Exynos4210. Unfortunately, it never really worked. DMA interrupt line and polarity was wrong, and the serial port needs extra code to support DMA. This patch series fixes the problem.
The series also converts pl330 and exynos4210_uart code to support tracing. While not strictly necessary, this was very useful for debugging, and it seemed too valuable to drop it from the final series. Similar, improved support for receive FIFO handling is not strictly necessary to fix DMA handling, but I initially thought that it was and added the code. Like tracing support it seemed too valuable to drop it. The series was tested with qemu's smdkc210 and nuri emulations and with exynos4210-smdkv310.dtb. Without the series, the emulation does not react to serial line input, and serial line output stalls when using DMA. With this series in place, serial line input is handled correctly, serial output does not stall, and DMA interrupts are observed and handled. v3: Increased number of or-irq-lines to 48 to support the full number of lines needed. Simplifications in handling UCON register when handling receive timeouts. Don't save timer state in VMSTATE. Added Reviewed-by: tags as received. v2: Addressed all feedback comments but one (see last patch of series). Please see individual patches for details.