Lines Matching defs:duart
381 static struct duart scn_duart[SCN_MAXDUART];
409 struct duart *dp;
609 struct duart *dp;
615 struct chan *ocp; /* other duart channel */
617 int c92; /* true if duart is sc26c92 */
762 struct duart *dp;
781 struct duart *dp;
802 struct duart *duart;
831 duart = sc->sc_duart = &scn_duart[duartno];
832 duart->chan[channel].sc = sc;
833 first = (duart->base == NULL);
844 /* Probe DUART type */
913 cpu_intr_establish(duartno, IPL_TTY, scnintr, duart);
918 duart->base = duart_base;
919 duart->type = scntype;
985 duart_base[DU_IMR] = duart->imr = 0;
988 duart_base[DU_OPCR] = duart->opcr = 0;
991 duart->mode = 0;
997 duart->chan[0].icode = duart->chan[0].ocode = 0x2f;
998 duart->chan[1].icode = duart->chan[1].ocode = 0x2f;
999 duart->chan[0].ispeed = duart->chan[0].ospeed = 0;
1000 duart->chan[1].ispeed = duart->chan[1].ospeed = 0;
1002 duart->acr = 0;
1003 duart->acr |= ACR_CT_TCLK1; /* timer mode 1x clk */
1007 duart->acr |= ACR_DELTA_DCDA; /* Set CD int */
1009 duart->acr |= ACR_DELTA_DCDB; /* Set CD int */
1017 duart_base[DU_ACR] = (duart->mode & ACR_BRG) | duart->acr;
1038 duart->imr |= INT_IP;
1302 struct duart *duart = arg;
1303 struct scn_softc *sc0 = duart->chan[0].sc;
1304 struct scn_softc *sc1 = duart->chan[1].sc;
1314 scnrxintr(duart);
1319 rs_stat = duart->base[DU_ISR];
1328 duart->imr &= ~sc0->sc_tx_int;
1329 duart->base[DU_IMR] = duart->imr;
1346 duart->imr &= ~sc1->sc_tx_int;
1347 duart->base[DU_IMR] = duart->imr;
1359 rs_ipcr = duart->base[DU_IPCR];
1448 struct duart *duart = arg;
1451 if (duart->chan[0].sc != NULL)
1452 work += scn_rxintr(duart->chan[0].sc);
1453 if (duart->chan[1].sc != NULL)
1454 work += scn_rxintr(duart->chan[1].sc);
1466 * Dave's original scheme was to use the DUART receiver timeout