Re: [PATCH v3 0/3] serial: mxs-auart: add DMA support for auart in mx28

Lauri Hintsala
2012-11-16T15:08:17Z

Hi Huang,

Thanks for new version. Now I don't get any errors and the CPU doesn't
freeze any more but:

1) AUART corrupts data with baudrate over 1Mbits/s

2) We would need DMA support without flow control.

By the way, how do you test drivers? Is there any standard tools for
uart data and throughput testing?

Lauri

On 11/16/2012 10:03 AM, Huang Shijie wrote:
> This patch set adds the DMA support for auart in mx28.
> patch 1:
> In mx23, the DMA has a bug(see errata:2836). We can not add the
> DMA support in mx23, but we can add DMA support to auart in mx28.
> So in order to add the DMA support for the auart in mx28, we should add
> the platform_device_id to distinguish the distinguish SOCs.
>
> patch 2: add the DMA support for mx28
> Only we meet the following conditions, we can enable the DMA support
> for auart:
> (1) We enable the DMA support in the dts file, such as
> arch/arm/boot/dts/imx28.dtsi.
> (2) We enable the hardware flow control.
> (3) We use the mx28, not the mx23. Due to hardware bug(see errata: 2836),
> we can not add the DMA support to mx23.
>
> patch 3: enable the DMA support in dts for mx28
> You can use the /ttyAPP0 to test this patch set.
> I tested this patch in mx28-evk board.
>
>
> To Lauri: Please try this patch set. thanks.
>
>
> v2 --> v3:
> [1] fix a multi-open issue found by Lauri.
>
> v1 --> v2:
> [1] use the inline function, not a macro, to distinguish the SOCs.
> [2] remove the "inline" for mxs_auart_tx_chars().
> [3] use the `pio`, not the `pio[1]` to fill the DMA descriptor.
> [4] use bit operation to serialize the DMA TX.
> [5] use the RX/TX DMA channel to enable the DMA support, remove the
> "fsl,auart-enable-dma".
>
> Huang Shijie (3):
> serial: mxs-auart: distinguish the different SOCs
> serial: mxs-auart: add the DMA support for mx28
> ARM: dts: enable dma support for auart0 in mx28
>
> .../bindings/tty/serial/fsl-mxs-auart.txt | 8 +
> arch/arm/boot/dts/imx28.dtsi | 1 +
> drivers/tty/serial/mxs-auart.c | 364 +++++++++++++++++++-
> 3 files changed, 362 insertions(+), 11 deletions(-)
>
>