/************ INLINE function for General command ***********/ INLINE void sis3803_int_detach(const DWORD base_adr, DWORD base_vect, int level) /**************************************************************\ Purpose: Unbook an ISR for a bitwise set of interrupt input (0xff). The interrupt vector is then the VECTOR_BASE+intnum Input: DWORD * base_addr : base address of the sis3803 DWORD base_vect : base vector of the module int level : IRQ level (1..7) Output: none Function value: none \**************************************************************/ { /* disable all IRQ sources */ /* Should be done but not in detach sis3803_int_source(base_adr , DISABLE_IRQ_DI_BS0 | DISABLE_IRQ_DI_BS1 | DISABLE_IRQ_DI_BS2); */ #ifdef OS_VXWORKS /* Suppose to save the default isr before attach but would * required isr table in case of multiple IRQ * for now restore with myStub() */ intConnect(INUM_TO_IVEC(base_vect), (VOIDFUNCPTR) myStub_sis3803, 0); sysIntDisable(level); /* interrupt level */ #else printf("vector : 0x%x\n", base_vect + intnum); #endif }
int adcItrpDisable(register ADC_ID pAdcId) /* ADC_ID pAdcId; ADC Object */ { if (pAdcId == NULL) return(ERROR); pAdcId->adcControl &= ~BIT_MASK(ADC_EN_ITRP); *ADC_REG(ADC_CR,pAdcId->adcBaseAddr) = pAdcId->adcControl; sysIntDisable(pAdcId->vmeItrLevel); }
/* * disable VME interrupt level */ static long vxDevDisableInterruptLevelVME (unsigned level) { # if CPU_FAMILY != I80X86 int s; s = sysIntDisable (level); if (s!=OK) { return S_dev_intDissFail; } return 0; # else return S_dev_intEnFail; # endif }
INLINE void vmeio_int_disable(const DWORD base_adr, int intnum) /**************************************************************\ Purpose: Disable the interrupt for the bitwise input intnum (0xff). The interrupt vector is then the VECTOR_BASE+intnum Input: DWORD * base_addr : base address of the VMEIO DWORD * intnum : interrupt number (input 0:7) Output: none Function value: none \**************************************************************/ { volatile DWORD *spec_adr; #ifdef OS_VXWORKS sysIntDisable(7); /* interrupt level 7 */ #endif spec_adr = (DWORD *) (A32D24 + base_adr) + (ENABLE_INT); *spec_adr = ~(intnum & 0xff); }