Hi,
which is the correct sequence of operation servicing the doorbell interrupt, so to be sure to not lost any event?
I'm working on a bare metal application: no operating system, no TI SRIO driver from PDK, I use only the CSL_SRIO routines .
My handler is directly invoked by the CPU interrupt and:
CSL_SRIO_GetInterruptStatusDecode(hSrio, 16, &intStatus);
for(int i=0; i<4; ++i)
{
CSL_SRIO_GetDoorbellPendingInterrupt(hSrio, i, &evn->events[i]);
CSL_SRIO_ClearDoorbellPendingInterrupt(hSrio, i, evn->events[i]);
}
CSL_CPINTC_clearSysInterrupt(ci, 112);
CRITICAL: if a boorbell arrive between "CSL_SRIO_ClearDoorbellPendingInterrupt()" and " CSL_CPINTC_clearSysInterrupt()" can I lost interrupts?
Shall I move the CSL_CPINTC_clearSysInterrupt() before clearing the pending doorbell interrupts, maybe at the cost of a spurious interrupt?
Regards