• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/serial/

Lines Matching defs:dport

77 static inline unsigned short dz_in(struct dz_port *dport, unsigned offset)
80 (volatile unsigned short *) (dport->port.membase + offset);
85 static inline void dz_out(struct dz_port *dport, unsigned offset,
89 (volatile unsigned short *) (dport->port.membase + offset);
106 struct dz_port *dport = (struct dz_port *)uport;
107 unsigned short tmp, mask = 1 << dport->port.line;
110 spin_lock_irqsave(&dport->port.lock, flags);
111 tmp = dz_in(dport, DZ_TCR); /* read the TX flag */
113 dz_out(dport, DZ_TCR, tmp);
114 spin_unlock_irqrestore(&dport->port.lock, flags);
119 struct dz_port *dport = (struct dz_port *)uport;
120 unsigned short tmp, mask = 1 << dport->port.line;
123 spin_lock_irqsave(&dport->port.lock, flags);
124 tmp = dz_in(dport, DZ_TCR); /* read the TX flag */
126 dz_out(dport, DZ_TCR, tmp);
127 spin_unlock_irqrestore(&dport->port.lock, flags);
132 struct dz_port *dport = (struct dz_port *)uport;
135 spin_lock_irqsave(&dport->port.lock, flags);
136 dport->cflag &= ~DZ_CREAD;
137 dz_out(dport, DZ_LPR, dport->cflag | dport->port.line);
138 spin_unlock_irqrestore(&dport->port.lock, flags);
175 struct dz_port *dport;
184 dport = &dz_ports[LINE(status)];
185 tty = dport->port.info->tty; /* point to the proper dev */
189 icount = &dport->port.icount;
199 if (uart_handle_break(&dport->port))
201 if (dport->port.flags & UPF_SAK)
228 if (uart_handle_sysrq_char(&dport->port, ch))
231 if ((status & dport->port.ignore_status_mask) == 0) {
232 uart_insert_char(&dport->port,
251 struct dz_port *dport;
257 dport = &dz_ports[LINE(status)];
258 xmit = &dport->port.info->xmit;
260 if (dport->port.x_char) { /* XON/XOFF chars */
261 dz_out(dport, DZ_TDR, dport->port.x_char);
262 dport->port.icount.tx++;
263 dport->port.x_char = 0;
267 if (uart_circ_empty(xmit) || uart_tx_stopped(&dport->port)) {
268 dz_stop_tx(&dport->port);
278 dz_out(dport, DZ_TDR, tmp);
279 dport->port.icount.tx++;
282 uart_write_wakeup(&dport->port);
286 dz_stop_tx(&dport->port);
297 static inline void check_modem_status(struct dz_port *dport)
302 if (dport->port.line != DZ_MODEM)
305 status = dz_in(dport, DZ_MSR);
309 dport->port.icount.dsr++;
322 struct dz_port *dport = (struct dz_port *)dev;
326 status = dz_in(dport, DZ_CSR);
329 dz_receive_chars(dport);
332 dz_transmit_chars(dport);
345 struct dz_port *dport = (struct dz_port *)uport;
348 if (dport->port.line == DZ_MODEM) {
349 if (dz_in(dport, DZ_MSR) & DZ_MODEM_DSR)
358 struct dz_port *dport = (struct dz_port *)uport;
361 if (dport->port.line == DZ_MODEM) {
362 tmp = dz_in(dport, DZ_TCR);
367 dz_out(dport, DZ_TCR, tmp);
380 struct dz_port *dport = (struct dz_port *)uport;
384 spin_lock_irqsave(&dport->port.lock, flags);
387 tmp = dz_in(dport, DZ_CSR);
389 dz_out(dport, DZ_CSR, tmp);
391 spin_unlock_irqrestore(&dport->port.lock, flags);
423 struct dz_port *dport = (struct dz_port *)uport;
424 unsigned short tmp, mask = 1 << dport->port.line;
426 tmp = dz_in(dport, DZ_TCR);
434 struct dz_port *dport = (struct dz_port *)uport;
436 unsigned short tmp, mask = 1 << dport->port.line;
439 tmp = dz_in(dport, DZ_TCR);
444 dz_out(dport, DZ_TCR, tmp);
451 struct dz_port *dport = (struct dz_port *)uport;
455 cflag = dport->port.line;
531 spin_lock_irqsave(&dport->port.lock, flags);
533 dz_out(dport, DZ_LPR, cflag | dport->port.line);
534 dport->cflag = cflag;
537 dport->port.read_status_mask = DZ_OERR;
539 dport->port.read_status_mask |= DZ_FERR | DZ_PERR;
544 dport->port.ignore_status_mask |= DZ_FERR | DZ_PERR;
546 spin_unlock_irqrestore(&dport->port.lock, flags);
605 struct dz_port *dport;
619 for (i = 0, dport = dz_ports; i < DZ_NB_PORT; i++, dport++) {
620 spin_lock_init(&dport->port.lock);
621 dport->port.membase = (char *) base;
622 dport->port.iotype = UPIO_MEM;
623 dport->port.irq = dec_interrupt[DEC_IRQ_DZ11];
624 dport->port.line = i;
625 dport->port.fifosize = 1;
626 dport->port.ops = &dz_ops;
627 dport->port.flags = UPF_BOOT_AUTOCONF;
631 static void dz_reset(struct dz_port *dport)
633 dz_out(dport, DZ_CSR, DZ_CLR);
634 while (dz_in(dport, DZ_CSR) & DZ_CLR);
638 dz_out(dport, DZ_CSR, DZ_MSE);
658 struct dz_port *dport = (struct dz_port *)uport;
663 spin_lock_irqsave(&dport->port.lock, flags);
664 csr = dz_in(dport, DZ_CSR);
665 dz_out(dport, DZ_CSR, csr & ~DZ_TIE);
666 tcr = dz_in(dport, DZ_TCR);
667 tcr |= 1 << dport->port.line;
669 dz_out(dport, DZ_TCR, mask);
671 spin_unlock_irqrestore(&dport->port.lock, flags);
674 trdy = dz_in(dport, DZ_CSR);
678 if (trdy == dport->port.line)
681 dz_out(dport, DZ_TCR, mask);
687 dz_out(dport, DZ_TDR, ch);
689 dz_out(dport, DZ_TCR, tcr);
690 dz_out(dport, DZ_CSR, csr);
705 struct dz_port *dport = &dz_ports[co->index];
709 uart_console_write(&dport->port, str, count, dz_console_putchar);
714 struct dz_port *dport = &dz_ports[co->index];
723 dz_reset(dport);
725 return uart_set_options(&dport->port, co, baud, parity, bits, flow);