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.

C6638 SRIO LSU Interrupt Not triggerd

Other Parts Discussed in Thread: SYSBIOS

Hi ,

I am using the TCI6638 Kepler 2 EVM to develop a SRIO driver using the DIO Operation.

With reference to the "SRIO_LpbkDioIsrK2KC66BiosExampleProject", i have configured my SRIO driver.

 

I am a testing a send/receive functionallity in loopback mode and configuring the LSU completion interrupt.

pSrioSocket->lsuIndex        = LSU_INDEX (gCoreId);

lsuInitParam.intrRequest     = TRUE; // Enabling the LSU completion interrupt

 

I am able to send/revice the data but the LSU TX interrupt is not received.

Below is the TX completion Interrupt configuration :-

void SRIO_configLSUTxInterrupts()

{  Hwi_Params params;  u32_t eventId;

    /* SRIO DIO Interrupts need to be routed from the CPINTC0 to GEM Event.     *  - We have configured DIO Interrupts to get routed to Interrupt Destination 0     *    (Refer to the CSL_SRIO_RouteLSUInterrupts API configuration in the SRIO Initialization)     *  - We want this System Interrupt to mapped to Host Interrupt 8 */

   /* Disable Interrupt Pacing for INTDST0 */    CSL_SRIO_DisableInterruptPacing (gSrioHandle, 0);

   /* Route LSU0 ICR0 to INTDST0 */    CSL_SRIO_RouteLSUInterrupts (gSrioHandle, 0, 0);

   /* Route LSU0 ICR1 to INTDST0 */    CSL_SRIO_RouteLSUInterrupts (gSrioHandle, 1, 0);

   /* Route LSU0 ICR2 to INTDST0 */    CSL_SRIO_RouteLSUInterrupts (gSrioHandle, 2, 0);

   /* Map the System Interrupt i.e. the Interrupt Destination 0 interrupt to the DIO ISR Handler. */    CpIntc_dispatchPlug(CSL_CIC0_SRIO_INTDST0, (CpIntc_FuncPtr)myDioTxCompletionIsr, (UArg)NULL, TRUE);

   /* The configuration is for CPINTC0. We map system interrupt 112 to Host Interrupt 8. */    CpIntc_mapSysIntToHostInt(0, CSL_CIC0_SRIO_INTDST0, 8);

   /* Enable the Host Interrupt. */    CpIntc_enableHostInt(0, 8);

   /* Enable the System Interrupt */    CpIntc_enableSysInt(0, CSL_CIC0_SRIO_INTDST0);

   /* Get the event id associated with the host interrupt. */    eventId = CpIntc_getEventId(8);

    /* Plug the CPINTC Dispatcher. */    EventCombiner_dispatchPlug (eventId, CpIntc_dispatch, 8, TRUE);

}

I have captured the Event registers with refence to the TCI C66x data sheet.(Sorry, I cant paste the screen shot), due security issues)

ADDRESS 32   bit Hex values
EVTFLAG[0:3] 0x01800000 0x00000004 0x00000000 0x00000400 0x00000000 0x00000400 0x00000000 0x00000400 0x00000000
EVTSET[0:3] 0x01800020 0x00000400 0x00000000 0x00000400 0x00000000 0x00000400 0x00000000 0x00000400 0x00000000
EVTCLR[0:3] 0x01800040 0x00000400 0x00000000 0x00000400 0x00000000 0x00000400 0x00000000 0x00000400 0x00000000
0x01800060 0x00000400 0x00000000 0x00000400 0x00000000 0x00000400 0x00000000 0x00000400 0x00000000
EVTMASK[0:3] 0x01800080 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFBFF 0xFFFFFFFF 0xFFFFFBFF 0xFFFFFFFF 0xFFFFFBFF 0xFFFFFFFF
MEVTFLAG[0:3] 0x018000A0 0x00000000 0x00000000 0x00000400 0x00000000 0x00000400 0x00000000 0x00000400 0x00000000
0x018000C0 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF
0x018000E0 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
INTMUX[1:3] 0x01800100 0x00000000 0x00060569 0x0B030201 0x0F400D0C 0x0B030201 0x0F400D0C 0x0B030201 0x0F400D0C
0x01800120 0x0B030201 0x0F400D0C 0x0B030201 0x0F400D0C 0x0B030201 0x0F400D0C 0x0B030201 0x0F400D0C
0x01800140 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504
0x01800160 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504
0x01800180 0x00000000 0x07060504 0x00000000 0x07060504 0x00000000 0x07060504 0x00000000 0x07060504
0x018001A0 0x00000000 0x07060504 0x00000000 0x07060504 0x00000000 0x07060504 0x00000000 0x07060504

Below is the ROV data :-

CpIntc

systemINT, hostID, FXN,arg,enabled
,112,8,myDioTxCompletionIsr,,true

 EventCombiner :-

EventID,   FXN, ARG
74,ti_sysbios_family_c66_tci66xx_CpIntc_dispatch__E,0x00000008

 HWI :-

Address,IntNum,FXN,Arg,Irp,EvenID,Disabalemask,EnableMask
,0x0082f090,,,7,ti_sysbios_family_c64p_EventCombiner_dispatch__F,0x00000000,0x00000000,0,0x80,0x80
,0x0082f0a8,,,8,ti_sysbios_family_c64p_EventCombiner_dispatch__F,0x00000001,0x00000000,1,0x100,0x100
,0x0082f0c0,,,9,ti_sysbios_family_c64p_EventCombiner_dispatch__F,0x00000002,0x00000000,2,0x200,0x200
,0x0082f0d8,,,10,ti_sysbios_family_c64p_EventCombiner_dispatch__F,0x00000003,0x00000000,3,0x400,0x400
,0x0082f0f0,0x0082f2b0,,14,ti_sysbios_knl_Clock_doTick__I,0x00000000,0x00000000,64,0x4000,0x4000

 

Regards, Manav