Lines Matching defs:PortP
132 ** RIOParam is used to open or configure a port. You pass it a PortP,
135 ** of the tty struct inside the PortP, and the port is either opened
147 int RIOParam(struct Port *PortP, int cmd, int Modem, int SleepFlag)
162 TtyP = PortP->gs.port.tty;
164 rio_dprintk(RIO_DEBUG_PARAM, "RIOParam: Port:%d cmd:%d Modem:%d SleepFlag:%d Mapped: %d, tty=%p\n", PortP->PortNum, cmd, Modem, SleepFlag, PortP->Mapped, TtyP);
173 rio_spin_lock_irqsave(&PortP->portSem, flags);
186 while (!(res = can_add_transmit(&PacketP, PortP)) || (PortP->InUse != NOT_INUSE)) {
190 if (PortP->InUse != NOT_INUSE) {
199 rio_spin_unlock_irqrestore(&PortP->portSem, flags);
206 rio_spin_unlock_irqrestore(&PortP->portSem, flags);
207 retval = RIODelay(PortP, HUNDRED_MS);
208 rio_spin_lock_irqsave(&PortP->portSem, flags);
211 rio_spin_unlock_irqrestore(&PortP->portSem, flags);
215 if (PortP->State & RIO_DELETED) {
216 rio_spin_unlock_irqrestore(&PortP->portSem, flags);
223 rio_spin_unlock_irqrestore(&PortP->portSem, flags);
292 if (PortP->Config & RIO_IXON) {
300 if (PortP->Config & RIO_IXANY) {
388 if (PortP->MonitorTstate)
398 if (!(PortP->State & RIO_TRIAD_MODE)) {
405 if (PortP->CookMode == COOK_MEDIUM)
410 if (PortP->CookMode == COOK_MEDIUM)
415 if (PortP->CookMode == COOK_MEDIUM)
520 PortP->Cor2Copy = Cor2;
522 if (PortP->State & RIO_DELETED) {
523 rio_spin_unlock_irqrestore(&PortP->portSem, flags);
554 add_transmit(PortP);
558 if (PortP->statsGather)
559 PortP->txchars += 12;
561 rio_spin_unlock_irqrestore(&PortP->portSem, flags);
577 int can_add_transmit(struct PKT __iomem **PktP, struct Port *PortP)
581 *PktP = tp = (struct PKT __iomem *) RIO_PTR(PortP->Caddr, readw(PortP->TxAdd));
591 void add_transmit(struct Port *PortP)
593 if (readw(PortP->TxAdd) & PKT_IN_USE) {
596 writew(readw(PortP->TxAdd) | PKT_IN_USE, PortP->TxAdd);
597 PortP->TxAdd = (PortP->TxAdd == PortP->TxEnd) ? PortP->TxStart : PortP->TxAdd + 1;
598 writew(RIO_OFF(PortP->Caddr, PortP->TxAdd), &PortP->PhbP->tx_add);
644 int can_remove_receive(struct PKT __iomem **PktP, struct Port *PortP)
646 if (readw(PortP->RxRemove) & PKT_IN_USE) {
647 *PktP = (struct PKT __iomem *) RIO_PTR(PortP->Caddr, readw(PortP->RxRemove) & ~PKT_IN_USE);
658 void remove_receive(struct Port *PortP)
660 writew(readw(PortP->RxRemove) & ~PKT_IN_USE, PortP->RxRemove);
661 PortP->RxRemove = (PortP->RxRemove == PortP->RxEnd) ? PortP->RxStart : PortP->RxRemove + 1;
662 writew(RIO_OFF(PortP->Caddr, PortP->RxRemove), &PortP->PhbP->rx_remove);