Lines Matching refs:uart

132  * @uart: The UART port
136 static inline void men_z135_reg_set(struct men_z135_port *uart,
139 struct uart_port *port = &uart->port;
143 spin_lock_irqsave(&uart->lock, flags);
149 spin_unlock_irqrestore(&uart->lock, flags);
154 * @uart: The UART port
158 static void men_z135_reg_clr(struct men_z135_port *uart,
161 struct uart_port *port = &uart->port;
165 spin_lock_irqsave(&uart->lock, flags);
171 spin_unlock_irqrestore(&uart->lock, flags);
176 * @uart: The UART port
181 static void men_z135_handle_modem_status(struct men_z135_port *uart)
185 msr = (uart->stat_reg >> 8) & 0xff;
188 uart_handle_dcd_change(&uart->port,
191 uart_handle_cts_change(&uart->port,
195 static void men_z135_handle_lsr(struct men_z135_port *uart)
197 struct uart_port *port = &uart->port;
200 lsr = (uart->stat_reg >> 16) & 0xff;
216 * @uart: The UART port
220 static u16 get_rx_fifo_content(struct men_z135_port *uart)
222 struct uart_port *port = &uart->port;
239 * @uart: Pointer to struct men_z135_port
243 static void men_z135_handle_rx(struct men_z135_port *uart)
245 struct uart_port *port = &uart->port;
251 size = get_rx_fifo_content(uart);
264 dev_warn(&uart->mdev->dev,
271 memcpy_fromio(uart->rxbuf, port->membase + MEN_Z135_RX_RAM, room);
276 copied = tty_insert_flip_string(tport, uart->rxbuf, room);
278 dev_warn(&uart->mdev->dev,
290 * @uart: Pointer to struct men_z135_port
293 static void men_z135_handle_tx(struct men_z135_port *uart)
295 struct uart_port *port = &uart->port;
329 dev_err(&uart->mdev->dev,
366 men_z135_reg_set(uart, MEN_Z135_CONF_REG, MEN_Z135_IER_TXCIEN);
368 men_z135_reg_clr(uart, MEN_Z135_CONF_REG, MEN_Z135_IER_TXCIEN);
387 struct men_z135_port *uart = (struct men_z135_port *)data;
388 struct uart_port *port = &uart->port;
392 uart->stat_reg = ioread32(port->membase + MEN_Z135_STAT_REG);
393 irq_id = IRQ_ID(uart->stat_reg);
403 men_z135_handle_lsr(uart);
409 dev_dbg(&uart->mdev->dev, "Character Timeout Indication\n");
410 men_z135_handle_rx(uart);
415 men_z135_handle_tx(uart);
420 men_z135_handle_modem_status(uart);
431 * @uart: z135 private uart port structure
436 static int men_z135_request_irq(struct men_z135_port *uart)
438 struct device *dev = &uart->mdev->dev;
439 struct uart_port *port = &uart->port;
443 "men_z135_intr", uart);
549 struct men_z135_port *uart = to_men_z135(port);
551 men_z135_reg_clr(uart, MEN_Z135_CONF_REG, MEN_Z135_IER_TXCIEN);
562 struct men_z135_port *uart = to_men_z135(port);
564 men_z135_reg_clr(uart, MEN_Z135_CONF_REG, MEN_Z135_IER_MSIEN);
576 struct men_z135_port *uart = to_men_z135(port);
578 if (uart->automode)
581 men_z135_handle_tx(uart);
592 struct men_z135_port *uart = to_men_z135(port);
594 men_z135_reg_clr(uart, MEN_Z135_CONF_REG, MEN_Z135_IER_RXCIEN);
605 struct men_z135_port *uart = to_men_z135(port);
607 men_z135_reg_set(uart, MEN_Z135_CONF_REG, MEN_Z135_IER_MSIEN);
612 struct men_z135_port *uart = to_men_z135(port);
616 err = men_z135_request_irq(uart);
638 struct men_z135_port *uart = to_men_z135(port);
643 men_z135_reg_clr(uart, MEN_Z135_CONF_REG, conf_reg);
645 free_irq(uart->port.irq, uart);
652 struct men_z135_port *uart = to_men_z135(port);
696 uart->automode = true;
700 uart->automode = false;
732 struct men_z135_port *uart = to_men_z135(port);
737 mcb_release_mem(uart->mem);
742 struct men_z135_port *uart = to_men_z135(port);
743 struct mcb_device *mdev = uart->mdev;
746 mem = mcb_request_mem(uart->mdev, dev_name(&mdev->dev));
751 uart->mem = mem;
807 * new uart port to the tty layer.
812 struct men_z135_port *uart;
819 uart = devm_kzalloc(dev, sizeof(struct men_z135_port), GFP_KERNEL);
820 if (!uart)
823 uart->rxbuf = (unsigned char *)__get_free_page(GFP_KERNEL);
824 if (!uart->rxbuf)
829 mcb_set_drvdata(mdev, uart);
831 uart->port.uartclk = MEN_Z135_BASECLK * 16;
832 uart->port.fifosize = MEN_Z135_FIFO_SIZE;
833 uart->port.iotype = UPIO_MEM;
834 uart->port.ops = &men_z135_ops;
835 uart->port.irq = mcb_get_irq(mdev);
836 uart->port.iotype = UPIO_MEM;
837 uart->port.flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP;
838 uart->port.line = line++;
839 uart->port.dev = dev;
840 uart->port.type = PORT_MEN_Z135;
841 uart->port.mapbase = mem->start;
842 uart->port.membase = NULL;
843 uart->mdev = mdev;
845 spin_lock_init(&uart->lock);
847 err = uart_add_one_port(&men_z135_driver, &uart->port);
854 free_page((unsigned long) uart->rxbuf);
867 struct men_z135_port *uart = mcb_get_drvdata(mdev);
870 uart_remove_one_port(&men_z135_driver, &uart->port);
871 free_page((unsigned long) uart->rxbuf);
882 .name = "z135-uart",