Quantcast
Channel: Forum - Recent Threads
Viewing all articles
Browse latest Browse all 1583

RZ/A1H, Linux, SCIF and DMA

$
0
0

Hello.

I'm using RZ/A1H (R7S721000) chip under Linux.

In my project I need several SCIF ports to operate in fast bitrates, but encountered massive overruns.

In 1Mbps speed overruns happens every 16-32 bytes (one or two FIFO fills), and even in 38400bps - several times in a minute.

I'm using linux kernel 3.14 (from https://github.com/renesas-rz), executing in XiP mode from a single 4-bit SPI flash.

I think running from SPI flash is too slow to support fast SCIF speeds without DMA (especially because cache is not helpful in such a scenario).

There is some DMA support in drivers/tty/serial/sh-sci.c, and I've tried to enable it by setting .dma_slave_[tr]x fields in platform data for the port (and, of course, defining appropriate channels and such), but it does not work (many DMA-related error messages in dmesg and seriously garbled data was read).

Latest kernels (4.4+ from renesas-drivers) contains many changes to dmaengine and sh-sci.c, but I cannot use it because no rza1dma.c driver for it exists, as I know. And I have no sufficient experience to backport these changes to 3.14 nor to forward port my board support.

Anybody have a suggestions? Is it worth the efforts to port all the stuff to 4.x, or there are easier way?


Viewing all articles
Browse latest Browse all 1583

Trending Articles