User:Uli/Tests:SCIF-DMA

This document describes how to verify DMA enablement for (H)SCIF serial ports on Salvator-X boards.

Kernel Version and Configuration

 * arm64: defconfig

By default, serial port DMA is disabled. To test with DMA enabled: CONFIG_SERIAL_SH_SCI_DMA=y To test with DMA disabled (control):
 * 1) CONFIG_SERIAL_SH_SCI_DMA is not set

Salvator-X
(This setup is optional for simple DMA enablement verification.)


 * For testing transfers between SCIF3 and HSCIF3:
 * Connect SCIF3 TXD (EXIO Connect D pin 21) to HSCIF3 RXD (EXIO Connect D pin 28)
 * Connect SCIF3 RXD (EXIO Connect D pin 27) to HSCIF3 TXD (EXIO Connect D pin 30)

Salvator-X
SCIF3 and HSCIF3 are already enabled by r8a7796-salvator-x.dts in the renesas-drivers topic branch.

Set the HSCIF3 serial port to 4MBit/s:

sertest --master -s 4000000 /dev/ttySC3 [FIXME: There should be a less obscure way to do this...] End the sertest with Ctrl-\.

Check performance by writing 4MB of data to the serial port using dd:

time dd if=/dev/zero bs=4k count=1024 >/dev/ttySC3

Expected results:


 * With DMA disabled, the "sys" time should be between 0.020s and 0.032s.
 * With DMA enabled, the "sys" time should be between 0.012s and 0.016s.

Linux Kernel Source Tree

 * Git repository: git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git
 * Branch:
 * topic/r8a7796-dmac-v1 [TBD]

Test Software

 * https://github.com/geertu/sertest