Other Parts Discussed in Thread: AM5718
Hi,
IDK572, Linux SDK6.0.0.07
regarding software-dl.ti.com/.../Foundational_Components_IPC.html
"Overall Linux Memory Map" mentions that CMEM allocates memory here a0000000-abffffff : CMEM, defined in linux/arch/arm/boot/dts/am57xx-evm-cmem.dtsi
Later CMA Carveouts are mentioned
Memory Section | Physical Address | Size |
---|---|---|
IPU2 CMA | 0x95800000 | 56 MB |
DSP1 CMA | 0x99000000 | 64 MB |
IPU1 CMA | 0x9d000000 | 32 MB |
DSP2 CMA | 0x9f000000 | 8 MB |
Default CMA | 0xfe400000 | 24 MB |
They are defined in (e.g.) am572x-idk-common.dtsi
----------------
Question 1: How is CMEM related to CMA? CMEM allocated memory is disjoint to CMA carveouts.
Question 2: Are the CMA carveouts used for the IPC message queues?
Question 2: regarding the IPC example "ex02_messageq", ti/ipc_3_50_03_05/examples/DRA7XX_linux_elf/ex02_messageq/shared/config.bld
In the below structure, which his used for BOTH DSPs I see overlap with the CMA carveouts define above.
var evmDRA7XX_ExtMemMapDsp = {
EXT_CODE: {
name: "EXT_CODE",
base: 0x95000000,
len: 0x00100000,
space: "code",
access: "RWX"
},
EXT_DATA: {
name: "EXT_DATA",
base: 0x95100000,
len: 0x00100000,
space: "data",
access: "RW"
},
EXT_HEAP: {
name: "EXT_HEAP",
base: 0x95200000,
len: 0x00300000,
space: "data",
access: "RW"
},
TRACE_BUF: {
name: "TRACE_BUF",
base: 0x9F000000,
len: 0x00060000,
space: "data",
access: "RW"
},
EXC_DATA: {
name: "EXC_DATA",
base: 0x9F060000,
len: 0x00010000,
space: "data",
access: "RW"
},
PM_DATA: {
name: "PM_DATA",
base: 0x9F070000,
len: 0x00020000,
space: "data",
access: "RWX" /* should this have execute perm? */
},
};
Build.platformTable["ti.platforms.evmDRA7XX:dsp2"] =
Build.platformTable["ti.platforms.evmDRA7XX:dsp1"];
Question 3: in " http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_Foundational_Components.html#ipc" , 4.4.6.3. MessageQ Module I found
- Supports zero-copy transfers (BIOS only)
Does this suggest that in Linux, copying is involved?
Background is that we would like to offload decoding of specific Ethernet packets to a DSP. For this we need an efficient IPC mechanism.
BR, Chris