Lines Matching refs:ourport

158 static void s3c24xx_serial_tx_chars(struct s3c24xx_uart_port *ourport);
246 struct s3c24xx_uart_port *ourport = to_ourport(port); in s3c24xx_serial_rx_enable() local
264 ourport->rx_enabled = 1; in s3c24xx_serial_rx_enable()
270 struct s3c24xx_uart_port *ourport = to_ourport(port); in s3c24xx_serial_rx_disable() local
280 ourport->rx_enabled = 0; in s3c24xx_serial_rx_disable()
286 struct s3c24xx_uart_port *ourport = to_ourport(port); in s3c24xx_serial_stop_tx() local
287 struct s3c24xx_uart_dma *dma = ourport->dma; in s3c24xx_serial_stop_tx()
291 if (!ourport->tx_enabled) in s3c24xx_serial_stop_tx()
294 switch (ourport->info->type) { in s3c24xx_serial_stop_tx()
302 disable_irq_nosync(ourport->tx_irq); in s3c24xx_serial_stop_tx()
306 if (dma && dma->tx_chan && ourport->tx_in_progress == S3C24XX_TX_DMA) { in s3c24xx_serial_stop_tx()
318 ourport->tx_enabled = 0; in s3c24xx_serial_stop_tx()
319 ourport->tx_in_progress = 0; in s3c24xx_serial_stop_tx()
324 ourport->tx_mode = 0; in s3c24xx_serial_stop_tx()
327 static void s3c24xx_serial_start_next_tx(struct s3c24xx_uart_port *ourport);
331 struct s3c24xx_uart_port *ourport = args; in s3c24xx_serial_tx_dma_complete() local
332 struct uart_port *port = &ourport->port; in s3c24xx_serial_tx_dma_complete()
334 struct s3c24xx_uart_dma *dma = ourport->dma; in s3c24xx_serial_tx_dma_complete()
350 ourport->tx_in_progress = 0; in s3c24xx_serial_tx_dma_complete()
355 s3c24xx_serial_start_next_tx(ourport); in s3c24xx_serial_tx_dma_complete()
359 static void enable_tx_dma(struct s3c24xx_uart_port *ourport) in enable_tx_dma() argument
361 const struct uart_port *port = &ourport->port; in enable_tx_dma()
365 switch (ourport->info->type) { in enable_tx_dma()
373 disable_irq_nosync(ourport->tx_irq); in enable_tx_dma()
384 ourport->tx_mode = S3C24XX_TX_DMA; in enable_tx_dma()
387 static void enable_tx_pio(struct s3c24xx_uart_port *ourport) in enable_tx_pio() argument
389 const struct uart_port *port = &ourport->port; in enable_tx_pio()
393 ourport->tx_in_progress = S3C24XX_TX_PIO; in enable_tx_pio()
404 switch (ourport->info->type) { in enable_tx_pio()
414 enable_irq(ourport->tx_irq); in enable_tx_pio()
418 ourport->tx_mode = S3C24XX_TX_PIO; in enable_tx_pio()
424 if (ourport->info->type == TYPE_APPLE_S5L) in enable_tx_pio()
425 s3c24xx_serial_tx_chars(ourport); in enable_tx_pio()
428 static void s3c24xx_serial_start_tx_pio(struct s3c24xx_uart_port *ourport) in s3c24xx_serial_start_tx_pio() argument
430 if (ourport->tx_mode != S3C24XX_TX_PIO) in s3c24xx_serial_start_tx_pio()
431 enable_tx_pio(ourport); in s3c24xx_serial_start_tx_pio()
434 static int s3c24xx_serial_start_tx_dma(struct s3c24xx_uart_port *ourport, in s3c24xx_serial_start_tx_dma() argument
437 struct uart_port *port = &ourport->port; in s3c24xx_serial_start_tx_dma()
439 struct s3c24xx_uart_dma *dma = ourport->dma; in s3c24xx_serial_start_tx_dma()
441 if (ourport->tx_mode != S3C24XX_TX_DMA) in s3c24xx_serial_start_tx_dma()
442 enable_tx_dma(ourport); in s3c24xx_serial_start_tx_dma()
455 dev_err(ourport->port.dev, "Unable to get desc for Tx\n"); in s3c24xx_serial_start_tx_dma()
460 dma->tx_desc->callback_param = ourport; in s3c24xx_serial_start_tx_dma()
463 ourport->tx_in_progress = S3C24XX_TX_DMA; in s3c24xx_serial_start_tx_dma()
469 static void s3c24xx_serial_start_next_tx(struct s3c24xx_uart_port *ourport) in s3c24xx_serial_start_next_tx() argument
471 struct uart_port *port = &ourport->port; in s3c24xx_serial_start_next_tx()
483 if (!ourport->dma || !ourport->dma->tx_chan || in s3c24xx_serial_start_next_tx()
484 count < ourport->min_dma_size || in s3c24xx_serial_start_next_tx()
486 s3c24xx_serial_start_tx_pio(ourport); in s3c24xx_serial_start_next_tx()
488 s3c24xx_serial_start_tx_dma(ourport, count); in s3c24xx_serial_start_next_tx()
493 struct s3c24xx_uart_port *ourport = to_ourport(port); in s3c24xx_serial_start_tx() local
496 if (!ourport->tx_enabled) { in s3c24xx_serial_start_tx()
500 ourport->tx_enabled = 1; in s3c24xx_serial_start_tx()
501 if (!ourport->dma || !ourport->dma->tx_chan) in s3c24xx_serial_start_tx()
502 s3c24xx_serial_start_tx_pio(ourport); in s3c24xx_serial_start_tx()
505 if (ourport->dma && ourport->dma->tx_chan) { in s3c24xx_serial_start_tx()
506 if (!uart_circ_empty(xmit) && !ourport->tx_in_progress) in s3c24xx_serial_start_tx()
507 s3c24xx_serial_start_next_tx(ourport); in s3c24xx_serial_start_tx()
511 static void s3c24xx_uart_copy_rx_to_tty(struct s3c24xx_uart_port *ourport, in s3c24xx_uart_copy_rx_to_tty() argument
514 struct s3c24xx_uart_dma *dma = ourport->dma; in s3c24xx_uart_copy_rx_to_tty()
523 ourport->port.icount.rx += count; in s3c24xx_uart_copy_rx_to_tty()
525 dev_err(ourport->port.dev, "No tty port\n"); in s3c24xx_uart_copy_rx_to_tty()
529 ((unsigned char *)(ourport->dma->rx_buf)), count); in s3c24xx_uart_copy_rx_to_tty()
532 dev_err(ourport->port.dev, "RxData copy to tty layer failed\n"); in s3c24xx_uart_copy_rx_to_tty()
538 struct s3c24xx_uart_port *ourport = to_ourport(port); in s3c24xx_serial_stop_rx() local
539 struct s3c24xx_uart_dma *dma = ourport->dma; in s3c24xx_serial_stop_rx()
545 if (ourport->rx_enabled) { in s3c24xx_serial_stop_rx()
547 switch (ourport->info->type) { in s3c24xx_serial_stop_rx()
557 disable_irq_nosync(ourport->rx_irq); in s3c24xx_serial_stop_rx()
560 ourport->rx_enabled = 0; in s3c24xx_serial_stop_rx()
570 s3c24xx_uart_copy_rx_to_tty(ourport, t, received); in s3c24xx_serial_stop_rx()
584 const struct s3c24xx_uart_port *ourport; in s3c24xx_port_to_cfg() local
589 ourport = container_of(port, struct s3c24xx_uart_port, port); in s3c24xx_port_to_cfg()
590 return ourport->cfg; in s3c24xx_port_to_cfg()
593 static int s3c24xx_serial_rx_fifocnt(const struct s3c24xx_uart_port *ourport, in s3c24xx_serial_rx_fifocnt() argument
596 const struct s3c24xx_uart_info *info = ourport->info; in s3c24xx_serial_rx_fifocnt()
599 return ourport->port.fifosize; in s3c24xx_serial_rx_fifocnt()
604 static void s3c64xx_start_rx_dma(struct s3c24xx_uart_port *ourport);
607 struct s3c24xx_uart_port *ourport = args; in s3c24xx_serial_rx_dma_complete() local
608 struct uart_port *port = &ourport->port; in s3c24xx_serial_rx_dma_complete()
610 struct s3c24xx_uart_dma *dma = ourport->dma; in s3c24xx_serial_rx_dma_complete()
612 struct tty_struct *tty = tty_port_tty_get(&ourport->port.state->port); in s3c24xx_serial_rx_dma_complete()
625 s3c24xx_uart_copy_rx_to_tty(ourport, t, received); in s3c24xx_serial_rx_dma_complete()
632 s3c64xx_start_rx_dma(ourport); in s3c24xx_serial_rx_dma_complete()
637 static void s3c64xx_start_rx_dma(struct s3c24xx_uart_port *ourport) in s3c64xx_start_rx_dma() argument
639 struct s3c24xx_uart_dma *dma = ourport->dma; in s3c64xx_start_rx_dma()
648 dev_err(ourport->port.dev, "Unable to get desc for Rx\n"); in s3c64xx_start_rx_dma()
653 dma->rx_desc->callback_param = ourport; in s3c64xx_start_rx_dma()
663 static void enable_rx_dma(struct s3c24xx_uart_port *ourport) in enable_rx_dma() argument
665 struct uart_port *port = &ourport->port; in enable_rx_dma()
683 ourport->rx_mode = S3C24XX_RX_DMA; in enable_rx_dma()
686 static void enable_rx_pio(struct s3c24xx_uart_port *ourport) in enable_rx_pio() argument
688 struct uart_port *port = &ourport->port; in enable_rx_pio()
697 if (ourport->info->type != TYPE_APPLE_S5L) { in enable_rx_pio()
707 ourport->rx_mode = S3C24XX_RX_PIO; in enable_rx_pio()
710 static void s3c24xx_serial_rx_drain_fifo(struct s3c24xx_uart_port *ourport);
715 struct s3c24xx_uart_port *ourport = dev_id; in s3c24xx_serial_rx_chars_dma() local
716 struct uart_port *port = &ourport->port; in s3c24xx_serial_rx_chars_dma()
717 struct s3c24xx_uart_dma *dma = ourport->dma; in s3c24xx_serial_rx_chars_dma()
718 struct tty_struct *tty = tty_port_tty_get(&ourport->port.state->port); in s3c24xx_serial_rx_chars_dma()
728 s3c64xx_start_rx_dma(ourport); in s3c24xx_serial_rx_chars_dma()
729 if (ourport->rx_mode == S3C24XX_RX_PIO) in s3c24xx_serial_rx_chars_dma()
730 enable_rx_dma(ourport); in s3c24xx_serial_rx_chars_dma()
734 if (ourport->rx_mode == S3C24XX_RX_DMA) { in s3c24xx_serial_rx_chars_dma()
739 s3c24xx_uart_copy_rx_to_tty(ourport, t, received); in s3c24xx_serial_rx_chars_dma()
741 enable_rx_pio(ourport); in s3c24xx_serial_rx_chars_dma()
744 s3c24xx_serial_rx_drain_fifo(ourport); in s3c24xx_serial_rx_chars_dma()
759 static void s3c24xx_serial_rx_drain_fifo(struct s3c24xx_uart_port *ourport) in s3c24xx_serial_rx_drain_fifo() argument
761 struct uart_port *port = &ourport->port; in s3c24xx_serial_rx_drain_fifo()
774 fifocnt = s3c24xx_serial_rx_fifocnt(ourport, ufstat); in s3c24xx_serial_rx_drain_fifo()
786 if (ourport->rx_enabled) { in s3c24xx_serial_rx_drain_fifo()
788 ourport->rx_enabled = 0; in s3c24xx_serial_rx_drain_fifo()
796 ourport->rx_enabled = 1; in s3c24xx_serial_rx_drain_fifo()
849 struct s3c24xx_uart_port *ourport = dev_id; in s3c24xx_serial_rx_chars_pio() local
850 struct uart_port *port = &ourport->port; in s3c24xx_serial_rx_chars_pio()
853 s3c24xx_serial_rx_drain_fifo(ourport); in s3c24xx_serial_rx_chars_pio()
861 struct s3c24xx_uart_port *ourport = dev_id; in s3c24xx_serial_rx_irq() local
863 if (ourport->dma && ourport->dma->rx_chan) in s3c24xx_serial_rx_irq()
868 static void s3c24xx_serial_tx_chars(struct s3c24xx_uart_port *ourport) in s3c24xx_serial_tx_chars() argument
870 struct uart_port *port = &ourport->port; in s3c24xx_serial_tx_chars()
876 if (ourport->dma && ourport->dma->tx_chan && in s3c24xx_serial_tx_chars()
877 count >= ourport->min_dma_size) { in s3c24xx_serial_tx_chars()
880 if (count - align >= ourport->min_dma_size) { in s3c24xx_serial_tx_chars()
910 if (rd_regl(port, S3C2410_UFSTAT) & ourport->info->tx_fifofull) in s3c24xx_serial_tx_chars()
919 s3c24xx_serial_start_tx_dma(ourport, dma_count); in s3c24xx_serial_tx_chars()
932 struct s3c24xx_uart_port *ourport = id; in s3c24xx_serial_tx_irq() local
933 struct uart_port *port = &ourport->port; in s3c24xx_serial_tx_irq()
937 s3c24xx_serial_tx_chars(ourport); in s3c24xx_serial_tx_irq()
946 const struct s3c24xx_uart_port *ourport = id; in s3c64xx_serial_handle_irq() local
947 const struct uart_port *port = &ourport->port; in s3c64xx_serial_handle_irq()
965 const struct s3c24xx_uart_port *ourport = id; in apple_serial_handle_irq() local
966 const struct uart_port *port = &ourport->port; in apple_serial_handle_irq()
1170 struct s3c24xx_uart_port *ourport = to_ourport(port); in s3c24xx_serial_shutdown() local
1172 if (ourport->tx_claimed) { in s3c24xx_serial_shutdown()
1173 free_irq(ourport->tx_irq, ourport); in s3c24xx_serial_shutdown()
1174 ourport->tx_enabled = 0; in s3c24xx_serial_shutdown()
1175 ourport->tx_claimed = 0; in s3c24xx_serial_shutdown()
1176 ourport->tx_mode = 0; in s3c24xx_serial_shutdown()
1179 if (ourport->rx_claimed) { in s3c24xx_serial_shutdown()
1180 free_irq(ourport->rx_irq, ourport); in s3c24xx_serial_shutdown()
1181 ourport->rx_claimed = 0; in s3c24xx_serial_shutdown()
1182 ourport->rx_enabled = 0; in s3c24xx_serial_shutdown()
1185 if (ourport->dma) in s3c24xx_serial_shutdown()
1186 s3c24xx_serial_release_dma(ourport); in s3c24xx_serial_shutdown()
1188 ourport->tx_in_progress = 0; in s3c24xx_serial_shutdown()
1193 struct s3c24xx_uart_port *ourport = to_ourport(port); in s3c64xx_serial_shutdown() local
1195 ourport->tx_enabled = 0; in s3c64xx_serial_shutdown()
1196 ourport->tx_mode = 0; in s3c64xx_serial_shutdown()
1197 ourport->rx_enabled = 0; in s3c64xx_serial_shutdown()
1199 free_irq(port->irq, ourport); in s3c64xx_serial_shutdown()
1204 if (ourport->dma) in s3c64xx_serial_shutdown()
1205 s3c24xx_serial_release_dma(ourport); in s3c64xx_serial_shutdown()
1207 ourport->tx_in_progress = 0; in s3c64xx_serial_shutdown()
1212 struct s3c24xx_uart_port *ourport = to_ourport(port); in apple_s5l_serial_shutdown() local
1224 free_irq(port->irq, ourport); in apple_s5l_serial_shutdown()
1226 ourport->tx_enabled = 0; in apple_s5l_serial_shutdown()
1227 ourport->tx_mode = 0; in apple_s5l_serial_shutdown()
1228 ourport->rx_enabled = 0; in apple_s5l_serial_shutdown()
1230 if (ourport->dma) in apple_s5l_serial_shutdown()
1231 s3c24xx_serial_release_dma(ourport); in apple_s5l_serial_shutdown()
1233 ourport->tx_in_progress = 0; in apple_s5l_serial_shutdown()
1238 struct s3c24xx_uart_port *ourport = to_ourport(port); in s3c24xx_serial_startup() local
1241 ourport->rx_enabled = 1; in s3c24xx_serial_startup()
1243 ret = request_irq(ourport->rx_irq, s3c24xx_serial_rx_irq, 0, in s3c24xx_serial_startup()
1244 s3c24xx_serial_portname(port), ourport); in s3c24xx_serial_startup()
1247 dev_err(port->dev, "cannot get irq %d\n", ourport->rx_irq); in s3c24xx_serial_startup()
1251 ourport->rx_claimed = 1; in s3c24xx_serial_startup()
1255 ourport->tx_enabled = 1; in s3c24xx_serial_startup()
1257 ret = request_irq(ourport->tx_irq, s3c24xx_serial_tx_irq, 0, in s3c24xx_serial_startup()
1258 s3c24xx_serial_portname(port), ourport); in s3c24xx_serial_startup()
1261 dev_err(port->dev, "cannot get irq %d\n", ourport->tx_irq); in s3c24xx_serial_startup()
1265 ourport->tx_claimed = 1; in s3c24xx_serial_startup()
1280 struct s3c24xx_uart_port *ourport = to_ourport(port); in s3c64xx_serial_startup() local
1286 if (ourport->dma) { in s3c64xx_serial_startup()
1287 ret = s3c24xx_serial_request_dma(ourport); in s3c64xx_serial_startup()
1289 devm_kfree(port->dev, ourport->dma); in s3c64xx_serial_startup()
1290 ourport->dma = NULL; in s3c64xx_serial_startup()
1295 s3c24xx_serial_portname(port), ourport); in s3c64xx_serial_startup()
1302 ourport->rx_enabled = 1; in s3c64xx_serial_startup()
1303 ourport->tx_enabled = 0; in s3c64xx_serial_startup()
1313 enable_rx_pio(ourport); in s3c64xx_serial_startup()
1325 struct s3c24xx_uart_port *ourport = to_ourport(port); in apple_s5l_serial_startup() local
1333 s3c24xx_serial_portname(port), ourport); in apple_s5l_serial_startup()
1340 ourport->rx_enabled = 1; in apple_s5l_serial_startup()
1341 ourport->tx_enabled = 0; in apple_s5l_serial_startup()
1351 enable_rx_pio(ourport); in apple_s5l_serial_startup()
1367 struct s3c24xx_uart_port *ourport = to_ourport(port); in s3c24xx_serial_pm() local
1370 ourport->pm_level = level; in s3c24xx_serial_pm()
1377 if (!IS_ERR(ourport->baudclk)) in s3c24xx_serial_pm()
1378 clk_disable_unprepare(ourport->baudclk); in s3c24xx_serial_pm()
1380 clk_disable_unprepare(ourport->clk); in s3c24xx_serial_pm()
1384 clk_prepare_enable(ourport->clk); in s3c24xx_serial_pm()
1386 if (!IS_ERR(ourport->baudclk)) in s3c24xx_serial_pm()
1387 clk_prepare_enable(ourport->baudclk); in s3c24xx_serial_pm()
1440 static unsigned int s3c24xx_serial_getclk(struct s3c24xx_uart_port *ourport, in s3c24xx_serial_getclk() argument
1444 const struct s3c24xx_uart_info *info = ourport->info; in s3c24xx_serial_getclk()
1453 if (ourport->cfg->clk_sel && in s3c24xx_serial_getclk()
1454 !(ourport->cfg->clk_sel & (1 << cnt))) in s3c24xx_serial_getclk()
1458 clk = clk_get(ourport->port.dev, clkname); in s3c24xx_serial_getclk()
1464 dev_err(ourport->port.dev, in s3c24xx_serial_getclk()
1470 if (ourport->info->has_divslot) { in s3c24xx_serial_getclk()
1539 struct s3c24xx_uart_port *ourport = to_ourport(port); in s3c24xx_serial_set_termios() local
1558 quot = s3c24xx_serial_getclk(ourport, baud, &clk, &clk_sel); in s3c24xx_serial_set_termios()
1566 if (ourport->baudclk != clk) { in s3c24xx_serial_set_termios()
1571 if (!IS_ERR(ourport->baudclk)) { in s3c24xx_serial_set_termios()
1572 clk_disable_unprepare(ourport->baudclk); in s3c24xx_serial_set_termios()
1573 ourport->baudclk = ERR_PTR(-EINVAL); in s3c24xx_serial_set_termios()
1576 ourport->baudclk = clk; in s3c24xx_serial_set_termios()
1577 ourport->baudclk_rate = clk ? clk_get_rate(clk) : 0; in s3c24xx_serial_set_termios()
1580 if (ourport->info->has_divslot) { in s3c24xx_serial_set_termios()
1581 unsigned int div = ourport->baudclk_rate / baud; in s3c24xx_serial_set_termios()
1650 if (ourport->info->has_divslot) in s3c24xx_serial_set_termios()
1691 const struct s3c24xx_uart_port *ourport = to_ourport(port); in s3c24xx_serial_type() local
1693 switch (ourport->info->type) { in s3c24xx_serial_type()
1865 static int s3c24xx_serial_enable_baudclk(struct s3c24xx_uart_port *ourport) in s3c24xx_serial_enable_baudclk() argument
1867 struct device *dev = ourport->port.dev; in s3c24xx_serial_enable_baudclk()
1868 const struct s3c24xx_uart_info *info = ourport->info; in s3c24xx_serial_enable_baudclk()
1875 clk_sel = ourport->cfg->clk_sel ? : info->def_clk_sel; in s3c24xx_serial_enable_baudclk()
1891 ourport->baudclk = clk; in s3c24xx_serial_enable_baudclk()
1892 ourport->baudclk_rate = clk_get_rate(clk); in s3c24xx_serial_enable_baudclk()
1893 s3c24xx_serial_setsource(&ourport->port, clk_num); in s3c24xx_serial_enable_baudclk()
1906 static int s3c24xx_serial_init_port(struct s3c24xx_uart_port *ourport, in s3c24xx_serial_init_port() argument
1909 struct uart_port *port = &ourport->port; in s3c24xx_serial_init_port()
1910 const struct s3c2410_uartcfg *cfg = ourport->cfg; in s3c24xx_serial_init_port()
1952 ourport->rx_irq = ret; in s3c24xx_serial_init_port()
1953 ourport->tx_irq = ret + 1; in s3c24xx_serial_init_port()
1956 switch (ourport->info->type) { in s3c24xx_serial_init_port()
1960 ourport->tx_irq = ret; in s3c24xx_serial_init_port()
1972 ourport->dma = devm_kzalloc(port->dev, in s3c24xx_serial_init_port()
1973 sizeof(*ourport->dma), in s3c24xx_serial_init_port()
1975 if (!ourport->dma) { in s3c24xx_serial_init_port()
1981 ourport->clk = clk_get(&platdev->dev, "uart"); in s3c24xx_serial_init_port()
1982 if (IS_ERR(ourport->clk)) { in s3c24xx_serial_init_port()
1985 ret = PTR_ERR(ourport->clk); in s3c24xx_serial_init_port()
1989 ret = clk_prepare_enable(ourport->clk); in s3c24xx_serial_init_port()
1992 clk_put(ourport->clk); in s3c24xx_serial_init_port()
1996 ret = s3c24xx_serial_enable_baudclk(ourport); in s3c24xx_serial_init_port()
2001 switch (ourport->info->type) { in s3c24xx_serial_init_port()
2025 ourport->rx_irq, ourport->tx_irq, port->uartclk); in s3c24xx_serial_init_port()
2054 struct s3c24xx_uart_port *ourport; in s3c24xx_serial_probe() local
2068 ourport = &s3c24xx_serial_ports[index]; in s3c24xx_serial_probe()
2072 ourport->drv_data = s3c24xx_get_driver_data(pdev); in s3c24xx_serial_probe()
2073 if (!ourport->drv_data) { in s3c24xx_serial_probe()
2078 ourport->baudclk = ERR_PTR(-EINVAL); in s3c24xx_serial_probe()
2079 ourport->info = &ourport->drv_data->info; in s3c24xx_serial_probe()
2080 ourport->cfg = (dev_get_platdata(&pdev->dev)) ? in s3c24xx_serial_probe()
2082 &ourport->drv_data->def_cfg; in s3c24xx_serial_probe()
2084 switch (ourport->info->type) { in s3c24xx_serial_probe()
2086 ourport->port.ops = &s3c24xx_serial_ops; in s3c24xx_serial_probe()
2089 ourport->port.ops = &s3c64xx_serial_ops; in s3c24xx_serial_probe()
2092 ourport->port.ops = &apple_s5l_serial_ops; in s3c24xx_serial_probe()
2098 "samsung,uart-fifosize", &ourport->port.fifosize); in s3c24xx_serial_probe()
2103 ourport->port.iotype = UPIO_MEM; in s3c24xx_serial_probe()
2106 ourport->port.iotype = UPIO_MEM32; in s3c24xx_serial_probe()
2116 if (ourport->drv_data->fifosize[index]) in s3c24xx_serial_probe()
2117 ourport->port.fifosize = ourport->drv_data->fifosize[index]; in s3c24xx_serial_probe()
2118 else if (ourport->info->fifosize) in s3c24xx_serial_probe()
2119 ourport->port.fifosize = ourport->info->fifosize; in s3c24xx_serial_probe()
2120 ourport->port.has_sysrq = IS_ENABLED(CONFIG_SERIAL_SAMSUNG_CONSOLE); in s3c24xx_serial_probe()
2126 ourport->min_dma_size = max_t(int, ourport->port.fifosize, in s3c24xx_serial_probe()
2129 dev_dbg(&pdev->dev, "%s: initialising port %p...\n", __func__, ourport); in s3c24xx_serial_probe()
2131 ret = s3c24xx_serial_init_port(ourport, pdev); in s3c24xx_serial_probe()
2144 uart_add_one_port(&s3c24xx_uart_drv, &ourport->port); in s3c24xx_serial_probe()
2145 platform_set_drvdata(pdev, &ourport->port); in s3c24xx_serial_probe()
2152 clk_disable_unprepare(ourport->clk); in s3c24xx_serial_probe()
2153 if (!IS_ERR(ourport->baudclk)) in s3c24xx_serial_probe()
2154 clk_disable_unprepare(ourport->baudclk); in s3c24xx_serial_probe()
2189 struct s3c24xx_uart_port *ourport = to_ourport(port); in s3c24xx_serial_resume() local
2192 clk_prepare_enable(ourport->clk); in s3c24xx_serial_resume()
2193 if (!IS_ERR(ourport->baudclk)) in s3c24xx_serial_resume()
2194 clk_prepare_enable(ourport->baudclk); in s3c24xx_serial_resume()
2196 if (!IS_ERR(ourport->baudclk)) in s3c24xx_serial_resume()
2197 clk_disable_unprepare(ourport->baudclk); in s3c24xx_serial_resume()
2198 clk_disable_unprepare(ourport->clk); in s3c24xx_serial_resume()
2209 struct s3c24xx_uart_port *ourport = to_ourport(port); in s3c24xx_serial_resume_noirq() local
2213 switch (ourport->info->type) { in s3c24xx_serial_resume_noirq()
2217 if (ourport->tx_enabled) in s3c24xx_serial_resume_noirq()
2219 if (ourport->rx_enabled) in s3c24xx_serial_resume_noirq()
2221 clk_prepare_enable(ourport->clk); in s3c24xx_serial_resume_noirq()
2222 if (!IS_ERR(ourport->baudclk)) in s3c24xx_serial_resume_noirq()
2223 clk_prepare_enable(ourport->baudclk); in s3c24xx_serial_resume_noirq()
2225 if (!IS_ERR(ourport->baudclk)) in s3c24xx_serial_resume_noirq()
2226 clk_disable_unprepare(ourport->baudclk); in s3c24xx_serial_resume_noirq()
2227 clk_disable_unprepare(ourport->clk); in s3c24xx_serial_resume_noirq()
2234 ret = clk_prepare_enable(ourport->clk); in s3c24xx_serial_resume_noirq()
2239 if (!IS_ERR(ourport->baudclk)) { in s3c24xx_serial_resume_noirq()
2240 ret = clk_prepare_enable(ourport->baudclk); in s3c24xx_serial_resume_noirq()
2243 clk_disable_unprepare(ourport->clk); in s3c24xx_serial_resume_noirq()
2254 if (ourport->tx_enabled) in s3c24xx_serial_resume_noirq()
2256 if (ourport->rx_enabled) in s3c24xx_serial_resume_noirq()
2262 if (!IS_ERR(ourport->baudclk)) in s3c24xx_serial_resume_noirq()
2263 clk_disable_unprepare(ourport->baudclk); in s3c24xx_serial_resume_noirq()
2264 clk_disable_unprepare(ourport->clk); in s3c24xx_serial_resume_noirq()
2326 const struct s3c24xx_uart_port *ourport = to_ourport(port); in s3c24xx_serial_get_poll_char() local
2330 if (s3c24xx_serial_rx_fifocnt(ourport, ufstat) == 0) in s3c24xx_serial_get_poll_char()