184:
185: out_w(r->IT0_IDS, m); /* disable interrupt */
186: out_w(r->IT0_IDSS, m); /* disassert interrupt pin */
187: if ( (mode & IM_ENA) == 0 ) return;
188:
189: if ( (mode & IM_INV) == 0 ) out_w(r->IT_PINV_CLR, m);
190: else out_w(r->IT_PINV_SET, m);
191:
192: out_w(r->IT0_IENS, m); /* assert interrupt pin */
193: } else {
199: _DI(imask);
200: out_w(GIO_IDS(gb), m); /* disable interrupt */
201: out_w(GIO_IIA(gb), in_w(GIO_IIA(gb)) & ~m); /* disassert interrupt pin */
202: _EI(imask);
209: _DI(imask);
210: out_w(GIO_IDT(n, gb), (in_w(GIO_IDT(n, gb)) & ~mm) | mv);
211: out_w(GIO_IIA(gb), in_w(GIO_IIA(gb)) | m); /* assert interrupt pin */
212: _EI(imask);
226: const struct aint_reg *r = AINT + AINTNO(intvec);
227: out_w(r->IT0_IEN, m);
228: } else {
230: UINT gb = GIOB[GIONO(intvec)];
231: out_w(GIO_IEN(gb), m);
232: }
245: const struct aint_reg *r = AINT + AINTNO(intvec);
246: out_w(r->IT0_IDS, m);
247: } else {
249: UINT gb = GIOB[GIONO(intvec)];
250: out_w(GIO_IDS(gb), m);
251: }
267: /* IRQ 32--63 */
268: out_w(IT0_IIR, m);
269:
275: UINT gb = GIOB[GIONO(intvec)];
276: out_w(GIO_IIR(gb), m);
277: }