Hi TI expert:
We developed an app which is similar as app_multi_cam in vision_apps. And it works fine in Linux SDK7.3 and Rtos SDK7.3.
Now we upgrade both Linux SDK and Rtos SDK to 8.5, DMA error happens as the following log.
MEM: Init ... !!!
MEM: Initialized DMA HEAP (fd=4) !!!
MEM: Init ... Done !!!
IPC: Init ... !!!
IPC: Init ... Done !!!
REMOTE_SERVICE: Init ... !!!
REMOTE_SERVICE: Init ... Done !!!
0.000000 s: GTC Frequency = 0 MHz
APP: Init ... Done !!!
0.000000 s: VX_ZONE_INIT:Enabled
0.000000 s: VX_ZONE_ERROR:Enabled
0.000000 s: VX_ZONE_WARNING:Enabled
0.000000 s: VX_ZONE_INIT:[tivxInitLocal:145] Initialization Done !!!
0.000000 s: VX_ZONE_INIT:[tivxHostInitLocal:93] Initialization Done for HOST !!
[App init info]CMS lanes number = 4 !
[App init info]CMS sensor number = 2 !
[App init info] Sensor init done!
[App init info -> Capture] captureObj->params.numDataLanes = 4
[App init info -> Capture] captureObj->params.dataLanesMap[0] = 1
[App init info -> Capture] captureObj->params.dataLanesMap[1] = 2
[App init info -> Capture] captureObj->params.dataLanesMap[2] = 3
[App init info -> Capture] captureObj->params.dataLanesMap[3] = 4
MEM: ERROR: /dev/dma-buf-phys open failed !!!
MEM: ERROR: memory alloc of size = 216 bytes, failed with status = -1 !!!
DDR_SHARED_MEM: Alloc's: 0 alloc's of 0 bytes
DDR_SHARED_MEM: Free's : 0 free's of 0 bytes
DDR_SHARED_MEM: Open's : 0 allocs of 0 bytes
DDR_SHARED_MEM: Total size: 536870912 bytes
MEM: ERROR: Failed to translate dmaBufFd [22]
I modify the 8.5 linux DMA driver dma-buf-phys.c as the 7.3 sdk does.
8.5sdk dma-buf-phys.c entry :
module_platform_driver(dma_buf_phys_driver);
replaced by the following code:
static int __init dma_buf_phys_init(void)
{
struct platform_device *pdev;
int ret;
ret = platform_driver_register(&dma_buf_phys_driver);
if (ret)
return ret;
pdev = platform_device_register_simple("dma_buf_phys", -1, NULL, 0);
return PTR_ERR_OR_ZERO(pdev);
}
device_initcall(dma_buf_phys_init);
After updating the above code , I compile a new linux kernel and run app again.
The /dev/dma-buf-phys open problem is solved. But mcu2_0 shows error and A72 vxVerifyGraph fail.
mcu2_0 error log:
Function:CpswProxyServer_filterAddMacHandlerCb,HostId:0,Handle:a381b204,CoreKey:38acb7e6, MacAddress:33:33:0:0:0:fb, vlanId:0, FlowIdx:172, FlowIdOffset:0
[MCU2_0] 16.982615 s: [UDMA]
[MCU2_0] 16.982682 s: [Error] RM PSI Pairing failed!!!
[MCU2_0] 16.982719 s: [UDMA]
[MCU2_0] 16.982739 s: [Error] UDMA channel paring failed!!
[MCU2_0] 16.982802 s: src/csirx_drvUdma.c @ Line 246:
[MCU2_0] 16.982836 s: [ERROR]UDMA channel open FAILED!!!
[MCU2_0] 16.982884 s: src/csirx_drv.c @ Line 1544:
[MCU2_0] 16.982914 s: [ERROR]UDMA channel close FAILED!!!
[MCU2_0] 16.982953 s: src/csirx_drv.c @ Line 1544:
[MCU2_0] 16.982982 s: [ERROR]UDMA channel close FAILED!!!
[MCU2_0] 16.983019 s: src/csirx_drv.c @ Line 402:
[MCU2_0] 16.983048 s: Create failed for given configuration
[MCU2_0] 16.983088 s: src/fvid2_drvMgr.c @ Line 759:
[MCU2_0] 16.983116 s: Driver create failed!!
[MCU2_0] 16.983161 s: VX_ZONE_ERROR:[tivxCaptureCreate:1206] : Capture Create Failed!!!
[MCU2_0] 17.268732 s: Q212x_reset: Q212x_reset phy2112 at hPhy1
[MCU2_0] 22.668676 s: Q212x_reset: Q212x_reset phy2112 at hPhy1
[MCU2_0] 28.068683 s: Q212x_reset: Q212x_reset phy2112 at hPhy1
[MCU2_0] 33.468749 s: Q212x_reset: Q212x_reset phy2112 at hPhy1
[MCU2_0] 38.868728 s: Q212x_reset: Q212x_reset phy2112 at hPhy1
[MCU2_0] 44.268676 s: Q212x_reset: Q212x_reset phy2112 at hPhy1
[MCU2_0] 49.668621 s: Q212x_reset: Q212x_reset phy2112 at hPhy1
[MCU2_0] 55.068689 s: Q212x_reset: Q212x_reset phy2112 at hPhy1[MCU2_0] 6.432616 s: &INF@ETH:CddEnet_SoCon_Open[163] Exit.
A72 error log:
Create Task info] App interactive task creating......
0.000000 s: VX_ZONE_ERROR:[ownContextSendCmd:802] Command ack message returned failure cmd_status: -1
0.000000 s: VX_ZONE_ERROR:[ownContextSendCmd:838] tivxEventWait() failed.
0.000000 s: VX_ZONE_ERROR:[ownNodeKernelInit:525] Target kernel, TIVX_CMD_NODE_CREATE failed for node graphicsDisplay_node
0.000000 s: VX_ZONE_ERROR:[ownNodeKernelInit:526] Please be sure the target callbacks have been registered for this core
0.000000 s: VX_ZONE_ERROR:[ownNodeKernelInit:527] If the target callbacks have been registered, please ensure no errors are occurring within the create callback of this kernel
0.000000 s: VX_ZONE_ERROR:[ownGraphNodeKernelInit:583] kernel init for node 0, kernel com.ti.hwa.display ... failed !!!
0.000000 s: VX_ZONE_ERROR:[vxVerifyGraph:2055] Node kernel init failed
0.000000 s: VX_ZONE_ERROR:[vxVerifyGraph:2109] Graph verify failed
Could you please help me to find the root cause?
Thank you very much!

