54: {
55: OutB(port, InB(port) & ~m);
56: }
58: {
59: OutB(port, InB(port) | m);
60: }
62: {
63: OutB(port, (InB(port) & ~m) | v);
64: }
159: for ( i = 0; i < FIFO_SIZE; ++i ) {
160: if ( (InB(SC_LSTS) & LS_TSRE) != 0 ) break;
161: tk_dly_tsk(100);
165: OutB(SC_LCTL, 0x00);
166: InB(SC_LSTS); /* Clear the "IS_LSTS" */
167: InB(SC_INTS); /* Clear the "IS_SND" */
168: InB(SC_MSTS); /* Clear the "IS_MSTS" */
169:
171: for ( i = 0; i < FIFO_SIZE; ++i ) {
172: InB(SC_DATA); /* Clear "IS_RCV IS_CTMO" */
173: }
177: OutB(SC_FCTL, fctl);
178: if ( (InB(SC_INTS) & IS_FIFO) == 0 ) {
179: fctl = 0; /* There is no FIFO */
196: /* Set/Disable the FIFO mode */
197: li->msts = InB(SC_MSTS); /* Initilize the modem status */
198:
232:
233: while( (InB(SC_INTS) & IS_PEND) == 0 ) {
234:
239: for ( cnt = 0; cnt < FIFO_SIZE; cnt++ ) {
240: lsts = InB(SC_LSTS);
241:
261: /* Read and discard the receive data */
262: InB(SC_DATA);
263: continue;
269: /* Fetch the receive data */
270: c = InB(SC_DATA);
271:
323: /* Send processing*/
324: li->msts = InB(SC_MSTS);
325:
461: /* Get the line status and the modem status */
462: lsts = InB(SC_LSTS);
463: li->msts = InB(SC_MSTS);
464:
687: first sent to cause the send interrupt */
688: if ((InB(SC_INTE) & IM_SND) == 0) send_1st_char(li, -1);
689: