hello
we have one SRIO doorbell interrupt and one timer interrupt. we set SRIO interrupt maskSetting to Hwi_MaskingOption_ALL. but it seems that our SRIO ISR is getting preempted by timer ISR.
we are using time64 of SYS/BIOS and for SRIO Doorbell we are using cpintc. here is function that perform interrupt activation for cpintc module (our SRIO):
int LinkingInterrupts(unsigned int sysInt, unsigned int hostInt, unsigned int cicId, int allMask, unsigned int coreDstIntId, CpIntc_FuncPtr fxn) { volatile int errCode = 1; int eventId; Hwi_Handle hwi0; Hwi_Params hwiParams; Hwi_Params_init(&hwiParams); CpIntc_dispatchPlug(sysInt, fxn, sysInt, TRUE); CpIntc_mapSysIntToHostInt(cicId,sysInt,hostInt); CpIntc_enableHostInt(cicId , hostInt); CpIntc_enableSysInt(cicId, sysInt); eventId = CpIntc_getEventId(hostInt); hwiParams.arg = hostInt; hwiParams.eventId = eventId; hwiParams.enableInt = TRUE; if(allMask) hwiParams.maskSetting = Hwi_MaskingOption_ALL; hwi0 = Hwi_create(coreDstIntId, CpIntc_dispatch, &hwiParams, NULL); if(hwi0 == NULL) { errCode = 1; } else { errCode = 0; } return errCode; }