This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/TDA2EG-17: DSP1 Late attach failed

Part Number: TDA2EG-17

Tool/software: Linux

Dear experts,

I'm using TDA2EX-17x17 SoC, with VisionSDK 2.12.2. IPU2 & DSP1 are loaded by MLO, usecase runs correctly with 4 cams. But in Linux conosle, after run vision_sdk_linux.out, I got this:

root@dra7xx-evm:/opt/vision_sdk# ./vision_sdk_linux_demo.out 
 [HOST]  OSA: MEM: 0: Mapped 0x9fa00000 to 0xb69fa000 of size 0x00100000 
 [HOST]  OSA: MEM: 1: Mapped 0x84203000 to 0xa6ffa000 of size 0x0fa00000 
 [HOST]  OSA: MEM: 2: Mapped 0x9fb00000 to 0xa6f3a000 of size 0x00040000 
 [HOST]  OSA: MEM: 3: Mapped 0x9fbc0000 to 0xa6f7a000 of size 0x00080000 
 [HOST]  OSA: MEM: 4: Mapped 0x00000000 to 0x00000000 of size 0x00000000 
 [HOST]  OSA: HOST Remote Log Shared Memory @ 0x9fb4f140
 [HOST]  OSA: DSP1 Remote Log Shared Memory @ 0x9fb769e0
 [HOST]  OSA: IPU2 Remote Log Shared Memory @ 0x9fc63da0
 [HOST] [HOST  ]     52.083480 s:  SYSTEM: System A15 Init in proress !!!
 [HOST] [HOST  ]     52.083572 s:  SYSTEM: IPC: Init in progress !!!
 [HOST] [HOST  ]     52.083572 s:  SYSTEM: IPC: Notify init in progress !!!
 [HOST] [DSP1  ]      0.924205 s:  ***** DSP1 Firmware build time 22:20:51 Feb  1 2018
 [HOST] [DSP1  ]      0.924296 s:  *** SYSTEM: CPU Frequency <ORG = 600000000 Hz>, <NEW = 600000000 Hz>
 [HOST] [DSP1  ]      0.924510 s:  SYSTEM: System Common Init in progress !!!
 [HOST] [DSP1  ]      0.924693 s:  SYSTEM: IPC init in progress !!!
 [HOST] [DSP1  ]      0.924723 s:  SYSTEM: Attaching to [IPU2] ... 
 [HOST] [DSP1  ]      0.938723 s:  SYSTEM: Attaching to [IPU2] ... SUCCESS !!!
 [HOST] [DSP1  ]      0.938754 s:  SYSTEM: Notify register to [IPU2] line 0, event 15... 
 [HOST] [DSP1  ]      0.938815 s:  SYSTEM: Notify init done !!!
 [HOST] [DSP1  ]      0.938998 s:  SYSTEM: MsgQ init done !!!
 [HOST] [DSP1  ]      0.939059 s:  SYSTEM: IPC init DONE !!!
 [HOST] [DSP1  ]      0.940157 s:  SYSTEM: System Common Init Done !!!
 [HOST] [DSP1  ]      0.940187 s:  SYSTEM: System DSP Init in progress !!!
 [HOST] [DSP1  ]      0.941072 s:  SYSTEM: Initializing DSP Links !!! 
 [HOST] [DSP1  ]      0.941133 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1024 
 [HOST] [DSP1  ]      0.941133 s:  SYSTEM: Heap = LOCAL_L2             @ 0x00800000, Total size = 227264 B (221 KB),)
 [HOST] [DSP1  ]      0.941194 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 524288 B (512 KB),)
 [HOST] [DSP1  ]      0.957115 s:  SYSTEM: Initializing DSP Links ... DONE !!! 
 [HOST] [DSP1  ]      0.957146 s:  SYSTEM: System DSP Init Done !!!
 [HOST] [DSP1  ]      0.957207 s:  SYSTEM --- wait for calling IpcMgr_rpmsgStartup
 [HOST] [DSP1  ]      1.056518 s:  SYSTEM --- wait for calling IpcMgr_rpmsgStartup
 [HOST] [DSP1  ]      1.156530 s:  SYSTEM --- wait for calling IpcMgr_rpmsgStartup
 [HOST] [DSP1  ]      1.256511 s:  SYSTEM --- wait for calling IpcMgr_rpmsgStartup
 [HOST] [DSP1  ]      1.295522 s:  UTILS: XMC_MPU:  Segments used = 4
 [HOST] [DSP1  ]      1.295583 s:  SYSTEM: CACHE: L1P = 32 KB, L1D = 32 KB, L2 = 32 KB ... after boot !!!
 [HOST] [DSP1  ]      1.295613 s:  SYSTEM: CACHE: L1P = 32 KB, L1D = 32 KB, L2 = 32 KB ... after update by APP !!!
 [HOST] [DSP1  ]      1.356524 s:  SYSTEM --- start to call IpcMgr_rpmsgStartup
 [HOST] [DSP1  ]      2.832275 s:  IPC_IN_0   : Create in progress !!!
 [HOST] [DSP1  ]      2.832763 s:  IPC_IN_0   : Create Done !!!
 [HOST] [DSP1  ]      2.833038 s:  ALGORITHM: Create in progress (algId = 0) !!!
 [HOST] [DSP1  ]      2.874885 s:  ALGORITHM: Create Done (algId = 0) !!!
 [HOST] [DSP1  ]      2.875068 s:  IPC_OUT_0   : Create in progress !!!
 [HOST] [DSP1  ]      2.875190 s:  IPC_OUT_0   : Create Done !!!
 [HOST] [IPU2  ]      0.914414 s:  ***** IPU2 Firmware build time 22:22:07 Feb  1 2018
 [HOST] [IPU2  ]      0.914628 s:  *** SYSTEM: CPU Frequency <ORG = 212800000 Hz>, <NEW = 16393 Hz>
 [HOST] [IPU2  ]      0.925821 s:  SYSTEM: System Common Init in progress !!!
 [HOST] [IPU2  ]      0.936253 s:  SYSTEM: IPC init in progress !!!
 [HOST] [IPU2  ]      0.936344 s:  SYSTEM: Attaching to [DSP1] ... 
 [HOST] [IPU2  ]      0.938723 s:  SYSTEM: Attaching to [DSP1] ... SUCCESS !!!
 [HOST] [IPU2  ]      0.938815 s:  SYSTEM: Notify register to [DSP1] line 0, event 15... 
 [HOST] [IPU2  ]      0.938998 s:  SYSTEM: Notify init done !!!
 [HOST] [IPU2  ]      0.940706 s:  SYSTEM: MsgQ init done !!!
 [HOST] [IPU2  ]      0.941255 s:  SYSTEM: IPC init DONE !!!
 [HOST] [IPU2  ]      0.948087 s:  SYSTEM: System Common Init Done !!!
 [HOST] [IPU2  ]      0.948209 s:  SYSTEM: System Init in progress !!!
 [HOST] [IPU2  ]      0.948270 s:  SYSTEM: BSP Common Init in progress !!!
 [HOST] [IPU2  ]      0.948331 s:  SYSTEM: BSP Common Init Done !!!
 [HOST] [IPU2  ]      0.948392 s:  SYSTEM: BSP Platform Init in progress !!!
 [HOST] [IPU2  ]      0.948484 s:  SYSTEM: BSP Platform Init Done !!!
 [HOST] [IPU2  ]      0.948545 s:  SYSTEM: FVID2 Init in progress !!!
 [HOST] [IPU2  ]      0.948697 s:  SYSTEM: FVID2 Init Done !!!
 [HOST] [IPU2  ]      0.948758 s:  SYSTEM: VPS Init in progress !!!
 [HOST] [IPU2  ]      0.948819 s:  SYSTEM: VPDMA Descriptor Memory Address translation ENABLED [0xa0000000 -> 0x8000]
 [HOST] [IPU2  ]      0.951656 s: *** VPDMA Firmware Loading... ***
 [HOST] [IPU2  ]      0.951778 s: VPDMA Firmware Address = 0x9fc597c0
 [HOST] [IPU2  ]      0.951930 s: VPDMA Load Address     = 0x4897d004
 [HOST] [IPU2  ]      0.952022 s: VPDMA Firmware Version = 0x4d0001b8
 [HOST] [IPU2  ]      0.952113 s: VPDMA List Busy Status = 0x00000000
 [HOST] [IPU2  ]      0.952205 s: *** VPDMA Firmware Load Success ***
 [HOST] [IPU2  ]      0.952510 s: *** VPDMA Firmware Loading... ***
 [HOST] [IPU2  ]      0.952601 s: VPDMA Firmware Address = 0x9fc597c0
 [HOST] [IPU2  ]      0.952693 s: VPDMA Load Address     = 0x489dd004
 [HOST] [IPU2  ]      0.952815 s: VPDMA Firmware Version = 0x4d0001b8
 [HOST] [IPU2  ]      0.952906 s: VPDMA List Busy Status = 0x00000000
 [HOST] [IPU2  ]      0.952998 s: *** VPDMA Firmware Load Success ***
 [HOST] [IPU2  ]      0.987982 s:  SYSTEM: VPS Init Done !!!
 [HOST] [IPU2  ]      0.989721 s:  UTILS: DMA: HWI Create for INT25 !!!
 [HOST] [IPU2  ]      0.989965 s:  SYSTEM: Initializing Links !!! 
 [HOST] [IPU2  ]      1.174647 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1024 
 [HOST] [IPU2  ]      1.174769 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 262144 B (256 KB),)
 [HOST] [IPU2  ]      1.175013 s:  SYSTEM: Heap = SR_OCMC              @ 0x00000000, Total size = 0 B (0 KB), Free s)
 [HOST] [IPU2  ]      1.175166 s:  SYSTEM: Heap = SR_DDR_CACHED        @ 0x84203000, Total size = 262144000 B (250 M)
 [HOST] [IPU2  ]      1.175349 s:  SYSTEM: Heap = SR_DDR_NON_CACHED    @ 0xbfa00000, Total size = 1047040 B (0 MB), )
 [HOST] [IPU2  ]      1.200725 s:  SYSTEM --- wait for calling IpcMgr_rpmsgStartup
 [HOST] [IPU2  ]      1.292258 s:  SYSTEM: Initializing Links ... DONE !!! 
 [HOST] [IPU2  ]      1.295644 s:  CHAINS: Application Started !!!
 [HOST] [IPU2  ]      1.308607 s:  BOARD: Board Init in progress !!!
 [HOST] [IPU2  ]      1.308759 s:  SYSTEM --- wait for calling IpcMgr_rpmsgStartup
 [HOST] [IPU2  ]      1.407887 s:  SYSTEM --- wait for calling IpcMgr_rpmsgStartup
 [HOST] [IPU2  ]      1.507899 s:  SYSTEM --- wait for calling IpcMgr_rpmsgStartup
 [HOST] [IPU2  ]      1.607881 s:  SYSTEM --- wait for calling IpcMgr_rpmsgStartup
 [HOST] [IPU2  ]      1.707893 s:  SYSTEM --- wait for calling IpcMgr_rpmsgStartup
 [HOST] [IPU2  ]      1.809064 s:  SYSTEM --- wait for calling IpcMgr_rpmsgStartup
 [HOST] [IPU2  ]      1.818398 s:  BOARD: Board Init Done !!!
 [HOST] [IPU2  ]      1.818489 s:  
 [HOST] [IPU2  ]      1.854938 s:  ISSCAPTURE: Create in progress !!!
 [HOST] [IPU2  ]      2.362227 s:  ISSCAPTURE: Create Done !!!
 [HOST] [IPU2  ]      2.362563 s:  VPE: Create in progress !!!
 [HOST] [IPU2  ]      2.830262 s:  VPE: Loading Down-scaling Co-effs
 [HOST] [IPU2  ]      2.830567 s:  VPE: Co-effs Loading ... DONE !!!
 [HOST] [IPU2  ]      2.830811 s:  VPE: Create Done !!!
 [HOST] [IPU2  ]      2.831543 s:  IPC_OUT_0   : Create in progress !!!
 [HOST] [IPU2  ]      2.831970 s:  IPC_OUT_0   : Create Done !!!
 [HOST] [IPU2  ]      2.832214 s:  SYSTEM --- wait for calling IpcMgr_rpmsgStartup
 [HOST] [IPU2  ]      2.875343 s:  IPC_IN_0   : Create in progress !!!
 [HOST] [IPU2  ]      2.876471 s:  IPC_IN_0   : Create Done !!!
 [HOST] [IPU2  ]      2.876685 s:  DISPLAY: Create in progress !!!
 [HOST] [IPU2  ]      2.877478 s:  DISPLAY: Create Done !!!
 [HOST] [IPU2  ]      2.877661 s:  DISPLAY: Start in progress !!!
 [HOST] [IPU2  ]      2.877722 s:  DISPLAY: Start Done !!!
 [HOST] [IPU2  ]      2.878606 s:  ISSCAPTURE: Start in progress !!!
 [HOST] [IPU2  ]      2.878972 s:  ISSCAPTURE: Start Done !!!
 [HOST] [IPU2  ]      2.931922 s:  SYSTEM --- start to call IpcMgr_rpmsgStartup
 [HOST] [IPU2  ]      5.930000 s:  NETWORK_CTRL: Starting Server (port=29170) !!!
 [HOST] [IPU2  ]      5.930366 s:  NETWORK_CTRL: Starting Server ... DONE (port=29170) !!!
 [HOST] [IPU2  ]     20.155188 s:  SYSTEM --- end of call IpcMgr_rpmsgStartup
 [HOST] [IPU2  ]     20.155279 s:  SYSTEM --- start to call System_rpmsgInit
 [HOST] [IPU2  ]     20.157933 s:  SYSTEM --- end of call System_rpmsgInit
 ASSERT (system_ipc.c|System_ipcInit|64)
 [HOST] [HOST  ]     52.096352 s:  SYSTEM: IPC: [IPU2] socket bind success !!! (dst vproc = 1, endpt = 81)
 [HOST] [HOST  ]     52.096382 s:  SYSTEM: IPC: [IPU2] socket info (family = 41, dst proc id = -1, endpt = 81) !!!
 [HOST] [HOST  ]     52.096413 s:  SYSTEM: IPC: [IPU2] socket connect success !!! (dst vproc = 1, endpt = 80)
 [HOST] [HOST  ]     52.096413 s:  SYSTEM: IPC: [IPU2] socket info (family = 41, dst proc id = -1, endpt = 1024) !!!
 [HOST] [HOST  ]     52.096474 s:  SYSTEM: IPC: [DSP1] socket bind failed (Invalid argument, 22) !!!
 [HOST] [HOST  ]     52.096474 s:  SYSTEM: IPC: [DSP1] Notify RX channel create failed (endpoint = 81) !!!

Then I checked /sys/kernel/debug/remoteproc/remoteproc2/trace0:

root@dra7xx-evm:/sys/kernel/debug/remoteproc/remoteproc2# cat *
40800000.dsp
enabled
running (2)
[      0.000] 25 Resource entries at 0x96000000
[      0.432] [t=0x0083fa1c] ti.ipc.family.vayu.VirtQueue: vring: 0 0x9f900000 (0x3000)
[      0.432] 
[      0.432] [t=0x008402c5] ti.ipc.family.vayu.VirtQueue: vring: 1 0x9f904000 (0x3000)
[      0.432] 
[      0.432] [t=0x00840964] ti.ipc.family.vayu.VirtQueue: VirtQueue_startup: VDEV status: 0x0
[      0.432] 
[      0.432] [t=0x00840fa3] ti.ipc.family.vayu.VirtQueue: VirtQueue_startup: Polling VDEV status...
[      0.432] 

DSP1 is blocked in IpcMgr_rpmsgStartup and never get out, while IPU2 can get out when .out runs. DSP1 & IPU2 share the same code:

void System_ipcConnecttoHLOS(void)
{
#ifdef A15_TARGET_OS_LINUX
	unsigned int state;
	UInt32 selfProcId = System_getSelfProcId();
	while (1)
	{
		RemoteLog_getAppInitState(selfProcId, &state);
		if (state != CORE_APP_INITSTATUS_CONFIRM_INIT_DONE)
		{
			Vps_printf(" SYSTEM --- wait for calling IpcMgr_rpmsgStartup\n");
			BspOsal_sleep(100);
		}
		else
		{
			Vps_printf(" SYSTEM --- start to call IpcMgr_rpmsgStartup\n");
			break;
		}
	}
	IpcMgr_rpmsgStartup();
    Vps_printf(" SYSTEM --- end of call IpcMgr_rpmsgStartup\n");
	Vps_printf(" SYSTEM --- start to call System_rpmsgInit\n");
	#ifndef BUILD_ARP32
	System_rpmsgInit();
    Vps_printf(" SYSTEM --- end of call System_rpmsgInit\n");
	#endif
#endif

}

I'm not sure why DSP1 is block at this line, and what does the trace0 mean. And which register should I dive into?

Thanks & Best Regards!

ZM