Quantcast
Channel:
Viewing all articles
Browse latest Browse all 59170

Forum Post: 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 59170

Trending Articles