stm32port 289 drivers/tty/serial/stm32-usart.c struct stm32_port *stm32port = to_stm32_port(port); stm32port 290 drivers/tty/serial/stm32-usart.c struct stm32_usart_offsets *ofs = &stm32port->info->ofs; stm32port 293 drivers/tty/serial/stm32-usart.c stm32port->tx_dma_busy = false; stm32port 354 drivers/tty/serial/stm32-usart.c struct stm32_port *stm32port = to_stm32_port(port); stm32port 355 drivers/tty/serial/stm32-usart.c struct stm32_usart_offsets *ofs = &stm32port->info->ofs; stm32port 361 drivers/tty/serial/stm32-usart.c if (stm32port->tx_dma_busy) stm32port 364 drivers/tty/serial/stm32-usart.c stm32port->tx_dma_busy = true; stm32port 372 drivers/tty/serial/stm32-usart.c memcpy(&stm32port->tx_buf[0], &xmit->buf[xmit->tail], count); stm32port 381 drivers/tty/serial/stm32-usart.c memcpy(&stm32port->tx_buf[0], &xmit->buf[xmit->tail], one); stm32port 383 drivers/tty/serial/stm32-usart.c memcpy(&stm32port->tx_buf[one], &xmit->buf[0], two); stm32port 386 drivers/tty/serial/stm32-usart.c desc = dmaengine_prep_slave_single(stm32port->tx_ch, stm32port 387 drivers/tty/serial/stm32-usart.c stm32port->tx_dma_buf, stm32port 405 drivers/tty/serial/stm32-usart.c dma_async_issue_pending(stm32port->tx_ch); stm32port 877 drivers/tty/serial/stm32-usart.c struct stm32_port *stm32port = container_of(port, stm32port 879 drivers/tty/serial/stm32-usart.c struct stm32_usart_offsets *ofs = &stm32port->info->ofs; stm32port 880 drivers/tty/serial/stm32-usart.c struct stm32_usart_config *cfg = &stm32port->info->cfg; stm32port 917 drivers/tty/serial/stm32-usart.c static int stm32_init_port(struct stm32_port *stm32port, stm32port 920 drivers/tty/serial/stm32-usart.c struct uart_port *port = &stm32port->port; stm32port 928 drivers/tty/serial/stm32-usart.c port->fifosize = stm32port->info->cfg.fifosize; stm32port 939 drivers/tty/serial/stm32-usart.c if (stm32port->info->cfg.has_wakeup) { stm32port 940 drivers/tty/serial/stm32-usart.c stm32port->wakeirq = platform_get_irq(pdev, 1); stm32port 941 drivers/tty/serial/stm32-usart.c if (stm32port->wakeirq <= 0 && stm32port->wakeirq != -ENXIO) stm32port 942 drivers/tty/serial/stm32-usart.c return stm32port->wakeirq ? : -ENODEV; stm32port 945 drivers/tty/serial/stm32-usart.c stm32port->fifoen = stm32port->info->cfg.has_fifo; stm32port 955 drivers/tty/serial/stm32-usart.c stm32port->clk = devm_clk_get(&pdev->dev, NULL); stm32port 956 drivers/tty/serial/stm32-usart.c if (IS_ERR(stm32port->clk)) stm32port 957 drivers/tty/serial/stm32-usart.c return PTR_ERR(stm32port->clk); stm32port 960 drivers/tty/serial/stm32-usart.c ret = clk_prepare_enable(stm32port->clk); stm32port 964 drivers/tty/serial/stm32-usart.c stm32port->port.uartclk = clk_get_rate(stm32port->clk); stm32port 965 drivers/tty/serial/stm32-usart.c if (!stm32port->port.uartclk) { stm32port 966 drivers/tty/serial/stm32-usart.c clk_disable_unprepare(stm32port->clk); stm32port 1010 drivers/tty/serial/stm32-usart.c static int stm32_of_dma_rx_probe(struct stm32_port *stm32port, stm32port 1013 drivers/tty/serial/stm32-usart.c struct stm32_usart_offsets *ofs = &stm32port->info->ofs; stm32port 1014 drivers/tty/serial/stm32-usart.c struct uart_port *port = &stm32port->port; stm32port 1022 drivers/tty/serial/stm32-usart.c stm32port->rx_ch = dma_request_slave_channel(dev, "rx"); stm32port 1023 drivers/tty/serial/stm32-usart.c if (!stm32port->rx_ch) { stm32port 1027 drivers/tty/serial/stm32-usart.c stm32port->rx_buf = dma_alloc_coherent(&pdev->dev, RX_BUF_L, stm32port 1028 drivers/tty/serial/stm32-usart.c &stm32port->rx_dma_buf, stm32port 1030 drivers/tty/serial/stm32-usart.c if (!stm32port->rx_buf) { stm32port 1040 drivers/tty/serial/stm32-usart.c ret = dmaengine_slave_config(stm32port->rx_ch, &config); stm32port 1048 drivers/tty/serial/stm32-usart.c desc = dmaengine_prep_dma_cyclic(stm32port->rx_ch, stm32port 1049 drivers/tty/serial/stm32-usart.c stm32port->rx_dma_buf, stm32port 1066 drivers/tty/serial/stm32-usart.c dma_async_issue_pending(stm32port->rx_ch); stm32port 1072 drivers/tty/serial/stm32-usart.c RX_BUF_L, stm32port->rx_buf, stm32port 1073 drivers/tty/serial/stm32-usart.c stm32port->rx_dma_buf); stm32port 1076 drivers/tty/serial/stm32-usart.c dma_release_channel(stm32port->rx_ch); stm32port 1077 drivers/tty/serial/stm32-usart.c stm32port->rx_ch = NULL; stm32port 1082 drivers/tty/serial/stm32-usart.c static int stm32_of_dma_tx_probe(struct stm32_port *stm32port, stm32port 1085 drivers/tty/serial/stm32-usart.c struct stm32_usart_offsets *ofs = &stm32port->info->ofs; stm32port 1086 drivers/tty/serial/stm32-usart.c struct uart_port *port = &stm32port->port; stm32port 1091 drivers/tty/serial/stm32-usart.c stm32port->tx_dma_busy = false; stm32port 1094 drivers/tty/serial/stm32-usart.c stm32port->tx_ch = dma_request_slave_channel(dev, "tx"); stm32port 1095 drivers/tty/serial/stm32-usart.c if (!stm32port->tx_ch) { stm32port 1099 drivers/tty/serial/stm32-usart.c stm32port->tx_buf = dma_alloc_coherent(&pdev->dev, TX_BUF_L, stm32port 1100 drivers/tty/serial/stm32-usart.c &stm32port->tx_dma_buf, stm32port 1102 drivers/tty/serial/stm32-usart.c if (!stm32port->tx_buf) { stm32port 1112 drivers/tty/serial/stm32-usart.c ret = dmaengine_slave_config(stm32port->tx_ch, &config); stm32port 1123 drivers/tty/serial/stm32-usart.c TX_BUF_L, stm32port->tx_buf, stm32port 1124 drivers/tty/serial/stm32-usart.c stm32port->tx_dma_buf); stm32port 1127 drivers/tty/serial/stm32-usart.c dma_release_channel(stm32port->tx_ch); stm32port 1128 drivers/tty/serial/stm32-usart.c stm32port->tx_ch = NULL; stm32port 1136 drivers/tty/serial/stm32-usart.c struct stm32_port *stm32port; stm32port 1139 drivers/tty/serial/stm32-usart.c stm32port = stm32_of_get_stm32_port(pdev); stm32port 1140 drivers/tty/serial/stm32-usart.c if (!stm32port) stm32port 1145 drivers/tty/serial/stm32-usart.c stm32port->info = (struct stm32_usart_info *)match->data; stm32port 1149 drivers/tty/serial/stm32-usart.c ret = stm32_init_port(stm32port, pdev); stm32port 1153 drivers/tty/serial/stm32-usart.c if (stm32port->wakeirq > 0) { stm32port 1159 drivers/tty/serial/stm32-usart.c stm32port->wakeirq); stm32port 1166 drivers/tty/serial/stm32-usart.c ret = uart_add_one_port(&stm32_usart_driver, &stm32port->port); stm32port 1170 drivers/tty/serial/stm32-usart.c ret = stm32_of_dma_rx_probe(stm32port, pdev); stm32port 1174 drivers/tty/serial/stm32-usart.c ret = stm32_of_dma_tx_probe(stm32port, pdev); stm32port 1178 drivers/tty/serial/stm32-usart.c platform_set_drvdata(pdev, &stm32port->port); stm32port 1188 drivers/tty/serial/stm32-usart.c if (stm32port->wakeirq > 0) stm32port 1192 drivers/tty/serial/stm32-usart.c if (stm32port->wakeirq > 0) stm32port 1196 drivers/tty/serial/stm32-usart.c clk_disable_unprepare(stm32port->clk); stm32port 1294 drivers/tty/serial/stm32-usart.c struct stm32_port *stm32port; stm32port 1303 drivers/tty/serial/stm32-usart.c stm32port = &stm32_ports[co->index]; stm32port 1311 drivers/tty/serial/stm32-usart.c if (stm32port->port.mapbase == 0 || stm32port->port.membase == NULL) stm32port 1317 drivers/tty/serial/stm32-usart.c return uart_set_options(&stm32port->port, co, baud, parity, bits, flow); stm32port 1401 drivers/tty/serial/stm32-usart.c struct stm32_port *stm32port = container_of(port, stm32port 1404 drivers/tty/serial/stm32-usart.c clk_disable_unprepare(stm32port->clk); stm32port 1412 drivers/tty/serial/stm32-usart.c struct stm32_port *stm32port = container_of(port, stm32port 1415 drivers/tty/serial/stm32-usart.c return clk_prepare_enable(stm32port->clk);