[PATCH v3 0/8] Fix Exynos4210 DMA support

Guenter Roeck posted 8 patches 4 years, 3 months ago
Test FreeBSD passed
Test docker-mingw@fedora passed
Test checkpatch passed
Test docker-quick@centos7 passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200123052540.6132-1-linux@roeck-us.net
Maintainers: "Marc-André Lureau" <marcandre.lureau@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, Igor Mitsyanko <i.mitsyanko@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>
[PATCH v3 0/8] Fix Exynos4210 DMA support
Posted by Guenter Roeck 4 years, 3 months ago
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.

Re: [PATCH v3 0/8] Fix Exynos4210 DMA support
Posted by Peter Maydell 4 years, 3 months ago
On Thu, 23 Jan 2020 at 05:25, Guenter Roeck <linux@roeck-us.net> wrote:
>
> 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.

Applied to target-arm.next, thanks.

-- PMM

Re: [PATCH v3 0/8] Fix Exynos4210 DMA support
Posted by Guenter Roeck 4 years, 3 months ago
On Thu, Jan 23, 2020 at 03:20:48PM +0000, Peter Maydell wrote:
> On Thu, 23 Jan 2020 at 05:25, Guenter Roeck <linux@roeck-us.net> wrote:
> >
> > 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.
> 
> Applied to target-arm.next, thanks.
> 
Thanks a lot for your help!

Guenter