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.

How to transfer decoded video data over PCIe bus on DM8168 ?

Hi,

I am in the process of evaluating the DM8168 Soc. Our use case is to transfer decoded video frame data over PCIe bus to the host PC machine running windows or Linux. After reading all the documentation shipped with the latest SDK, I am still not clear how to do this on DM8168 evm. Could TI's support team shed some lights on this.

- I have noticed that there are detailed documentation on the usage of EDMA controller in other daVinci video processors silicons. But I didn't find any information about how to program EDMA3 hardware in DM8168. Are all the EDMA channles only for SOC chip internal use?  I assume there must be some channels left for end user to use. The only thing I could find is the TI81xx-PSP-EDMA-Driver-User-Guide (only 3 pages ), which didn't have any information regarding how to setup a dma channel in user space application.
 
- I have also noticed that TI has made some effort to support PCIe in the latest SDK and the EP mode support has been added. But all I read is that the EVM board in EP mode can be boot up over PCIe. Nothing mentioned about how to set up an DMA to do data transfer over PCIe port to another board.

- I understand that there is an HDVPSS on the silicon which take care of display job for decoded data. But our application need to push the decoded data to another machine for further processing. For testing purpose, we would like to use DM8168 evm as an end-point and another C6A8168 evm as the root-complex. I am wondering if TI's support team could provide any code example to demo the data transfer. The demo application in ../omx_05_01_01_80/packages/ti/omx/demos/decode already has a good start to let user intercept the decoded video data, the rest of thing is how to initiate the dma to transfter each frame data to another board over pcie bus.

Your help will be highly appreciated.

-Perry

  • Perry,

    Right now there is no example code available to perform EDMA transfers over PCIe as such (the PCIe boot driver which is part of examples in the release package has CPU copy to transfer data over PCIe from Root Complex to Endpoint).

    For now, please refer the sample EDMA test code form http://processors.wiki.ti.com/index.php/DM81xx_C6A81xx_AM38xx_EDMA_Driver_User_Guide. The code used for memory to memory transfer should work provided:

    1) PCIe configuration on RC and EP are set up for inbound and outbound correctly

    2) EDMA source or destination address are set up to target PCIe window - e.g., in case sending data from EP, source  = DDR address, destination = PCIe window (e.g., 0x20000000) after setting outbound configuration on EP.

    As for EDMA channel, you can use any available channel.

       Hemant