hi,all:
i want to generate the srio dio Tx Completion Isr in my route,but it can't. Please find out where is the fault :
1、i use CSL_SRIO_SetDoorbellRoute(hSrio, 1) to map the doorbell interrupt to INTDST16, LSU interrupt => INTDST0-15;
2、 CSL_SRIO_RouteLSUInterrupts (gtSrioDioOperaInfo.hSrioCsl, 0, 0); /* Route LSU0 ICR0 to INTDST0*/
CpIntc_dispatchPlug(CSL_INTC0_INTDST0, (CpIntc_FuncPtr)myDioTxCompletionIsr, (UArg)pDrvSrioHandle, TRUE);
CpIntc_mapSysIntToHostInt(0, CSL_INTC0_INTDST0, 8); /* The configuration is for CPINTC0. We map system interrupt to Host Interrupt 8. */
CpIntc_enableHostInt(0, 8); /* Enable the Host Interrupt. */
CpIntc_enableSysInt(0, CSL_INTC0_INTDST0); /* Enable the System Interrupt */
swEventId = CpIntc_getEventId(8); /* Get the event id associated with the host interrupt. */
EventCombiner_dispatchPlug (swEventId, CpIntc_dispatch, 8 TRUE);
3、use Srio_sockOpen()(blocked = false)、Srio_sockBind_DIO()(bindInfo.dio.intrRequest = 1) and Srio_sockSend_DIO() (NWRITE_R)to send data to the other srio device(C6678),but it did not generate the dio conpletion interrupt.
i am sure that Srio_sockSend_DIO() has already sent the data to the other C6678 successfully. Also i see the register LSU0_ICSR, its value is 0x0001.
can you give some ideas?
thanks a lot, qbliu.