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.

DM8168: Pointer to the frame buffer addr[0][0] on slave processor (on DSP side)

Hello TI teams,

I have a problem with dvr_rdk for DM8168 when my algorithm runs on slave (DSP) processor.

DSP_ALG link connected to chain by DSP_IPC_FRAMES_IN link and recieves captured video - read from input video queue buffers list and start

process these buffers. I tried to print pointers to the frame buffers and received result which I can not explain:

 

[c6xdsp ] [CH00] pInFrame->addr[0][0] = 1200dc0  

[c6xdsp ] [CH01] pInFrame->addr[0][0] = 903c80  

[c6xdsp ] [CH05] pInFrame->addr[0][0] = 12018c0  

[c6xdsp ] [CH11] pInFrame->addr[0][0] = 1203440  

[c6xdsp ] [CH14] pInFrame->addr[0][0] = 2d00b00  

[c6xdsp ] [CH04] pInFrame->addr[0][0] = 9023c0  

[c6xdsp ] [CH06] pInFrame->addr[0][0] = 902680  

[c6xdsp ] [CH07] pInFrame->addr[0][0] = 1e60  

[c6xdsp ] [CH08] pInFrame->addr[0][0] = 2401b80  

[c6xdsp ] [CH09] pInFrame->addr[0][0] = 1b01080  

[c6xdsp ] [CH12] pInFrame->addr[0][0] = 24039c0 

[c6xdsp ] [CH13] pInFrame->addr[0][0] = 2400dc0

 [c6xdsp ] [CH15] pInFrame->addr[0][0] = 2403440  

[c6xdsp ] [CH00] pInFrame->addr[0][0] = 900000  

[c6xdsp ] [CH01] pInFrame->addr[0][0] = 903700  

[c6xdsp ] [CH02] pInFrame->addr[0][0] = 31a0  

[c6xdsp ] [CH03] pInFrame->addr[0][0] = 900dc0  

[c6xdsp ] [CH10] pInFrame->addr[0][0] = 1b01600  

[c6xdsp ] [CH05] pInFrame->addr[0][0] = 1201080  

[c6xdsp ] [CH11] pInFrame->addr[0][0] = 2403180  

[c6xdsp ] [CH14] pInFrame->addr[0][0] = 2d002c0  

[c6xdsp ] [CH02] pInFrame->addr[0][0] = 18e0  

[c6xdsp ] [CH03] pInFrame->addr[0][0] = 26a0  

[c6xdsp ] [CH04] pInFrame->addr[0][0] = 39e0  

[c6xdsp ] [CH06] pInFrame->addr[0][0] = 1202100

[c6xdsp ] [CH07] pInFrame->addr[0][0] = 1202940  

[c6xdsp ] [CH08] pInFrame->addr[0][0] = 24023c0  

[c6xdsp ] [CH09] pInFrame->addr[0][0] = 2401340

[c6xdsp ] [CH10] pInFrame->addr[0][0] = 1203700  

[c6xdsp ] [CH12] pInFrame->addr[0][0] = 2d00dc0  

[c6xdsp ] [CH13] pInFrame->addr[0][0] = 2d00580  

[c6xdsp ] [CH15] pInFrame->addr[0][0] = 2400b00  

[c6xdsp ] [CH00] pInFrame->addr[0][0] = 9039c0  

[c6xdsp ] [CH01] pInFrame->addr[0][0] = 903180  

[c6xdsp ] [CH05] pInFrame->addr[0][0] = 1200000  

[c6xdsp ] [CH14] pInFrame->addr[0][0] = 2401e40  

[c6xdsp ] [CH04] pInFrame->addr[0][0] = 901080  

[c6xdsp ] [CH06] pInFrame->addr[0][0] = 1202ec0  

[c6xdsp ] [CH07] pInFrame->addr[0][0] = 1202680  

[c6xdsp ] [CH08] pInFrame->addr[0][0] = 2d00000  

[c6xdsp ] [CH09] pInFrame->addr[0][0] = 1b00000  

[c6xdsp ] [CH11] pInFrame->addr[0][0] = 1b00580

[c6xdsp ] [CH12] pInFrame->addr[0][0] = 24002c0  

[c6xdsp ] [CH13] pInFrame->addr[0][0] = 1b002c0  

[c6xdsp ] [CH15] pInFrame->addr[0][0] = 1b02940

[c6xdsp ] [CH00] pInFrame->addr[0][0] = 1200b00  

[c6xdsp ] [CH01] pInFrame->addr[0][0] = 9018c0  

[c6xdsp ] [CH02] pInFrame->addr[0][0] = 902100  

[c6xdsp ] [CH03] pInFrame->addr[0][0] = 10a0  

[c6xdsp ] [CH05] pInFrame->addr[0][0] = 9002c0  

[c6xdsp ] [CH10] pInFrame->addr[0][0] = 12039c0  

[c6xdsp ] [CH14] pInFrame->addr[0][0] = 1b00840  

[c6xdsp ] [CH11] pInFrame->addr[0][0] = 2400000  

[c6xdsp ] [CH02] pInFrame->addr[0][0] = 902c00  

[c6xdsp ] [CH03] pInFrame->addr[0][0] = 12023c0  

[c6xdsp ] [CH04] pInFrame->addr[0][0] = 903440  

[c6xdsp ] [CH06] pInFrame->addr[0][0] = 3ca0  

[c6xdsp ] [CH07] pInFrame->addr[0][0] = 1ba0  

[c6xdsp ] [CH08] pInFrame->addr[0][0] = 1203180  

[c6xdsp ] [CH09] pInFrame->addr[0][0] = 2402680  

[c6xdsp ] [CH10] pInFrame->addr[0][0] = 1b023c0  

[c6xdsp ] [CH12] pInFrame->addr[0][0] = 2402940  

[c6xdsp ] [CH13] pInFrame->addr[0][0] = 1b03700  

[c6xdsp ] [CH15] pInFrame->addr[0][0] = 1b01340  

[c6xdsp ] [CH00] pInFrame->addr[0][0] = 1201340  

[c6xdsp ] [CH01] pInFrame->addr[0][0] = 900840

[c6xdsp ] [CH05] pInFrame->addr[0][0] = b20  

[c6xdsp ] [CH14] pInFrame->addr[0][0] = 2d02100  

[c6xdsp ] [CH04] pInFrame->addr[0][0] = 901b80  

[c6xdsp ] [CH06] pInFrame->addr[0][0] = 2120

[c6xdsp ] [CH07] pInFrame->addr[0][0] = 1200580  

[c6xdsp ] [CH08] pInFrame->addr[0][0] = 1b00b00  

[c6xdsp ] [CH09] pInFrame->addr[0][0] = 2d01b80  

[c6xdsp ] [CH11] pInFrame->addr[0][0] = 2402100  

[c6xdsp ] [CH12] pInFrame->addr[0][0] = 1b039c0

[c6xdsp ] [CH13] pInFrame->addr[0][0] = 1b01b80  

[c6xdsp ] [CH15] pInFrame->addr[0][0] = 24018c0  

[c6xdsp ] [CH00] pInFrame->addr[0][0] = 2960

[c6xdsp ] [CH01] pInFrame->addr[0][0] = de0  

[c6xdsp ] [CH02] pInFrame->addr[0][0] = 1201600  

[c6xdsp ] [CH03] pInFrame->addr[0][0] = 1360  

[c6xdsp ] [CH05] pInFrame->addr[0][0] = 20  

[c6xdsp ] [CH10] pInFrame->addr[0][0] = 2d01080

[c6xdsp ] [CH14] pInFrame->addr[0][0] = 2400840  

[c6xdsp ] [CH06] pInFrame->addr[0][0] = 900b00  

[c6xdsp ] [CH07] pInFrame->addr[0][0] = 1200dc0

[c6xdsp ] [CH11] pInFrame->addr[0][0] = 2401b80  

[c6xdsp ] [CH00] pInFrame->addr[0][0] = 903c80

[c6xdsp ] [CH01] pInFrame->addr[0][0] = 31a0  

[c6xdsp ] [CH02] pInFrame->addr[0][0] = 2ee0  

[c6xdsp ] [CH03] pInFrame->addr[0][0] = 9023c0  

etc...

 

I think instead of valid pointer to the frame buffer I recieves from MCFW (IPC link) "garbadge". I can't explain, how these adresses "correllate" with device memory map.

I think that DSP IPC FRAME IN link isn't properly fill FrameInfo structure.

 

Please help me resolve this problem. How I can get valid (real!) pointer to the frame buffer.

Regards!