Lines Matching refs:irq
21 #include <asm/irq.h>
112 * the MFP. 'type' should be constant, if 'irq' is constant, too, code size is
115 static inline int get_mfp_bit( unsigned irq, int type )
119 mask = 1 << (irq & 7);
121 ((irq & 8) >> 2) + (((irq-8) & 16) << 3);
125 static inline void set_mfp_bit( unsigned irq, int type )
129 mask = 1 << (irq & 7);
131 ((irq & 8) >> 2) + (((irq-8) & 16) << 3);
136 static inline void clear_mfp_bit( unsigned irq, int type )
140 mask = ~(1 << (irq & 7));
142 ((irq & 8) >> 2) + (((irq-8) & 16) << 3);
157 static inline void atari_enable_irq( unsigned irq )
160 if (irq < STMFP_SOURCE_BASE || irq >= SCC_SOURCE_BASE) return;
161 set_mfp_bit( irq, MFP_MASK );
164 static inline void atari_disable_irq( unsigned irq )
167 if (irq < STMFP_SOURCE_BASE || irq >= SCC_SOURCE_BASE) return;
168 clear_mfp_bit( irq, MFP_MASK );
176 static inline void atari_turnon_irq( unsigned irq )
179 if (irq < STMFP_SOURCE_BASE || irq >= SCC_SOURCE_BASE) return;
180 set_mfp_bit( irq, MFP_ENABLE );
183 static inline void atari_turnoff_irq( unsigned irq )
186 if (irq < STMFP_SOURCE_BASE || irq >= SCC_SOURCE_BASE) return;
187 clear_mfp_bit( irq, MFP_ENABLE );
188 clear_mfp_bit( irq, MFP_PENDING );
191 static inline void atari_clear_pending_irq( unsigned irq )
194 if (irq < STMFP_SOURCE_BASE || irq >= SCC_SOURCE_BASE) return;
195 clear_mfp_bit( irq, MFP_PENDING );
198 static inline int atari_irq_pending( unsigned irq )
201 if (irq < STMFP_SOURCE_BASE || irq >= SCC_SOURCE_BASE) return( 0 );
202 return( get_mfp_bit( irq, MFP_PENDING ) );