We are using 'wait-on-read' functionality of GPMC to communicate with external FPGA . We have enabled the time-out feature of the GPMC to prevent the system from hanging if FPGA becomes unresponsive. When we use ARM MPU to read over GPMC, a timeout generates a segfault. However, when we use eDMA to read a buffer of data over GPMC and time-out occurs, the eDMA transaction completes like normal, and the read buffer is filled with '0'. The "edma_error" interrupt does not fire, and there does not seem to be any other indication of the error having occurred. We are looking for a way to detect the GPMC time-out while using eDMA.
Any ideas?
Thanks.
P.S. Platform is AM335. Linux OS version 3.8.13. Using GPMC and eDMA drivers bundled with the OS