Other Parts Discussed in Thread: SYSBIOS,
Tool/software: Linux
Hi.
we compled that DSP(c66x) send heap copying shared memoy(CMEM) of linux to McASP.
we knew that EDMA send heap memory to McASP above process.
but, When we run video decoding, deinterlace, GPU(vivante, SGX), EDMA have problem.
I knew that Sillicon Errat say "i868 — McASP to EDMA Synchronization Level Event Can Be Lost.".
and then, we try to modify from heap memory to L2SRAM of DSP. but we have run time error.
DSP.cfg
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
var l2sramheapMemParams = new HeapMem.Params;
l2sramheapMemParams.size = 2560;
l2sramheapMemParams.sectionName = "L2SRAM"
Program.global.myHeap = HeapMem.create(l2sramheapMemParams);
audioSample_io.c
static Void prime(void)
{
#define L2SRAM_SUPPORT
IHeap_Handle iheap;
...
#ifdef L2SRAM_SUPPORT
iheap = HeapMem_Handle_to_xdc_runtime_IHeap(myHeap);
#else
iheap = NULL; /* default heap */
#endif
...
rxbuf[count] = Memory_calloc(iheap, rx_frame_size,BUFALIGN, &eb);
....
/* rxbuf[0] addr(@00800000) rxbuf[1] addr(@00800200) */
Log_info2(" rxbuf[%d] addr(%p) \n", count, rxbuf[count] );
...
status = mcaspSubmitChan(hMcaspRxChan, &(rxFrame[count]));
}
ti-processor-sdk-rtos\ipc_3_46_00_02\packages\ti\ipc\remoteproc\rsc_table_vayu_dsp.h
...
struct my_resource_table ti_ipc_remoteproc_ResourceTable = {
....
{
TYPE_DEVMEM,
DSP_PERIPHERAL_L2SRAM, L3_PERIPHERAL_L2SRAM,
L2SRAM_SIZE, 0, 0, "DSP_L2SRAM",
},
};
1. we find ** 2761 printk messages dropped ** [ 10.377149] 44000000.ocp:L3 Standard Error: MASTER DSP1_DMA TARGET GPMC (Read): At Address: 0x40800308 : Data Access in Supervisor mode during Functional access */
as follwing below.
#define DSP_PERIPHERAL_L2SRAM 0x40800000
#define L3_PERIPHERAL_L2SRAM 0x40800000
#define L2SRAM_SIZE 0x40000
2. we find omap-iommu 40d01000.mmu: iommu fault: da 0x408001c0 flags 0x0
#define DSP_PERIPHERAL_L2SRAM 0x800000
#define L3_PERIPHERAL_L2SRAM 0x40800000
#define L2SRAM_SIZE 0x40000
2. we find omap-iommu 40d01000.mmu: iommu fault: da 0x408001c0 flags 0x0
#define DSP_PERIPHERAL_L2SRAM 0x800000
#define L3_PERIPHERAL_L2SRAM 0x800000
#define L2SRAM_SIZE 0x40000
How do i EDMA use L2SRAM of DSP(c66x) ?
Thanks a lot.