In my project the FPGA should send data to the FX3 through all for threads in GPIF-II module.
In order to configure this, I have been adding DMA channels one by one.
I attached the code.
As you can see I am creating two DMA channels.
One channel takes data from CY_U3P_PIB_SOCKET_0 (thread 0) and puts data to 0x82 endpoint (CY_U3P_UIB_SOCKET_CONS_2).
Next channel takes data from CY_U3P_PIB_SOCKET_1(thread 1) and puts data to 0x83 endpoint (CY_U3P_UIB_SOCKET_CONS_3).
The issue is whatever the channel that I create second fails with the return code 64(CY_U3P_ERROR_BAD_ARGUMENT).
I would like to know what is the invalid argument in above setting.
We found the issue, its how we set the socket,
dmaCfg.consHeader = CY_FX_EP_DATA_OUT1_SOCKET;
dmaCfg.consHeader = CY_FX_EP_DATA_OUT2_SOCKET;
The argument should be 'consSckId' not 'consHeader'.
Now the configuration API returns success.