sirfport 32 drivers/tty/serial/sirfsoc_uart.c sirfsoc_uart_pio_tx_chars(struct sirfsoc_uart_port *sirfport, int count); sirfport 69 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 70 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 71 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_fifo_status *ufifo_st = &sirfport->uart_reg->fifo_status; sirfport 78 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 79 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 80 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->hw_flow_ctrl || !sirfport->ms_enabled) sirfport 82 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_REAL_UART) { sirfport 89 drivers/tty/serial/sirfsoc_uart.c if (!gpio_get_value(sirfport->cts_gpio)) sirfport 102 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 103 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 109 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_REAL_UART) sirfport 118 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_REAL_UART) sirfport 128 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->hw_flow_ctrl || !sirfport->ms_enabled) sirfport 130 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_REAL_UART) { sirfport 136 drivers/tty/serial/sirfsoc_uart.c gpio_set_value(sirfport->rts_gpio, 1); sirfport 138 drivers/tty/serial/sirfsoc_uart.c gpio_set_value(sirfport->rts_gpio, 0); sirfport 144 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 145 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 146 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_int_en *uint_en = &sirfport->uart_reg->uart_int_en; sirfport 148 drivers/tty/serial/sirfsoc_uart.c if (sirfport->tx_dma_chan) { sirfport 149 drivers/tty/serial/sirfsoc_uart.c if (sirfport->tx_dma_state == TX_DMA_RUNNING) { sirfport 150 drivers/tty/serial/sirfsoc_uart.c dmaengine_pause(sirfport->tx_dma_chan); sirfport 151 drivers/tty/serial/sirfsoc_uart.c sirfport->tx_dma_state = TX_DMA_PAUSE; sirfport 153 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->is_atlas7) sirfport 162 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_USP_UART) sirfport 165 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->is_atlas7) sirfport 175 drivers/tty/serial/sirfsoc_uart.c static void sirfsoc_uart_tx_with_dma(struct sirfsoc_uart_port *sirfport) sirfport 177 drivers/tty/serial/sirfsoc_uart.c struct uart_port *port = &sirfport->port; sirfport 178 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 179 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_int_en *uint_en = &sirfport->uart_reg->uart_int_en; sirfport 190 drivers/tty/serial/sirfsoc_uart.c if (sirfport->tx_dma_state == TX_DMA_PAUSE) { sirfport 191 drivers/tty/serial/sirfsoc_uart.c dmaengine_resume(sirfport->tx_dma_chan); sirfport 194 drivers/tty/serial/sirfsoc_uart.c if (sirfport->tx_dma_state == TX_DMA_RUNNING) sirfport 196 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->is_atlas7) sirfport 217 drivers/tty/serial/sirfsoc_uart.c pio_tx_size = sirfsoc_uart_pio_tx_chars(sirfport, sirfport 222 drivers/tty/serial/sirfsoc_uart.c sirfsoc_uart_pio_tx_chars(sirfport, tran_size); sirfport 223 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->is_atlas7) sirfport 240 drivers/tty/serial/sirfsoc_uart.c sirfport->tx_dma_addr = dma_map_single(port->dev, sirfport 243 drivers/tty/serial/sirfsoc_uart.c sirfport->tx_dma_desc = dmaengine_prep_slave_single( sirfport 244 drivers/tty/serial/sirfsoc_uart.c sirfport->tx_dma_chan, sirfport->tx_dma_addr, sirfport 246 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->tx_dma_desc) { sirfport 250 drivers/tty/serial/sirfsoc_uart.c sirfport->tx_dma_desc->callback = sirfport 252 drivers/tty/serial/sirfsoc_uart.c sirfport->tx_dma_desc->callback_param = (void *)sirfport; sirfport 253 drivers/tty/serial/sirfsoc_uart.c sirfport->transfer_size = tran_size; sirfport 255 drivers/tty/serial/sirfsoc_uart.c dmaengine_submit(sirfport->tx_dma_desc); sirfport 256 drivers/tty/serial/sirfsoc_uart.c dma_async_issue_pending(sirfport->tx_dma_chan); sirfport 257 drivers/tty/serial/sirfsoc_uart.c sirfport->tx_dma_state = TX_DMA_RUNNING; sirfport 263 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 264 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 265 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_int_en *uint_en = &sirfport->uart_reg->uart_int_en; sirfport 266 drivers/tty/serial/sirfsoc_uart.c if (sirfport->tx_dma_chan) sirfport 267 drivers/tty/serial/sirfsoc_uart.c sirfsoc_uart_tx_with_dma(sirfport); sirfport 269 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_USP_UART) sirfport 273 drivers/tty/serial/sirfsoc_uart.c sirfsoc_uart_pio_tx_chars(sirfport, port->fifosize); sirfport 275 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->is_atlas7) sirfport 287 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 288 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 289 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_int_en *uint_en = &sirfport->uart_reg->uart_int_en; sirfport 292 drivers/tty/serial/sirfsoc_uart.c if (sirfport->rx_dma_chan) { sirfport 293 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->is_atlas7) sirfport 297 drivers/tty/serial/sirfsoc_uart.c sirfport->uart_reg->uart_type) | sirfport 302 drivers/tty/serial/sirfsoc_uart.c sirfport->uart_reg->uart_type)| sirfport 304 drivers/tty/serial/sirfsoc_uart.c dmaengine_terminate_all(sirfport->rx_dma_chan); sirfport 306 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->is_atlas7) sirfport 310 drivers/tty/serial/sirfsoc_uart.c sirfport->uart_reg->uart_type))); sirfport 314 drivers/tty/serial/sirfsoc_uart.c sirfport->uart_reg->uart_type)); sirfport 320 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 321 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 322 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_int_en *uint_en = &sirfport->uart_reg->uart_int_en; sirfport 324 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->hw_flow_ctrl) sirfport 326 drivers/tty/serial/sirfsoc_uart.c sirfport->ms_enabled = false; sirfport 327 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_REAL_UART) { sirfport 330 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->is_atlas7) sirfport 338 drivers/tty/serial/sirfsoc_uart.c disable_irq(gpio_to_irq(sirfport->cts_gpio)); sirfport 343 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = (struct sirfsoc_uart_port *)dev_id; sirfport 344 drivers/tty/serial/sirfsoc_uart.c struct uart_port *port = &sirfport->port; sirfport 346 drivers/tty/serial/sirfsoc_uart.c if (gpio_is_valid(sirfport->cts_gpio) && sirfport->ms_enabled) sirfport 348 drivers/tty/serial/sirfsoc_uart.c !gpio_get_value(sirfport->cts_gpio)); sirfport 355 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 356 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 357 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_int_en *uint_en = &sirfport->uart_reg->uart_int_en; sirfport 359 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->hw_flow_ctrl) sirfport 361 drivers/tty/serial/sirfsoc_uart.c sirfport->ms_enabled = true; sirfport 362 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_REAL_UART) { sirfport 367 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->is_atlas7) sirfport 375 drivers/tty/serial/sirfsoc_uart.c enable_irq(gpio_to_irq(sirfport->cts_gpio)); sirfport 380 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 381 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 382 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_REAL_UART) { sirfport 395 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 396 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 397 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_fifo_status *ufifo_st = &sirfport->uart_reg->fifo_status; sirfport 421 drivers/tty/serial/sirfsoc_uart.c sirfsoc_uart_pio_tx_chars(struct sirfsoc_uart_port *sirfport, int count) sirfport 423 drivers/tty/serial/sirfsoc_uart.c struct uart_port *port = &sirfport->port; sirfport 424 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 425 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_fifo_status *ufifo_st = &sirfport->uart_reg->fifo_status; sirfport 445 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = (struct sirfsoc_uart_port *)param; sirfport 446 drivers/tty/serial/sirfsoc_uart.c struct uart_port *port = &sirfport->port; sirfport 451 drivers/tty/serial/sirfsoc_uart.c xmit->tail = (xmit->tail + sirfport->transfer_size) & sirfport 453 drivers/tty/serial/sirfsoc_uart.c port->icount.tx += sirfport->transfer_size; sirfport 456 drivers/tty/serial/sirfsoc_uart.c if (sirfport->tx_dma_addr) sirfport 457 drivers/tty/serial/sirfsoc_uart.c dma_unmap_single(port->dev, sirfport->tx_dma_addr, sirfport 458 drivers/tty/serial/sirfsoc_uart.c sirfport->transfer_size, DMA_TO_DEVICE); sirfport 459 drivers/tty/serial/sirfsoc_uart.c sirfport->tx_dma_state = TX_DMA_IDLE; sirfport 460 drivers/tty/serial/sirfsoc_uart.c sirfsoc_uart_tx_with_dma(sirfport); sirfport 469 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = (struct sirfsoc_uart_port *)dev_id; sirfport 470 drivers/tty/serial/sirfsoc_uart.c struct uart_port *port = &sirfport->port; sirfport 471 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 472 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_fifo_status *ufifo_st = &sirfport->uart_reg->fifo_status; sirfport 473 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_int_status *uint_st = &sirfport->uart_reg->uart_int_st; sirfport 474 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_int_en *uint_en = &sirfport->uart_reg->uart_int_en; sirfport 482 drivers/tty/serial/sirfsoc_uart.c sirfport->uart_reg->uart_type)))) { sirfport 508 drivers/tty/serial/sirfsoc_uart.c if ((sirfport->uart_reg->uart_type == SIRF_REAL_UART) && sirfport 510 drivers/tty/serial/sirfsoc_uart.c !sirfport->tx_dma_state) { sirfport 520 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->rx_dma_chan && sirfport 533 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->is_atlas7) { sirfport 548 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->is_atlas7) { sirfport 570 drivers/tty/serial/sirfsoc_uart.c if (sirfport->tx_dma_chan) sirfport 571 drivers/tty/serial/sirfsoc_uart.c sirfsoc_uart_tx_with_dma(sirfport); sirfport 577 drivers/tty/serial/sirfsoc_uart.c sirfsoc_uart_pio_tx_chars(sirfport, sirfport 598 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 599 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 600 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_int_en *uint_en = &sirfport->uart_reg->uart_int_en; sirfport 604 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.xmit.tail = sirfport 605 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.xmit.head = 0; sirfport 606 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.desc = sirfport 607 drivers/tty/serial/sirfsoc_uart.c dmaengine_prep_dma_cyclic(sirfport->rx_dma_chan, sirfport 608 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.dma_addr, SIRFSOC_RX_DMA_BUF_SIZE, sirfport 611 drivers/tty/serial/sirfsoc_uart.c if (IS_ERR_OR_NULL(sirfport->rx_dma_items.desc)) { sirfport 615 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.desc->callback = sirfport 617 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.desc->callback_param = sirfport; sirfport 618 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.cookie = sirfport 619 drivers/tty/serial/sirfsoc_uart.c dmaengine_submit(sirfport->rx_dma_items.desc); sirfport 620 drivers/tty/serial/sirfsoc_uart.c dma_async_issue_pending(sirfport->rx_dma_chan); sirfport 621 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->is_atlas7) sirfport 625 drivers/tty/serial/sirfsoc_uart.c sirfport->uart_reg->uart_type)); sirfport 629 drivers/tty/serial/sirfsoc_uart.c sirfport->uart_reg->uart_type)); sirfport 697 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 698 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 699 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_int_en *uint_en = &sirfport->uart_reg->uart_int_en; sirfport 741 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_REAL_UART) { sirfport 751 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_REAL_UART) { sirfport 788 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->ms_enabled) sirfport 791 drivers/tty/serial/sirfsoc_uart.c if (sirfport->ms_enabled) sirfport 801 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_REAL_UART) { sirfport 827 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_REAL_UART) { sirfport 855 drivers/tty/serial/sirfsoc_uart.c if (sirfport->tx_dma_chan) sirfport 859 drivers/tty/serial/sirfsoc_uart.c if (sirfport->rx_dma_chan) sirfport 867 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_period_time = 20000000; sirfport 887 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 889 drivers/tty/serial/sirfsoc_uart.c clk_prepare_enable(sirfport->clk); sirfport 891 drivers/tty/serial/sirfsoc_uart.c clk_disable_unprepare(sirfport->clk); sirfport 896 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 897 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 898 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_int_en *uint_en = &sirfport->uart_reg->uart_int_en; sirfport 906 drivers/tty/serial/sirfsoc_uart.c sirfport); sirfport 925 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_USP_UART) sirfport 934 drivers/tty/serial/sirfsoc_uart.c if (sirfport->rx_dma_chan) sirfport 939 drivers/tty/serial/sirfsoc_uart.c if (sirfport->tx_dma_chan) { sirfport 940 drivers/tty/serial/sirfsoc_uart.c sirfport->tx_dma_state = TX_DMA_IDLE; sirfport 946 drivers/tty/serial/sirfsoc_uart.c sirfport->ms_enabled = false; sirfport 947 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_USP_UART && sirfport 948 drivers/tty/serial/sirfsoc_uart.c sirfport->hw_flow_ctrl) { sirfport 949 drivers/tty/serial/sirfsoc_uart.c irq_modify_status(gpio_to_irq(sirfport->cts_gpio), sirfport 951 drivers/tty/serial/sirfsoc_uart.c ret = request_irq(gpio_to_irq(sirfport->cts_gpio), sirfport 953 drivers/tty/serial/sirfsoc_uart.c IRQF_TRIGGER_RISING, "usp_cts_irq", sirfport); sirfport 959 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_REAL_UART && sirfport 960 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_chan) sirfport 963 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_USP_UART && sirfport 964 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_chan) sirfport 968 drivers/tty/serial/sirfsoc_uart.c if (sirfport->rx_dma_chan && !sirfport->is_hrt_enabled) { sirfport 969 drivers/tty/serial/sirfsoc_uart.c sirfport->is_hrt_enabled = true; sirfport 970 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_period_time = 20000000; sirfport 971 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_last_pos = -1; sirfport 972 drivers/tty/serial/sirfsoc_uart.c sirfport->pio_fetch_cnt = 0; sirfport 973 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.xmit.tail = sirfport 974 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.xmit.head = 0; sirfport 975 drivers/tty/serial/sirfsoc_uart.c hrtimer_start(&sirfport->hrt, sirfport 976 drivers/tty/serial/sirfsoc_uart.c ns_to_ktime(sirfport->rx_period_time), sirfport 980 drivers/tty/serial/sirfsoc_uart.c if (sirfport->rx_dma_chan) sirfport 983 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->is_atlas7) sirfport 987 drivers/tty/serial/sirfsoc_uart.c sirfport->uart_reg->uart_type)); sirfport 991 drivers/tty/serial/sirfsoc_uart.c sirfport->uart_reg->uart_type)); sirfport 997 drivers/tty/serial/sirfsoc_uart.c free_irq(port->irq, sirfport); sirfport 1004 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 1005 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 1008 drivers/tty/serial/sirfsoc_uart.c xmit = &sirfport->rx_dma_items.xmit; sirfport 1009 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->is_atlas7) sirfport 1014 drivers/tty/serial/sirfsoc_uart.c free_irq(port->irq, sirfport); sirfport 1015 drivers/tty/serial/sirfsoc_uart.c if (sirfport->ms_enabled) sirfport 1017 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_USP_UART && sirfport 1018 drivers/tty/serial/sirfsoc_uart.c sirfport->hw_flow_ctrl) { sirfport 1019 drivers/tty/serial/sirfsoc_uart.c gpio_set_value(sirfport->rts_gpio, 1); sirfport 1020 drivers/tty/serial/sirfsoc_uart.c free_irq(gpio_to_irq(sirfport->cts_gpio), sirfport); sirfport 1022 drivers/tty/serial/sirfsoc_uart.c if (sirfport->tx_dma_chan) sirfport 1023 drivers/tty/serial/sirfsoc_uart.c sirfport->tx_dma_state = TX_DMA_IDLE; sirfport 1024 drivers/tty/serial/sirfsoc_uart.c if (sirfport->rx_dma_chan && sirfport->is_hrt_enabled) { sirfport 1026 drivers/tty/serial/sirfsoc_uart.c SIRFUART_RX_FIFO_MASK) > sirfport->pio_fetch_cnt) && sirfport 1030 drivers/tty/serial/sirfsoc_uart.c sirfport->is_hrt_enabled = false; sirfport 1031 drivers/tty/serial/sirfsoc_uart.c hrtimer_cancel(&sirfport->hrt); sirfport 1042 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 1043 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_param *uart_param = &sirfport->uart_reg->uart_param; sirfport 1090 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport; sirfport 1094 drivers/tty/serial/sirfsoc_uart.c sirfport = sirf_ports[co->index]; sirfport 1095 drivers/tty/serial/sirfsoc_uart.c if (!sirfport) sirfport 1097 drivers/tty/serial/sirfsoc_uart.c ureg = &sirfport->uart_reg->uart_reg; sirfport 1098 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->port.mapbase) sirfport 1102 drivers/tty/serial/sirfsoc_uart.c if (sirfport->uart_reg->uart_type == SIRF_USP_UART) sirfport 1103 drivers/tty/serial/sirfsoc_uart.c wr_regl(&sirfport->port, ureg->sirfsoc_mode1, SIRFSOC_USP_EN | sirfport 1107 drivers/tty/serial/sirfsoc_uart.c sirfport->port.cons = co; sirfport 1110 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_chan = NULL; sirfport 1111 drivers/tty/serial/sirfsoc_uart.c sirfport->tx_dma_chan = NULL; sirfport 1112 drivers/tty/serial/sirfsoc_uart.c return uart_set_options(&sirfport->port, co, baud, parity, bits, flow); sirfport 1117 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = to_sirfport(port); sirfport 1118 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_register *ureg = &sirfport->uart_reg->uart_reg; sirfport 1119 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_fifo_status *ufifo_st = &sirfport->uart_reg->fifo_status; sirfport 1129 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = sirf_ports[co->index]; sirfport 1131 drivers/tty/serial/sirfsoc_uart.c uart_console_write(&sirfport->port, s, count, sirfport 1170 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport; sirfport 1180 drivers/tty/serial/sirfsoc_uart.c sirfport = container_of(hrt, struct sirfsoc_uart_port, hrt); sirfport 1181 drivers/tty/serial/sirfsoc_uart.c port = &sirfport->port; sirfport 1184 drivers/tty/serial/sirfsoc_uart.c ureg = &sirfport->uart_reg->uart_reg; sirfport 1185 drivers/tty/serial/sirfsoc_uart.c xmit = &sirfport->rx_dma_items.xmit; sirfport 1186 drivers/tty/serial/sirfsoc_uart.c ufifo_st = &sirfport->uart_reg->fifo_status; sirfport 1188 drivers/tty/serial/sirfsoc_uart.c dmaengine_tx_status(sirfport->rx_dma_chan, sirfport 1189 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.cookie, &tx_state); sirfport 1191 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_last_pos) { sirfport 1193 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_last_pos = xmit->head; sirfport 1194 drivers/tty/serial/sirfsoc_uart.c sirfport->pio_fetch_cnt = 0; sirfport 1217 drivers/tty/serial/sirfsoc_uart.c SIRFUART_RX_FIFO_MASK) > sirfport->pio_fetch_cnt)) { sirfport 1218 drivers/tty/serial/sirfsoc_uart.c dmaengine_pause(sirfport->rx_dma_chan); sirfport 1242 drivers/tty/serial/sirfsoc_uart.c sirfport->pio_fetch_cnt++; sirfport 1248 drivers/tty/serial/sirfsoc_uart.c dmaengine_resume(sirfport->rx_dma_chan); sirfport 1251 drivers/tty/serial/sirfsoc_uart.c hrtimer_forward_now(hrt, ns_to_ktime(sirfport->rx_period_time)); sirfport 1267 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport; sirfport 1280 drivers/tty/serial/sirfsoc_uart.c sirfport = devm_kzalloc(&pdev->dev, sizeof(*sirfport), GFP_KERNEL); sirfport 1281 drivers/tty/serial/sirfsoc_uart.c if (!sirfport) { sirfport 1285 drivers/tty/serial/sirfsoc_uart.c sirfport->port.line = of_alias_get_id(np, "serial"); sirfport 1286 drivers/tty/serial/sirfsoc_uart.c if (sirfport->port.line >= ARRAY_SIZE(sirf_ports)) { sirfport 1288 drivers/tty/serial/sirfsoc_uart.c sirfport->port.line); sirfport 1291 drivers/tty/serial/sirfsoc_uart.c sirf_ports[sirfport->port.line] = sirfport; sirfport 1292 drivers/tty/serial/sirfsoc_uart.c sirfport->port.iotype = UPIO_MEM; sirfport 1293 drivers/tty/serial/sirfsoc_uart.c sirfport->port.flags = UPF_BOOT_AUTOCONF; sirfport 1294 drivers/tty/serial/sirfsoc_uart.c port = &sirfport->port; sirfport 1296 drivers/tty/serial/sirfsoc_uart.c port->private_data = sirfport; sirfport 1297 drivers/tty/serial/sirfsoc_uart.c sirfport->uart_reg = (struct sirfsoc_uart_register *)match->data; sirfport 1299 drivers/tty/serial/sirfsoc_uart.c sirfport->hw_flow_ctrl = sirfport 1304 drivers/tty/serial/sirfsoc_uart.c sirfport->uart_reg->uart_type = SIRF_REAL_UART; sirfport 1307 drivers/tty/serial/sirfsoc_uart.c sirfport->uart_reg->uart_type = SIRF_USP_UART; sirfport 1308 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->hw_flow_ctrl) sirfport 1311 drivers/tty/serial/sirfsoc_uart.c sirfport->cts_gpio = sirfport 1314 drivers/tty/serial/sirfsoc_uart.c sirfport->cts_gpio = -1; sirfport 1316 drivers/tty/serial/sirfsoc_uart.c sirfport->rts_gpio = sirfport 1319 drivers/tty/serial/sirfsoc_uart.c sirfport->rts_gpio = -1; sirfport 1321 drivers/tty/serial/sirfsoc_uart.c if ((!gpio_is_valid(sirfport->cts_gpio) || sirfport 1322 drivers/tty/serial/sirfsoc_uart.c !gpio_is_valid(sirfport->rts_gpio))) { sirfport 1328 drivers/tty/serial/sirfsoc_uart.c ret = devm_gpio_request(&pdev->dev, sirfport->cts_gpio, sirfport 1334 drivers/tty/serial/sirfsoc_uart.c gpio_direction_input(sirfport->cts_gpio); sirfport 1335 drivers/tty/serial/sirfsoc_uart.c ret = devm_gpio_request(&pdev->dev, sirfport->rts_gpio, sirfport 1341 drivers/tty/serial/sirfsoc_uart.c gpio_direction_output(sirfport->rts_gpio, 1); sirfport 1346 drivers/tty/serial/sirfsoc_uart.c sirfport->is_atlas7 = true; sirfport 1377 drivers/tty/serial/sirfsoc_uart.c sirfport->clk = devm_clk_get(&pdev->dev, NULL); sirfport 1378 drivers/tty/serial/sirfsoc_uart.c if (IS_ERR(sirfport->clk)) { sirfport 1379 drivers/tty/serial/sirfsoc_uart.c ret = PTR_ERR(sirfport->clk); sirfport 1382 drivers/tty/serial/sirfsoc_uart.c port->uartclk = clk_get_rate(sirfport->clk); sirfport 1387 drivers/tty/serial/sirfsoc_uart.c platform_set_drvdata(pdev, sirfport); sirfport 1394 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_chan = dma_request_slave_channel(port->dev, "rx"); sirfport 1395 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.xmit.buf = sirfport 1397 drivers/tty/serial/sirfsoc_uart.c &sirfport->rx_dma_items.dma_addr, GFP_KERNEL); sirfport 1398 drivers/tty/serial/sirfsoc_uart.c if (!sirfport->rx_dma_items.xmit.buf) { sirfport 1403 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.xmit.head = sirfport 1404 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.xmit.tail = 0; sirfport 1405 drivers/tty/serial/sirfsoc_uart.c if (sirfport->rx_dma_chan) sirfport 1406 drivers/tty/serial/sirfsoc_uart.c dmaengine_slave_config(sirfport->rx_dma_chan, &slv_cfg); sirfport 1407 drivers/tty/serial/sirfsoc_uart.c sirfport->tx_dma_chan = dma_request_slave_channel(port->dev, "tx"); sirfport 1408 drivers/tty/serial/sirfsoc_uart.c if (sirfport->tx_dma_chan) sirfport 1409 drivers/tty/serial/sirfsoc_uart.c dmaengine_slave_config(sirfport->tx_dma_chan, &tx_slv_cfg); sirfport 1410 drivers/tty/serial/sirfsoc_uart.c if (sirfport->rx_dma_chan) { sirfport 1411 drivers/tty/serial/sirfsoc_uart.c hrtimer_init(&sirfport->hrt, CLOCK_MONOTONIC, HRTIMER_MODE_REL); sirfport 1412 drivers/tty/serial/sirfsoc_uart.c sirfport->hrt.function = sirfsoc_uart_rx_dma_hrtimer_callback; sirfport 1413 drivers/tty/serial/sirfsoc_uart.c sirfport->is_hrt_enabled = false; sirfport 1419 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.xmit.buf, sirfport 1420 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.dma_addr); sirfport 1421 drivers/tty/serial/sirfsoc_uart.c dma_release_channel(sirfport->rx_dma_chan); sirfport 1428 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = platform_get_drvdata(pdev); sirfport 1429 drivers/tty/serial/sirfsoc_uart.c struct uart_port *port = &sirfport->port; sirfport 1431 drivers/tty/serial/sirfsoc_uart.c if (sirfport->rx_dma_chan) { sirfport 1432 drivers/tty/serial/sirfsoc_uart.c dmaengine_terminate_all(sirfport->rx_dma_chan); sirfport 1433 drivers/tty/serial/sirfsoc_uart.c dma_release_channel(sirfport->rx_dma_chan); sirfport 1435 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.xmit.buf, sirfport 1436 drivers/tty/serial/sirfsoc_uart.c sirfport->rx_dma_items.dma_addr); sirfport 1438 drivers/tty/serial/sirfsoc_uart.c if (sirfport->tx_dma_chan) { sirfport 1439 drivers/tty/serial/sirfsoc_uart.c dmaengine_terminate_all(sirfport->tx_dma_chan); sirfport 1440 drivers/tty/serial/sirfsoc_uart.c dma_release_channel(sirfport->tx_dma_chan); sirfport 1449 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = dev_get_drvdata(pdev); sirfport 1450 drivers/tty/serial/sirfsoc_uart.c struct uart_port *port = &sirfport->port; sirfport 1457 drivers/tty/serial/sirfsoc_uart.c struct sirfsoc_uart_port *sirfport = dev_get_drvdata(pdev); sirfport 1458 drivers/tty/serial/sirfsoc_uart.c struct uart_port *port = &sirfport->port;