• 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:sport

69 static inline int serial_in(struct pnx8xxx_port *sport, int offset)
71 return (__raw_readl(sport->port.membase + offset));
74 static inline void serial_out(struct pnx8xxx_port *sport, int offset, int value)
76 __raw_writel(value, sport->port.membase + offset);
82 static void pnx8xxx_mctrl_check(struct pnx8xxx_port *sport)
86 status = sport->port.ops->get_mctrl(&sport->port);
87 changed = status ^ sport->old_status;
92 sport->old_status = status;
95 sport->port.icount.rng++;
97 sport->port.icount.dsr++;
99 uart_handle_dcd_change(&sport->port, status & TIOCM_CAR);
101 uart_handle_cts_change(&sport->port, status & TIOCM_CTS);
103 wake_up_interruptible(&sport->port.info->delta_msr_wait);
112 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)data;
115 if (sport->port.info) {
116 spin_lock_irqsave(&sport->port.lock, flags);
117 pnx8xxx_mctrl_check(sport);
118 spin_unlock_irqrestore(&sport->port.lock, flags);
120 mod_timer(&sport->timer, jiffies + MCTRL_TIMEOUT);
129 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
133 ien = serial_in(sport, PNX8XXX_IEN);
134 serial_out(sport, PNX8XXX_IEN, ien & ~PNX8XXX_UART_INT_ALLTX);
137 serial_out(sport, PNX8XXX_ICLR, PNX8XXX_UART_INT_ALLTX);
145 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
149 serial_out(sport, PNX8XXX_ICLR, PNX8XXX_UART_INT_ALLTX);
152 ien = serial_in(sport, PNX8XXX_IEN);
153 serial_out(sport, PNX8XXX_IEN, ien | PNX8XXX_UART_INT_ALLTX);
161 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
165 ien = serial_in(sport, PNX8XXX_IEN);
166 serial_out(sport, PNX8XXX_IEN, ien & ~PNX8XXX_UART_INT_ALLRX);
169 serial_out(sport, PNX8XXX_ICLR, PNX8XXX_UART_INT_ALLRX);
177 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
179 mod_timer(&sport->timer, jiffies);
182 static void pnx8xxx_rx_chars(struct pnx8xxx_port *sport)
184 struct tty_struct *tty = sport->port.info->tty;
187 status = FIFO_TO_SM(serial_in(sport, PNX8XXX_FIFO)) |
188 ISTAT_TO_SM(serial_in(sport, PNX8XXX_ISTAT));
190 ch = serial_in(sport, PNX8XXX_FIFO);
192 sport->port.icount.rx++;
204 sport->port.icount.parity++;
206 sport->port.icount.frame++;
208 sport->port.icount.overrun++;
210 status &= sport->port.read_status_mask;
218 sport->port.sysrq = 0;
222 if (uart_handle_sysrq_char(&sport->port, ch))
225 uart_insert_char(&sport->port, status,
229 serial_out(sport, PNX8XXX_LCR, serial_in(sport, PNX8XXX_LCR) |
231 status = FIFO_TO_SM(serial_in(sport, PNX8XXX_FIFO)) |
232 ISTAT_TO_SM(serial_in(sport, PNX8XXX_ISTAT));
237 static void pnx8xxx_tx_chars(struct pnx8xxx_port *sport)
239 struct circ_buf *xmit = &sport->port.info->xmit;
241 if (sport->port.x_char) {
242 serial_out(sport, PNX8XXX_FIFO, sport->port.x_char);
243 sport->port.icount.tx++;
244 sport->port.x_char = 0;
252 pnx8xxx_mctrl_check(sport);
254 if (uart_circ_empty(xmit) || uart_tx_stopped(&sport->port)) {
255 pnx8xxx_stop_tx(&sport->port);
262 while (((serial_in(sport, PNX8XXX_FIFO) &
264 serial_out(sport, PNX8XXX_FIFO, xmit->buf[xmit->tail]);
266 sport->port.icount.tx++;
272 uart_write_wakeup(&sport->port);
275 pnx8xxx_stop_tx(&sport->port);
280 struct pnx8xxx_port *sport = dev_id;
283 spin_lock(&sport->port.lock);
285 status = serial_in(sport, PNX8XXX_ISTAT) & serial_in(sport, PNX8XXX_IEN);
289 sport->port.icount.brk++;
290 uart_handle_break(&sport->port);
295 pnx8xxx_rx_chars(sport);
299 pnx8xxx_tx_chars(sport);
302 serial_out(sport, PNX8XXX_ICLR, status);
304 spin_unlock(&sport->port.lock);
313 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
315 return serial_in(sport, PNX8XXX_FIFO) & PNX8XXX_UART_FIFO_TXFIFO_STA ? 0 : TIOCSER_TEMT;
320 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
326 msr = serial_in(sport, PNX8XXX_MCR);
343 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
347 spin_lock_irqsave(&sport->port.lock, flags);
348 lcr = serial_in(sport, PNX8XXX_LCR);
353 serial_out(sport, PNX8XXX_LCR, lcr);
354 spin_unlock_irqrestore(&sport->port.lock, flags);
359 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
365 retval = request_irq(sport->port.irq, pnx8xxx_int, 0,
366 "pnx8xxx-uart", sport);
374 serial_out(sport, PNX8XXX_ICLR, PNX8XXX_UART_INT_ALLRX |
377 serial_out(sport, PNX8XXX_IEN, serial_in(sport, PNX8XXX_IEN) |
384 spin_lock_irq(&sport->port.lock);
385 pnx8xxx_enable_ms(&sport->port);
386 spin_unlock_irq(&sport->port.lock);
393 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
399 del_timer_sync(&sport->timer);
404 serial_out(sport, PNX8XXX_IEN, 0);
409 lcr = serial_in(sport, PNX8XXX_LCR);
412 serial_out(sport, PNX8XXX_LCR, lcr);
417 serial_out(sport, PNX8XXX_ICLR, PNX8XXX_UART_INT_ALLRX |
423 free_irq(sport->port.irq, sport);
430 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
464 spin_lock_irqsave(&sport->port.lock, flags);
466 sport->port.read_status_mask = ISTAT_TO_SM(PNX8XXX_UART_INT_RXOVRN) |
470 sport->port.read_status_mask |=
474 sport->port.read_status_mask |=
480 sport->port.ignore_status_mask = 0;
482 sport->port.ignore_status_mask |=
486 sport->port.ignore_status_mask |=
493 sport->port.ignore_status_mask |=
501 sport->port.ignore_status_mask |=
504 del_timer_sync(&sport->timer);
514 old_ien = serial_in(sport, PNX8XXX_IEN);
515 serial_out(sport, PNX8XXX_IEN, old_ien & ~(PNX8XXX_UART_INT_ALLTX |
518 while (serial_in(sport, PNX8XXX_FIFO) & PNX8XXX_UART_FIFO_TXFIFO_STA)
522 serial_out(sport, PNX8XXX_IEN, 0);
529 serial_out(sport, PNX8XXX_LCR, lcr_fcr);
533 serial_out(sport, PNX8XXX_BAUD, quot);
535 serial_out(sport, PNX8XXX_ICLR, -1);
537 serial_out(sport, PNX8XXX_IEN, old_ien);
539 if (UART_ENABLE_MS(&sport->port, termios->c_cflag))
540 pnx8xxx_enable_ms(&sport->port);
542 spin_unlock_irqrestore(&sport->port.lock, flags);
547 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
549 return sport->port.type == PORT_PNX8XXX ? "PNX8XXX" : NULL;
557 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
559 release_mem_region(sport->port.mapbase, UART_PORT_SIZE);
567 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
568 return request_mem_region(sport->port.mapbase, UART_PORT_SIZE,
577 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
580 pnx8xxx_request_port(&sport->port) == 0)
581 sport->port.type = PORT_PNX8XXX;
592 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
597 if (sport->port.irq != ser->irq)
601 if (sport->port.uartclk / 16 != ser->baud_base)
603 if ((void *)sport->port.mapbase != ser->iomem_base)
605 if (sport->port.iobase != ser->port)
658 struct pnx8xxx_port *sport = (struct pnx8xxx_port *)port;
663 status = serial_in(sport, PNX8XXX_FIFO);
665 serial_out(sport, PNX8XXX_FIFO, ch);
673 struct pnx8xxx_port *sport = &pnx8xxx_ports[co->index];
679 old_ien = serial_in(sport, PNX8XXX_IEN);
680 serial_out(sport, PNX8XXX_IEN, old_ien & ~(PNX8XXX_UART_INT_ALLTX |
683 uart_console_write(&sport->port, s, count, pnx8xxx_console_putchar);
691 status = serial_in(sport, PNX8XXX_FIFO);
695 serial_out(sport, PNX8XXX_ICLR, PNX8XXX_UART_INT_TX |
698 serial_out(sport, PNX8XXX_IEN, old_ien);
704 struct pnx8xxx_port *sport;
717 sport = &pnx8xxx_ports[co->index];
722 return uart_set_options(&sport->port, co, baud, parity, bits, flow);
761 struct pnx8xxx_port *sport = platform_get_drvdata(pdev);
763 return uart_suspend_port(&pnx8xxx_reg, &sport->port);
768 struct pnx8xxx_port *sport = platform_get_drvdata(pdev);
770 return uart_resume_port(&pnx8xxx_reg, &sport->port);
798 struct pnx8xxx_port *sport = platform_get_drvdata(pdev);
802 if (sport)
803 uart_remove_one_port(&pnx8xxx_reg, &sport->port);