Part Number:AM5728
Tool/software: TI-RTOS
Hi,
I'm using a custom board and in this the DSP (RC) is connected to the FPGA (EP) over PCIe(EDMA enabled for both Tx and Rx).
We've a debug mode in which we configure the FPGA to push ADC samples (640 Bytes) directly to DSP at an interval of ~208us, the DSP will then packetize these samples and pushes it to samples to ARM over IPC to be logged. We profiled the time taken for the DSP from when a packet is received to packetize and push these packets to ARM was ~95-100 us. Initially it was working fine and as the code base/ features grew we started to see that there were discontinuities and junk data being received at times. We then enabled that the L2 cache using the api given below and found the ADC capture to be working fine again.
"CACHE_setL2Size(CACHE_64KCACHE);"
But, most of the times it was seen that as soon as the DSP receives the very first packet we get the following MMU exception.
[ 108.767766] omap-iommu 40d01000.mmu: iommu fault: da 0xe94172f0 flags 0x0
[ 108.776981] remoteproc0: crash detected in 40800000.dsp: type mmufault
[ 108.783633] omap-iommu 40d01000.mmu: 40d01000.mmu: errs:0x00000002 da:0xe94172f0 pgd:0xdf3e3a50 *pgd:px00000000
[ 108.793883] remoteproc0: handling crash #1 in 40800000.dsp
[ 108.799622] remoteproc0: recovering 40800000.dsp
[ 108.833221] omap_hwmod: mmu1_dsp1: _wait_target_disable failed
[ 108.846141] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[ 108.852150] remoteproc0: stopped remote processor 40800000.dsp
[ 108.876697] remoteproc0: powering up 40800000.dsp
[ 108.881541] remoteproc0: Booting fw image dra7-dsp1-fw.xe66, size 9937968
Could you please help me out in debugging this issue.
SYS BIOS Version : bios_6_52_00_12
PDK Version : pdk_am57xx_1_0_7
IPC Version : ipc_3_47_00_00