Lines Matching refs:uart
67 struct timbuart_port *uart = in timbuart_start_tx() local
71 tasklet_schedule(&uart->tasklet); in timbuart_start_tx()
133 struct timbuart_port *uart = in timbuart_handle_tx_port() local
152 *ier |= uart->last_ier & TXFLAGS; in timbuart_handle_tx_port()
189 struct timbuart_port *uart = (struct timbuart_port *)arg; in timbuart_tasklet() local
192 spin_lock(&uart->port.lock); in timbuart_tasklet()
194 isr = ioread32(uart->port.membase + TIMBUART_ISR); in timbuart_tasklet()
195 dev_dbg(uart->port.dev, "%s ISR: %x\n", __func__, isr); in timbuart_tasklet()
197 if (!uart->usedma) in timbuart_tasklet()
198 timbuart_handle_tx_port(&uart->port, isr, &ier); in timbuart_tasklet()
200 timbuart_mctrl_check(&uart->port, isr, &ier); in timbuart_tasklet()
202 if (!uart->usedma) in timbuart_tasklet()
203 timbuart_handle_rx_port(&uart->port, isr, &ier); in timbuart_tasklet()
205 iowrite32(ier, uart->port.membase + TIMBUART_IER); in timbuart_tasklet()
207 spin_unlock(&uart->port.lock); in timbuart_tasklet()
208 dev_dbg(uart->port.dev, "%s leaving\n", __func__); in timbuart_tasklet()
254 struct timbuart_port *uart = in timbuart_startup() local
266 "timb-uart", uart); in timbuart_startup()
271 struct timbuart_port *uart = in timbuart_shutdown() local
274 free_irq(port->irq, uart); in timbuart_shutdown()
363 struct timbuart_port *uart = (struct timbuart_port *)devid; in timbuart_handleinterrupt() local
365 if (ioread8(uart->port.membase + TIMBUART_IPR)) { in timbuart_handleinterrupt()
366 uart->last_ier = ioread32(uart->port.membase + TIMBUART_IER); in timbuart_handleinterrupt()
369 iowrite32(0, uart->port.membase + TIMBUART_IER); in timbuart_handleinterrupt()
372 tasklet_schedule(&uart->tasklet); in timbuart_handleinterrupt()
428 struct timbuart_port *uart; in timbuart_probe() local
433 uart = kzalloc(sizeof(*uart), GFP_KERNEL); in timbuart_probe()
434 if (!uart) { in timbuart_probe()
439 uart->usedma = 0; in timbuart_probe()
441 uart->port.uartclk = 3250000 * 16; in timbuart_probe()
442 uart->port.fifosize = TIMBUART_FIFO_SIZE; in timbuart_probe()
443 uart->port.regshift = 2; in timbuart_probe()
444 uart->port.iotype = UPIO_MEM; in timbuart_probe()
445 uart->port.ops = &timbuart_ops; in timbuart_probe()
446 uart->port.irq = 0; in timbuart_probe()
447 uart->port.flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP; in timbuart_probe()
448 uart->port.line = 0; in timbuart_probe()
449 uart->port.dev = &dev->dev; in timbuart_probe()
456 uart->port.mapbase = iomem->start; in timbuart_probe()
457 uart->port.membase = NULL; in timbuart_probe()
464 uart->port.irq = irq; in timbuart_probe()
466 tasklet_init(&uart->tasklet, timbuart_tasklet, (unsigned long)uart); in timbuart_probe()
472 err = uart_add_one_port(&timbuart_driver, &uart->port); in timbuart_probe()
476 platform_set_drvdata(dev, uart); in timbuart_probe()
483 kfree(uart); in timbuart_probe()
493 struct timbuart_port *uart = platform_get_drvdata(dev); in timbuart_remove() local
495 tasklet_kill(&uart->tasklet); in timbuart_remove()
496 uart_remove_one_port(&timbuart_driver, &uart->port); in timbuart_remove()
498 kfree(uart); in timbuart_remove()